[RFC, PATCH 1/24] i386 Vmi documentation II

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux