Page MenuHomeFreeBSD

D11321.id.diff
No OneTemporary

D11321.id.diff

Index: head/sys/boot/i386/libi386/libi386.h
===================================================================
--- head/sys/boot/i386/libi386/libi386.h
+++ head/sys/boot/i386/libi386/libi386.h
@@ -71,7 +71,10 @@
extern void relocater(void);
-extern uint32_t relocater_data;
+/*
+ * The relocater_data[] is fixed size array allocated in relocater_tramp.S
+ */
+extern struct relocate_data relocater_data[];
extern uint32_t relocater_size;
extern uint16_t relocator_ip;
Index: head/sys/boot/i386/loader/chain.c
===================================================================
--- head/sys/boot/i386/loader/chain.c
+++ head/sys/boot/i386/loader/chain.c
@@ -58,7 +58,6 @@
int fd, len, size = SECTOR_SIZE;
struct stat st;
vm_offset_t mem = 0x100000;
- uint32_t *uintptr = &relocater_data;
struct i386_devdesc *rootdev;
if (argc == 1) {
@@ -108,9 +107,9 @@
return (CMD_ERROR);
}
- uintptr[0] = mem;
- uintptr[1] = 0x7C00;
- uintptr[2] = SECTOR_SIZE;
+ relocater_data[0].src = mem;
+ relocater_data[0].dest = 0x7C00;
+ relocater_data[0].size = SECTOR_SIZE;
relocator_edx = bd_unit2bios(rootdev->d_unit);
relocator_esi = relocater_size;

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 23, 4:49 PM (7 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32034243
Default Alt Text
D11321.id.diff (1 KB)

Event Timeline