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

[Xen-devel] RE: How is the virt_hv_start_low used in compatible guest


  • To: Jan Beulich <JBeulich@xxxxxxxxxx>
  • From: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>
  • Date: Wed, 8 Jul 2009 15:21:26 +0800
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
  • Delivery-date: Wed, 08 Jul 2009 00:23:00 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acn+H80ObpPj7HuvSc+0geUn1DWMHwBfFq9w
  • Thread-topic: How is the virt_hv_start_low used in compatible guest

Thanks for your answer very much.
When consider the memory add situation, the size can't be adjusted, so I 
disable this adjustment if we support memory add, do you think it is ok? 

Thanks
Yunhong Jiang

Jan Beulich wrote:
> The guest can (and is actually doing so in the Dom0 case) make
> use of this e.g. for setting the low/highmem boundary at a
> higher address, thus increasing the amount of lowmem over what
> that would be on a 32-bit hypervisor. For DomU-s to also
> benefit, the tools would need to be adjusted, but as this can
> affect where a guest can be migrated to, so far it didn't seem
> worthwhile for anybody to actually implement this.
> 
> Jan
> 
>>>> "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx> 06.07.09 11:20 >>>
> Jan/Keir, I have a question to followin code In
> arch/x86/domain_build.c. Can you share me why we need to make
> the virt_start be adjustable based on the memory size in the
> system? Per my understanding, these changes will only affect
> HV itself, but I didn't see much benifit. Or did I missed anything?
> 
> Thanks
> Yunhong Jiang
> 
>    if ( (parms.virt_hv_start_low != UNSET_ADDR) && elf_32bit(&elf) ) 
>        { unsigned long mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
>        value = (parms.virt_hv_start_low + mask) & ~mask;
>        BUG_ON(!is_pv_32bit_domain(d));
> #if defined(__i386__)
>        if ( value > HYPERVISOR_VIRT_START )
>            panic("Domain 0 expects too high a hypervisor
> start address.\n");
> #else
>        if ( value > __HYPERVISOR_COMPAT_VIRT_START )
>            panic("Domain 0 expects too high a hypervisor
> start address.\n");
>        HYPERVISOR_COMPAT_VIRT_START(d) =
>            max_t(unsigned int, m2p_compat_vstart, value); #endif
>    }
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.