Rusty Russell wrote: > Hi all, > > I've been looking at finding common ground between the VMI, Xen and > other paravirtualization approaches, and after some discussion, we're > getting somewhere. > > These first two patches are the fundamentals, stolen mainly from the > VMI patches: removing assumptions about the kernel running in ring 0, > and macro-izing all the obvious para-virtualize-needing insns. The > third patch is more ambitious: it introduces a "paravirt_ops" structure > (a-la PPC's ppc_md) through which all these ops are indirected. This > should allow Xen, VMI and other variants to build on a common base. > > These patches also live at > http://kernel.org/pub/linux/kernel/people/rusty/Paravirt > > Feedback welcome! > Rusty. > > Name: Kernel Ring Cleanups > Status: Booted on 2.6.16-rc2-git7 > Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> > > 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. > This looks good to me (obviously), but I always seem to run into problems with UML whenever I touch ptrace.h. I did make sure UML worked when I sent the original patch, but these things do change. I'll give it a spin again to make sure UML compiles. Zach