search for: gdt_entry_boot_cs

Displaying 10 results from an estimated 10 matches for "gdt_entry_boot_cs".

2007 Apr 18
0
[PATCH 1/21] i386 Pnp segments in segment h
...================================================================== --- linux-2.6.14-zach-work.orig/include/asm-i386/segment.h 2005-11-04 12:13: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...
2007 Apr 18
0
[PATCH 1/21] i386 Pnp segments in segment h
...================================================================== --- linux-2.6.14-zach-work.orig/include/asm-i386/segment.h 2005-11-04 12:13: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...
2007 Apr 18
2
[PATCH 4/21] i386 Broken bios common
...================================================================== --- linux-2.6.14-zach-work.orig/include/asm-i386/segment.h 2005-11-04 15:46:10.000000000 -0800 +++ linux-2.6.14-zach-work/include/asm-i386/segment.h 2005-11-05 00:28:05.000000000 -0800 @@ -91,6 +91,15 @@ #define GDT_ENTRY_BOOT_DS (GDT_ENTRY_BOOT_CS + 1) #define __BOOT_DS (GDT_ENTRY_BOOT_DS * 8) +/* + * Turns out the BIOS data area at 0x400 is commonly accessed from broken + * BIOS using real mode selector 0x40. We cached the bogus BIOS segment + * descriptor in a spare entry and fix it up at boot. + */ +#define GDT_ENTRY_BAD_BIOS_CACHE...
2007 Apr 18
2
[PATCH 4/21] i386 Broken bios common
...================================================================== --- linux-2.6.14-zach-work.orig/include/asm-i386/segment.h 2005-11-04 15:46:10.000000000 -0800 +++ linux-2.6.14-zach-work/include/asm-i386/segment.h 2005-11-05 00:28:05.000000000 -0800 @@ -91,6 +91,15 @@ #define GDT_ENTRY_BOOT_DS (GDT_ENTRY_BOOT_CS + 1) #define __BOOT_DS (GDT_ENTRY_BOOT_DS * 8) +/* + * Turns out the BIOS data area at 0x400 is commonly accessed from broken + * BIOS using real mode selector 0x40. We cached the bogus BIOS segment + * descriptor in a spare entry and fix it up at boot. + */ +#define GDT_ENTRY_BAD_BIOS_CACHE...
2007 Apr 18
2
[patch 3/8] Allow a kernel to not be in ring 0.
...rt) */ +#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 */ #define GDT_ENTRY_BOOT_CS 2 @@ -112,4 +117,11 @@ */ #define IDT_ENTRIES 256 +/* Bottom three bits of xcs give the ring privilege level */ +#define SEGMENT_RPL_MASK 0x3 + +/* User mode is privilege level 3 */ +#define USER_RPL 0x3 + +#define get_kernel_rpl() 0 #endif -- Chuck
2007 Apr 18
2
[patch 3/8] Allow a kernel to not be in ring 0.
...rt) */ +#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 */ #define GDT_ENTRY_BOOT_CS 2 @@ -112,4 +117,11 @@ */ #define IDT_ENTRIES 256 +/* Bottom three bits of xcs give the ring privilege level */ +#define SEGMENT_RPL_MASK 0x3 + +/* User mode is privilege level 3 */ +#define USER_RPL 0x3 + +#define get_kernel_rpl() 0 #endif -- Chuck
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