Merge recent changes to bochs-bios CVS head.
Slightly different order to rom-scanning.
diff --git a/src/post.c b/src/post.c
index a154ac6..f19c44a 100644
--- a/src/post.c
+++ b/src/post.c
@@ -465,10 +465,10 @@
}
static void
-rom_scan()
+rom_scan(u32 start, u32 end)
{
- u8 *p = (u8*)0xc0000;
- for (; p <= (u8*)0xe0000; p += 2048) {
+ u8 *p = (u8*)start;
+ for (; p <= (u8*)end; p += 2048) {
u8 *rom = p;
if (*(u16*)rom != 0xaa55)
continue;
@@ -549,12 +549,14 @@
serial_setup();
timer_setup();
pic_setup();
+
+ rom_scan(0xc0000, 0xc7800);
+
+ printf("BIOS - begin\n\n");
+
// XXX - need to do pci stuff
//pci_setup();
init_boot_vectors();
- rom_scan();
-
- printf("BIOS - begin\n\n");
floppy_drive_post();
hard_drive_post();
@@ -562,6 +564,10 @@
ata_init();
ata_detect();
}
+
+ init_boot_vectors();
+ rom_scan(0xc8000, 0xe0000);
+
callrom(0xf000, OFFSET_begin_boot);
}