//dump_map();
}
+// Symbols defined in romlayout.S
+extern char freespace2_start, freespace2_end;
+
u32 bios_table_cur_addr, bios_table_end_addr;
// Prep for memmap stuff - init bios table locations.
void
memmap_setup()
{
- // Symbols defined in romlayout.S
- extern char freespace2_start, freespace2_end;
-
bios_table_cur_addr = (u32)&freespace2_start;
bios_table_end_addr = (u32)&freespace2_end;
dprintf(1, "bios_table_addr: 0x%08x end=0x%08x\n",
SET_EBDA(e820_count, e820_count);
bios_table_cur_addr += msize;
- dprintf(1, "bios_table_cur_addr: 0x%08x\n", bios_table_cur_addr);
+ dprintf(1, "final bios_table_addr: 0x%08x (used %d%%)\n"
+ , bios_table_cur_addr
+ , (100 * (bios_table_cur_addr - (u32)&freespace2_start)
+ / ((u32)&freespace2_end - (u32)&freespace2_start)));
if (bios_table_cur_addr > bios_table_end_addr)
BX_PANIC("bios_table_end_addr overflow!\n");
}