unfixing fixmap_top

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

 



Zachary Amsden wrote:
> 1) A set_fixmap_top paravirt op - which doesn't work so well, since 
> all paravirt subops need to re-use the same callouts to Linux, so 
> there are twice (3x, 4x...) as many points to change if the Linux API 
> changes.
>
> 2) A get_fixmap_top paravirt op - which allows the common code to just 
> always set the fixmap in the normal startup routine, and also works 
> for native by just returning 0xffffe000 (or should it be 0x00000000)?
>
> 3) Pass the information in at boot, or via a special argument / 
> environment page.
>
> I like #2, since it seems most logical, and doesn't preclude doing #3 
> later if we decide to create such a arg / envp page. 

Well, I was thinking option #4: the hypervisor setup code calls 
set_fixmap_top() as part of its setup (ie, when it fills out the 
paravirtops structure).  That way the hypervisor-specific code can use 
whatever mechanism it wants to get that value, and if the hypervisor 
doesn't care about the value (because it doesn't need to reserve address 
space, as in 32-on-64) it needn't call anything, and the default Linux 
value will stand.

I guess it's almost exactly equivalent to #2, except we don't need to 
define another paravirt interface.

    J


[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