i386 Pnp segments in segment h
PATCH 1/21 i386 Pnp segments in segment h
Move PnP BIOS segment definitions into segment.h; the segments are reserved here, so they might as well be defined here as well.
Note I didn't do this for APM BIOS, as Macintosh and other systems use those values to emulate APM in some scary way I don't want to understand.
Signed-off-by Zachary Amsden <[email protected]>
include/asm-i386/segment.h +14 -0
@@ -91,6 +91,20 @@#define GDT_ENTRY_BOOT_DS (GDT_ENTRY_BOOT_CS + 1)#define __BOOT_DS (GDT_ENTRY_BOOT_DS * 8) +/* The PnP BIOS entries in the GDT */ +#define GDT_ENTRY_PNPBIOS_CS32 (GDT_ENTRY_PNPBIOS_BASE + 0) +#define GDT_ENTRY_PNPBIOS_CS16 (GDT_ENTRY_PNPBIOS_BASE + 1) +#define GDT_ENTRY_PNPBIOS_DS (GDT_ENTRY_PNPBIOS_BASE + 2) +#define GDT_ENTRY_PNPBIOS_TS1 (GDT_ENTRY_PNPBIOS_BASE + 3) +#define GDT_ENTRY_PNPBIOS_TS2 (GDT_ENTRY_PNPBIOS_BASE + 4) + +/* The PnP BIOS selectors */ +#define PNP_CS32 (GDT_ENTRY_PNPBIOS_CS32 * 8)/* segment for calling fn */ +#define PNP_CS16 (GDT_ENTRY_PNPBIOS_CS16 * 8)/* code segment for BIOS */ +#define PNP_DS (GDT_ENTRY_PNPBIOS_DS * 8)/* data segment for BIOS */ +#define PNP_TS1 (GDT_ENTRY_PNPBIOS_TS1 * 8)/* transfer data segment */ +#define PNP_TS2 (GDT_ENTRY_PNPBIOS_TS2 * 8)/* another data segment */ +/* * The interrupt descriptor table has room for 256 idt's, * the global descriptor table is dependent on the number
drivers/pnp/pnpbios/bioscalls.c +0 -9
@@ -31,15 +31,6 @@ static struct { } pnp_bios_callpoint; -/* The PnP BIOS entries in the GDT */ -#define PNP_GDT (GDT_ENTRY_PNPBIOS_BASE * 8) - -#define PNP_CS32 (PNP_GDT+0x00)/* segment for calling fn */ -#define PNP_CS16 (PNP_GDT+0x08)/* code segment for BIOS */ -#define PNP_DS (PNP_GDT+0x10)/* data segment for BIOS */ -#define PNP_TS1 (PNP_GDT+0x18)/* transfer data segment */ -#define PNP_TS2 (PNP_GDT+0x20)/* another data segment */ -/* * These are some opcodes for a "static asmlinkage" * As this code is *not* executed inside the linux kernel segment, but in a