* Rusty Russell (rusty at rustcorp.com.au) wrote: > On Tue, 2006-07-18 at 00:00 -0700, Chris Wright wrote: > > plain text document attachment (i386-segments) > > We allow for the fact that the guest kernel may not run in ring 0. > > This requires some abstraction in a few places when setting %cs or > > checking privilege level (user vs kernel). > > Zach had an alternate patch for this, which didn't assume the kernel ran > in a compile-time known ring, but is otherwise very similar. I've put > it below for discussion (but Zach now tells me the asm parts are not > required: Zach, can you mod this patch and comment?). This patch also doesn't have a compile time known ring, it's using get_kernel_cs() because the Xen method for booting native is dynamic and would resolve to ring 0 in that case (XENFEAT_supervisor_mode_kernel). > Your patch #16 finishes the job you started here, by doing the mods to > entry.S. I think it's cleaner to have all this in one patch (and it can > go in almost immediately AFAICT). I totally agree. I actually started doing rearranging the patch order last night and that was one of the bits that got consolidated. It was getting light this morning and I gave up since I was wasting lots of time fixing patch rejects from all the rearranging, and needed a bit of sleep before KS;-) > Comments? > Rusty. > > Name: Kernel Ring Cleanups > Status: Booted on 2.6.18-rc1 > Signed-off-by: Rusty Russell <rusty at rustcorp.com.au> Looks fine to me, granted I haven't tried to boot it yet. I'll double check and report back. thanks, -chris