search for: compare_segment_reg

Displaying 5 results from an estimated 5 matches for "compare_segment_reg".

2007 Apr 18
0
[RFC, PATCH 11/24] i386 Vmi segment changes
...y efficiently into a supervisor CPL check instead of a CPL-0 check. This step prepares the kernel for running in direct execution under a hypervisor. Note the user_mode_vm macro used in ptrace.h is very similar to the flag mixing of EFLAGS and CS used to test in one branch in entry.S. To make the COMPARE_SEGMENT_REG macro work, it must contain both the push and the pop, requiring an additional load of EAX after the possible stack fixup. This is because FIXUP_ESPFIX_STACK destroys %EAX again with a call to C code. In all, the overhead is couple of instructions, and no extra branches. Note that I prefer to use...
2007 Apr 18
0
[RFC, PATCH 11/24] i386 Vmi segment changes
...y efficiently into a supervisor CPL check instead of a CPL-0 check. This step prepares the kernel for running in direct execution under a hypervisor. Note the user_mode_vm macro used in ptrace.h is very similar to the flag mixing of EFLAGS and CS used to test in one branch in entry.S. To make the COMPARE_SEGMENT_REG macro work, it must contain both the push and the pop, requiring an additional load of EAX after the possible stack fixup. This is because FIXUP_ESPFIX_STACK destroys %EAX again with a call to C code. In all, the overhead is couple of instructions, and no extra branches. Note that I prefer to use...
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
...ty@rustcorp.com.au> This is Zach's patch to clean up assumptions about the kernel running in ring 0 (which it doesn't when running paravirtualized). 1) Remove the hardcoded 3 and introduce #define SEGMENT_RPL_MASK 3 2) Add a get_kernel_rpl() function 3) Create COMPARE_SEGMENT_STACK and COMPARE_SEGMENT_REG macros which can mask out the bottom two bits (RPL) when comparing for paravirtualization. diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.6.17-rc2-git7/arch/i386/kernel/entry.S tmp/arch/i386/kernel/entry.S --- linux-2.6.17-rc2-git7/arc...
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
...ty@rustcorp.com.au> This is Zach's patch to clean up assumptions about the kernel running in ring 0 (which it doesn't when running paravirtualized). 1) Remove the hardcoded 3 and introduce #define SEGMENT_RPL_MASK 3 2) Add a get_kernel_rpl() function 3) Create COMPARE_SEGMENT_STACK and COMPARE_SEGMENT_REG macros which can mask out the bottom two bits (RPL) when comparing for paravirtualization. diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.6.17-rc2-git7/arch/i386/kernel/entry.S tmp/arch/i386/kernel/entry.S --- linux-2.6.17-rc2-git7/arc...
2007 Apr 18
33
[RFC PATCH 00/33] Xen i386 paravirtualization support
Unlike full virtualization in which the virtual machine provides the same platform interface as running natively on the hardware, paravirtualization requires modification to the guest operating system to work with the platform interface provided by the hypervisor. Xen was designed with performance in mind. Calls to the hypervisor are minimized, batched if necessary, and non-critical codepaths