Andi Kleen wrote:
On Wednesday 22 March 2006 23:45, Zachary Amsden wrote:
I propose an entirely different approach - use segmentation.
That would require a lot of changes to save/restore the segmentation
register at kernel entry/exit since there is no swapgs on i386.
And will be likely slower there too and also even slow down the
VMI-kernel-no-hypervisor.
There are no changes required to the kernel entry / exit paths. With
save/restore segment support in the VMI, reserving one segment for the
hypervisor data area is easy.
I take it back. There is one required change:
kernel_entry:
hypervisor_entry_hook
sti
.... kernel code
This hypervisor_entry_hook can be a nop on native hardware, and the
following for Xen:
push %gs
mov CPU_HYPER_SEL, %gs
pop %gs:SAVED_USER_GS
You already have the IRET / SYSEXIT hooks to restore it on the way
back. And now you have a segment reserved that allows you to deal with
16-bit stack segments during the IRET.
Still might be the best option.
How did that rumoured Xenolinux-over-VMI implementation solve that problem?
!CONFIG_SMP -- as I believe I saw in the latest Xen patches sent out as
well?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]