Clean up includes of biosvar.h.
Rename GET/SET_EBDA2 to GET/SET_EBDA - nearly all users use the extended form now anyway.
Signed-off-by: Kevin O'Connor kevin@koconnor.net --- src/acpi.c | 2 +- src/ahci.c | 2 +- src/ata.c | 2 +- src/biosvar.h | 11 +++-------- src/block.c | 2 +- src/blockcmd.h | 2 ++ src/bootsplash.c | 1 - src/coreboot.c | 3 ++- src/disk.c | 2 +- src/memmap.c | 2 +- src/mouse.c | 31 ++++++++++++++++--------------- src/mtrr.c | 2 +- src/pcibios.c | 2 +- src/pciinit.c | 3 ++- src/pirtable.c | 2 +- src/post.c | 2 +- src/smbios.c | 1 - src/stacks.c | 8 ++++---- src/xen.h | 3 ++- 19 files changed, 41 insertions(+), 42 deletions(-)
diff --git a/src/acpi.c b/src/acpi.c index 30888b9..5387183 100644 --- a/src/acpi.c +++ b/src/acpi.c @@ -8,9 +8,9 @@ #include "acpi.h" // struct rsdp_descriptor #include "util.h" // memcpy #include "pci.h" // pci_find_init_device -#include "biosvar.h" // GET_EBDA #include "pci_ids.h" // PCI_VENDOR_ID_INTEL #include "pci_regs.h" // PCI_INTERRUPT_LINE +#include "ioport.h" // inl #include "paravirt.h"
/****************************************************/ diff --git a/src/ahci.c b/src/ahci.c index 4abfec5..1176dcc 100644 --- a/src/ahci.c +++ b/src/ahci.c @@ -7,7 +7,7 @@ #include "types.h" // u8 #include "ioport.h" // inb #include "util.h" // dprintf -#include "biosvar.h" // GET_EBDA +#include "biosvar.h" // GET_GLOBAL #include "pci.h" // foreachpci #include "pci_ids.h" // PCI_CLASS_STORAGE_OTHER #include "pci_regs.h" // PCI_INTERRUPT_LINE diff --git a/src/ata.c b/src/ata.c index b8b0cb3..8e3089a 100644 --- a/src/ata.c +++ b/src/ata.c @@ -10,7 +10,7 @@ #include "util.h" // dprintf #include "cmos.h" // inb_cmos #include "pic.h" // enable_hwirq -#include "biosvar.h" // GET_EBDA +#include "biosvar.h" // GET_GLOBAL #include "pci.h" // foreachpci #include "pci_ids.h" // PCI_CLASS_STORAGE_OTHER #include "pci_regs.h" // PCI_INTERRUPT_LINE diff --git a/src/biosvar.h b/src/biosvar.h index 5993718..0716877 100644 --- a/src/biosvar.h +++ b/src/biosvar.h @@ -8,8 +8,7 @@
#include "types.h" // u8 #include "farptr.h" // GET_FARVAR -#include "config.h" // CONFIG_* -#include "disk.h" // struct chs_s +#include "config.h" // SEG_BDA
/**************************************************************** @@ -199,14 +198,10 @@ get_ebda_ptr(void) ASSERT32FLAT(); return MAKE_FLATPTR(get_ebda_seg(), 0); } -#define GET_EBDA2(eseg, var) \ +#define GET_EBDA(eseg, var) \ GET_FARVAR(eseg, ((struct extended_bios_data_area_s *)0)->var) -#define SET_EBDA2(eseg, var, val) \ +#define SET_EBDA(eseg, var, val) \ SET_FARVAR(eseg, ((struct extended_bios_data_area_s *)0)->var, (val)) -#define GET_EBDA(var) \ - GET_EBDA2(get_ebda_seg(), var) -#define SET_EBDA(var, val) \ - SET_EBDA2(get_ebda_seg(), var, (val))
/**************************************************************** diff --git a/src/block.c b/src/block.c index 1ea2b60..44ba9bd 100644 --- a/src/block.c +++ b/src/block.c @@ -350,7 +350,7 @@ __send_disk_op(struct disk_op_s *op_far, u16 op_seg) return status; }
-// Execute a "disk_op_s" request by jumping to a stack in the ebda. +// Execute a "disk_op_s" request by jumping to the extra 16bit stack. int send_disk_op(struct disk_op_s *op) { diff --git a/src/blockcmd.h b/src/blockcmd.h index 8459d3e..b45bbb7 100644 --- a/src/blockcmd.h +++ b/src/blockcmd.h @@ -101,6 +101,7 @@ struct cdbres_mode_sense_geom {
// blockcmd.c int cdb_is_read(u8 *cdbcmd, u16 blocksize); +struct disk_op_s; int cdb_get_inquiry(struct disk_op_s *op, struct cdbres_inquiry *data); int cdb_get_sense(struct disk_op_s *op, struct cdbres_request_sense *data); int cdb_test_unit_ready(struct disk_op_s *op); @@ -111,6 +112,7 @@ int cdb_read(struct disk_op_s *op); int cdb_write(struct disk_op_s *op);
int scsi_is_ready(struct disk_op_s *op); +struct drive_s; int scsi_init_drive(struct drive_s *drive, const char *s, int prio);
#endif // blockcmd.h diff --git a/src/bootsplash.c b/src/bootsplash.c index 76b72c1..f85f734 100644 --- a/src/bootsplash.c +++ b/src/bootsplash.c @@ -10,7 +10,6 @@ #include "config.h" // CONFIG_* #include "util.h" // dprintf #include "jpeg.h" // splash -#include "biosvar.h" // SET_EBDA #include "paravirt.h" // romfile_find #include "vbe.h" // struct vbe_info #include "bmp.h" diff --git a/src/coreboot.c b/src/coreboot.c index 4ae44e5..e116a14 100644 --- a/src/coreboot.c +++ b/src/coreboot.c @@ -6,10 +6,11 @@
#include "memmap.h" // add_e820 #include "util.h" // dprintf -#include "biosvar.h" // GET_EBDA #include "lzmadecode.h" // LzmaDecode #include "smbios.h" // smbios_init #include "boot.h" // boot_add_cbfs +#include "disk.h" // MAXDESCSIZE +#include "config.h" // CONFIG_*
/**************************************************************** diff --git a/src/disk.c b/src/disk.c index a0f0dc3..8095581 100644 --- a/src/disk.c +++ b/src/disk.c @@ -60,7 +60,7 @@ fillLCHS(struct drive_s *drive_g, u16 *nlc, u16 *nlh, u16 *nlspt) { if (CONFIG_CDROM_EMU && drive_g == GLOBALFLAT2GLOBAL(GET_GLOBAL(cdemu_drive_gf))) { - // Emulated drive - get info from ebda. (It's not possible to + // Emulated drive - get info from CDEmu. (It's not possible to // populate the geometry directly in the driveid because the // geometry is only known after the bios segment is made // read-only). diff --git a/src/memmap.c b/src/memmap.c index 56865b4..3783518 100644 --- a/src/memmap.c +++ b/src/memmap.c @@ -5,8 +5,8 @@ // This file may be distributed under the terms of the GNU LGPLv3 license.
#include "memmap.h" // struct e820entry +#include "config.h" // CONFIG_* #include "util.h" // dprintf.h -#include "biosvar.h" // SET_EBDA
/**************************************************************** diff --git a/src/mouse.c b/src/mouse.c index e26cf69..237c8ff 100644 --- a/src/mouse.c +++ b/src/mouse.c @@ -52,7 +52,8 @@ mouse_15c20000(struct bregs *regs) static void mouse_15c20001(struct bregs *regs) { - u8 mouse_flags_2 = GET_EBDA(mouse_flag2); + u16 ebda_seg = get_ebda_seg(); + u8 mouse_flags_2 = GET_EBDA(ebda_seg, mouse_flag2); if ((mouse_flags_2 & 0x80) == 0) { set_code_invalid(regs, RET_ENOHANDLER); return; @@ -158,8 +159,8 @@ mouse_15c205(struct bregs *regs) return; } u16 ebda_seg = get_ebda_seg(); - SET_EBDA2(ebda_seg, mouse_flag1, 0x00); - SET_EBDA2(ebda_seg, mouse_flag2, regs->bh); + SET_EBDA(ebda_seg, mouse_flag1, 0x00); + SET_EBDA(ebda_seg, mouse_flag2, regs->bh);
// Reset Mouse mouse_15c201(regs); @@ -227,7 +228,7 @@ mouse_15c207(struct bregs *regs) { struct segoff_s farptr = SEGOFF(regs->es, regs->bx); u16 ebda_seg = get_ebda_seg(); - u8 mouse_flags_2 = GET_EBDA2(ebda_seg, mouse_flag2); + u8 mouse_flags_2 = GET_EBDA(ebda_seg, mouse_flag2); if (! farptr.segoff) { /* remove handler */ if ((mouse_flags_2 & 0x80) != 0) { @@ -238,8 +239,8 @@ mouse_15c207(struct bregs *regs) /* install handler */ mouse_flags_2 |= 0x80; } - SET_EBDA2(ebda_seg, mouse_flag2, mouse_flags_2); - SET_EBDA2(ebda_seg, far_call_pointer, farptr); + SET_EBDA(ebda_seg, mouse_flag2, mouse_flags_2); + SET_EBDA(ebda_seg, far_call_pointer, farptr); set_code_success(regs); }
@@ -279,8 +280,8 @@ process_mouse(u8 data) return;
u16 ebda_seg = get_ebda_seg(); - u8 mouse_flags_1 = GET_EBDA2(ebda_seg, mouse_flag1); - u8 mouse_flags_2 = GET_EBDA2(ebda_seg, mouse_flag2); + u8 mouse_flags_1 = GET_EBDA(ebda_seg, mouse_flag1); + u8 mouse_flags_2 = GET_EBDA(ebda_seg, mouse_flag2);
if (! (mouse_flags_2 & 0x80)) // far call handler not installed @@ -288,20 +289,20 @@ process_mouse(u8 data)
u8 package_count = mouse_flags_2 & 0x07; u8 index = mouse_flags_1 & 0x07; - SET_EBDA2(ebda_seg, mouse_data[index], data); + SET_EBDA(ebda_seg, mouse_data[index], data);
if ((index+1) < package_count) { mouse_flags_1++; - SET_EBDA2(ebda_seg, mouse_flag1, mouse_flags_1); + SET_EBDA(ebda_seg, mouse_flag1, mouse_flags_1); return; }
- u16 status = GET_EBDA2(ebda_seg, mouse_data[0]); - u16 X = GET_EBDA2(ebda_seg, mouse_data[1]); - u16 Y = GET_EBDA2(ebda_seg, mouse_data[2]); - SET_EBDA2(ebda_seg, mouse_flag1, 0); + u16 status = GET_EBDA(ebda_seg, mouse_data[0]); + u16 X = GET_EBDA(ebda_seg, mouse_data[1]); + u16 Y = GET_EBDA(ebda_seg, mouse_data[2]); + SET_EBDA(ebda_seg, mouse_flag1, 0);
- struct segoff_s func = GET_EBDA2(ebda_seg, far_call_pointer); + struct segoff_s func = GET_EBDA(ebda_seg, far_call_pointer); dprintf(16, "mouse farcall s=%04x x=%04x y=%04x func=%04x:%04x\n" , status, X, Y, func.seg, func.offset);
diff --git a/src/mtrr.c b/src/mtrr.c index ec3be4f..0957834 100644 --- a/src/mtrr.c +++ b/src/mtrr.c @@ -5,7 +5,7 @@ // This file may be distributed under the terms of the GNU LGPLv3 license.
#include "util.h" // dprintf -#include "biosvar.h" // GET_EBDA +#include "config.h" // CONFIG_* #include "xen.h" // usingXen
#define MSR_MTRRcap 0x000000fe diff --git a/src/pcibios.c b/src/pcibios.c index 8b792fb..d10cdfd 100644 --- a/src/pcibios.c +++ b/src/pcibios.c @@ -9,7 +9,7 @@ #include "util.h" // handle_1ab1 #include "pci.h" // pci_config_readl #include "bregs.h" // struct bregs -#include "biosvar.h" // GET_EBDA +#include "biosvar.h" // GET_GLOBAL #include "pci_regs.h" // PCI_VENDOR_ID
// romlayout.S diff --git a/src/pciinit.c b/src/pciinit.c index f265662..613a9c0 100644 --- a/src/pciinit.c +++ b/src/pciinit.c @@ -7,9 +7,10 @@
#include "util.h" // dprintf #include "pci.h" // pci_config_readl -#include "biosvar.h" // GET_EBDA #include "pci_ids.h" // PCI_VENDOR_ID_INTEL #include "pci_regs.h" // PCI_COMMAND +#include "ioport.h" // PORT_ATA1_CMD_BASE +#include "config.h" // CONFIG_* #include "xen.h" // usingXen
#define PCI_DEVICE_MEM_MIN 0x1000 diff --git a/src/pirtable.c b/src/pirtable.c index 4c3f1ff..2c328d8 100644 --- a/src/pirtable.c +++ b/src/pirtable.c @@ -6,8 +6,8 @@ // This file may be distributed under the terms of the GNU LGPLv3 license.
#include "pci.h" // struct pir_header +#include "config.h" // CONFIG_* #include "util.h" // checksum -#include "biosvar.h" // SET_EBDA
u16 PirOffset VAR16VISIBLE;
diff --git a/src/post.c b/src/post.c index 3561c0d..695f43f 100644 --- a/src/post.c +++ b/src/post.c @@ -93,7 +93,7 @@ init_bda(void) memset(ebda, 0, sizeof(*ebda)); ebda->size = esize;
- add_e820((u32)MAKE_FLATPTR(ebda_seg, 0), GET_EBDA2(ebda_seg, size) * 1024 + add_e820((u32)MAKE_FLATPTR(ebda_seg, 0), GET_EBDA(ebda_seg, size) * 1024 , E820_RESERVED); }
diff --git a/src/smbios.c b/src/smbios.c index fe1e183..20d2d47 100644 --- a/src/smbios.c +++ b/src/smbios.c @@ -6,7 +6,6 @@ // This file may be distributed under the terms of the GNU LGPLv3 license.
#include "util.h" // dprintf -#include "biosvar.h" // GET_EBDA #include "paravirt.h" // qemu_cfg_smbios_load_field #include "smbios.h" // struct smbios_entry_point
diff --git a/src/stacks.c b/src/stacks.c index 659e5bf..9c84d1f 100644 --- a/src/stacks.c +++ b/src/stacks.c @@ -4,7 +4,7 @@ // // This file may be distributed under the terms of the GNU LGPLv3 license.
-#include "biosvar.h" // get_ebda_seg +#include "biosvar.h" // GET_GLOBAL #include "util.h" // dprintf #include "bregs.h" // CR0_PE
@@ -149,13 +149,13 @@ wait_irq(void)
/**************************************************************** - * Stack in EBDA + * Extra 16bit stack ****************************************************************/
// Space for a stack for 16bit code. char ExtraStack[BUILD_EXTRA_STACK_SIZE] VARLOW __aligned(16);
-// Switch to the extra stack in ebda and call a function. +// Switch to the extra stack and call a function. inline u32 stack_hop(u32 eax, u32 edx, void *func) { @@ -166,7 +166,7 @@ stack_hop(u32 eax, u32 edx, void *func) // Backup current %ss/%esp values. "movw %%ss, %w3\n" "movl %%esp, %4\n" - // Copy ebda seg to %ds/%ss and set %esp + // Copy stack seg to %ds/%ss and set %esp "movw %w6, %%ds\n" "movw %w6, %%ss\n" "movl %5, %%esp\n" diff --git a/src/xen.h b/src/xen.h index dbd4a37..cc506a6 100644 --- a/src/xen.h +++ b/src/xen.h @@ -1,7 +1,8 @@ #ifndef __XEN_H #define __XEN_H
-#include "util.h" +#include "config.h" // CONFIG_* +#include "types.h" // u32
extern u32 xen_cpuid_base;