|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: How is the virt_hv_start_low used in compatible guest
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
|
|
|
|
|