search for: gdt_entry_pnpbios_base

Displaying 18 results from an estimated 18 matches for "gdt_entry_pnpbios_base".

2007 Apr 18
0
[PATCH 1/21] i386 Pnp segments in segment h
...3:31.000000000 -0800 +++ linux-2.6.14-zach-work/include/asm-i386/segment.h 2005-11-05 00:28:13.000000000 -0800 @@ -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...
2007 Apr 18
0
[PATCH 1/21] i386 Pnp segments in segment h
...3:31.000000000 -0800 +++ linux-2.6.14-zach-work/include/asm-i386/segment.h 2005-11-05 00:28:13.000000000 -0800 @@ -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...
2007 Apr 18
1
[PATCH 2/3] Pnp bios gdt fix
...ause APs will not have allocated GDTs until later in + * the boot process. + */ + Q2_SET_SEL(0, PNP_CS32, &pnp_bios_callfunc, 64 * 1024); + Q_SET_SEL(0, PNP_CS16, header->fields.pm16cseg, 64 * 1024); + Q_SET_SEL(0, PNP_DS, header->fields.pm16dseg, 64 * 1024); + memcpy(&cpu_gdt_table[GDT_ENTRY_PNPBIOS_BASE], + &get_cpu_gdt_table(0)[GDT_ENTRY_PNPBIOS_BASE], + 3 * sizeof(struct desc_struct)); }
2007 Apr 18
1
[PATCH 2/3] Pnp bios gdt fix
...ause APs will not have allocated GDTs until later in + * the boot process. + */ + Q2_SET_SEL(0, PNP_CS32, &pnp_bios_callfunc, 64 * 1024); + Q_SET_SEL(0, PNP_CS16, header->fields.pm16cseg, 64 * 1024); + Q_SET_SEL(0, PNP_DS, header->fields.pm16dseg, 64 * 1024); + memcpy(&cpu_gdt_table[GDT_ENTRY_PNPBIOS_BASE], + &get_cpu_gdt_table(0)[GDT_ENTRY_PNPBIOS_BASE], + 3 * sizeof(struct desc_struct)); }
2007 Apr 18
2
[patch 3/8] Allow a kernel to not be in ring 0.
.../* Ok, create the new process.. */ --- 2.6.18-rc3-32.orig/arch/i386/mm/extable.c +++ 2.6.18-rc3-32/arch/i386/mm/extable.c @@ -11,7 +11,7 @@ int fixup_exception(struct pt_regs *regs const struct exception_table_entry *fixup; #ifdef CONFIG_PNPBIOS - if (unlikely((regs->xcs & ~15) == (GDT_ENTRY_PNPBIOS_BASE << 3))) + if (unlikely(SEGMENT_IS_PNP_CODE(regs->xcs))) { extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp; extern u32 pnp_bios_is_utter_crap; --- 2.6.18-rc3-32.orig/arch/i386/mm/fault.c +++ 2.6.18-rc3-32/arch/i386/mm/fault.c @@ -27,6 +27,7 @@ #include <asm/uaccess.h> #inc...
2007 Apr 18
2
[patch 3/8] Allow a kernel to not be in ring 0.
.../* Ok, create the new process.. */ --- 2.6.18-rc3-32.orig/arch/i386/mm/extable.c +++ 2.6.18-rc3-32/arch/i386/mm/extable.c @@ -11,7 +11,7 @@ int fixup_exception(struct pt_regs *regs const struct exception_table_entry *fixup; #ifdef CONFIG_PNPBIOS - if (unlikely((regs->xcs & ~15) == (GDT_ENTRY_PNPBIOS_BASE << 3))) + if (unlikely(SEGMENT_IS_PNP_CODE(regs->xcs))) { extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp; extern u32 pnp_bios_is_utter_crap; --- 2.6.18-rc3-32.orig/arch/i386/mm/fault.c +++ 2.6.18-rc3-32/arch/i386/mm/fault.c @@ -27,6 +27,7 @@ #include <asm/uaccess.h> #inc...
2007 Apr 18
2
[PATCH 4/21] i386 Broken bios common
...gus BIOS segment + * descriptor in a spare entry and fix it up at boot. + */ +#define GDT_ENTRY_BAD_BIOS_CACHE 4 +#define GDT_ENTRY_BAD_BIOS (0x40 >> 3) +#define BAD_BIOS_AREA (0x400) + /* 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) Index: linux-2.6.14-zach-work/arch/i386/kernel/head.S =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/head.S 2005-11-04 15:46:50.000000000 -0800 +++ linux-2.6.14-z...
2007 Apr 18
2
[PATCH 4/21] i386 Broken bios common
...gus BIOS segment + * descriptor in a spare entry and fix it up at boot. + */ +#define GDT_ENTRY_BAD_BIOS_CACHE 4 +#define GDT_ENTRY_BAD_BIOS (0x40 >> 3) +#define BAD_BIOS_AREA (0x400) + /* 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) Index: linux-2.6.14-zach-work/arch/i386/kernel/head.S =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/head.S 2005-11-04 15:46:50.000000000 -0800 +++ linux-2.6.14-z...
2007 Apr 18
1
[PATCH] Slight cleanups for x86 ring macros (against rc3-mm2)
...segments after a fault - */ +/* Matches __KERNEL_CS and __USER_CS (they must be 2 entries apart) */ #define SEGMENT_IS_FLAT_CODE(x) (((x) & 0xec) == GDT_ENTRY_KERNEL_CS * 8) +/* Matches PNP_CS32 and PNP_CS16 (they must be consecutive) */ #define SEGMENT_IS_PNP_CODE(x) (((x) & 0xf4) == GDT_ENTRY_PNPBIOS_BASE * 8) /* Simple and small GDT entries for booting only */ @@ -118,8 +117,16 @@ */ #define IDT_ENTRIES 256 -/* Bottom three bits of xcs give the ring privilege level */ -#define SEGMENT_RPL_MASK 0x3 +/* Bottom two bits of selector give the ring privilege level */ +#define SEGMENT_RPL_MASK 0x3...
2007 Apr 18
1
[PATCH] Slight cleanups for x86 ring macros (against rc3-mm2)
...segments after a fault - */ +/* Matches __KERNEL_CS and __USER_CS (they must be 2 entries apart) */ #define SEGMENT_IS_FLAT_CODE(x) (((x) & 0xec) == GDT_ENTRY_KERNEL_CS * 8) +/* Matches PNP_CS32 and PNP_CS16 (they must be consecutive) */ #define SEGMENT_IS_PNP_CODE(x) (((x) & 0xf4) == GDT_ENTRY_PNPBIOS_BASE * 8) /* Simple and small GDT entries for booting only */ @@ -118,8 +117,16 @@ */ #define IDT_ENTRIES 256 -/* Bottom three bits of xcs give the ring privilege level */ -#define SEGMENT_RPL_MASK 0x3 +/* Bottom two bits of selector give the ring privilege level */ +#define SEGMENT_RPL_MASK 0x3...
2007 Apr 18
1
[PATCH 0/7] Using %gs for per-cpu areas on x86
OK, here it is. Benchmarks still coming. This is against Andi's 2.6.18-rc7-git3 tree, and replaces the patches between (and not including) i386-pda-asm-offsets and i386-early-fault. One patch is identical, one is mildly modified, the rest are re-implemented but inspired by Jeremy's PDA work. Thanks, Rusty. -- Help! Save Australia from the worst of the DMCA: http://linux.org.au/law
2007 Apr 18
1
[PATCH 0/7] Using %gs for per-cpu areas on x86
OK, here it is. Benchmarks still coming. This is against Andi's 2.6.18-rc7-git3 tree, and replaces the patches between (and not including) i386-pda-asm-offsets and i386-early-fault. One patch is identical, one is mildly modified, the rest are re-implemented but inspired by Jeremy's PDA work. Thanks, Rusty. -- Help! Save Australia from the worst of the DMCA: http://linux.org.au/law
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. The main change from the last posting is that all the page-table related patches have been moved out, and will be posted separately. Also, the off-by-one in reserving the top of address space has been
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. The main change from the last posting is that all the page-table related patches have been moved out, and will be posted separately. Also, the off-by-one in reserving the top of address space has been
2007 Apr 18
15
[PATCH 0 of 13] Basic infrastructure patches for a paravirtualized kernel
[ REPOST: Apologies to anyone who has seen this before. It didn't make it onto any of the lists it should have. -J ] Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. For the most part, these patches do nothing or very little. The patches should
2007 Apr 18
15
[PATCH 0 of 13] Basic infrastructure patches for a paravirtualized kernel
[ REPOST: Apologies to anyone who has seen this before. It didn't make it onto any of the lists it should have. -J ] Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. For the most part, these patches do nothing or very little. The patches should
2007 Apr 18
3
Per-cpu patches on top of PDA stuff...
Hi Jeremy, all, Sorry this took so long, spent last week in Japan at OSDL conf then netconf. After several false starts, I ended up with a very simple implementation, which clashes significantly with your work since then 8(. I've pushed the patches anyway, but it's going to be significant work for me to re-merge them, so I wanted your feedback first. The first patch simply changes
2007 Apr 18
3
Per-cpu patches on top of PDA stuff...
Hi Jeremy, all, Sorry this took so long, spent last week in Japan at OSDL conf then netconf. After several false starts, I ended up with a very simple implementation, which clashes significantly with your work since then 8(. I've pushed the patches anyway, but it's going to be significant work for me to re-merge them, so I wanted your feedback first. The first patch simply changes