![]() | ||||||||||
Messages in this thread |
Andrew Morton wrote:
> On Wed, 02 Aug 2006 17:25:17 -0700
> Jeremy Fitzhardinge <jeremy@xensource.com> wrote:
>
>
>> + /*
>> + * reservetop=size reserves a hole at the top of the kernel
>> + * address space which a hypervisor can load into later.
>> + * Needed for dynamically loaded hypervisors, so relocating
>> + * the fixmap can be done before paging initialization.
>> + * This hole must be a multiple of 4M.
>> + */
>> + else if (!memcmp(from, "reservetop=", 11)) {
>> + unsigned long reserve = memparse(from+11, &from);
>> + reserve &= ~0x3fffff;
>> + reserve_top_address(reserve);
>> + }
>>
>
> I assume that this argument will normally be passed in via the hypervisor
> rather than by human-entered information?
>
> In which case, perhaps a panic would be a more appropriate response to a
> non-multiple-of-4M.
>
> Either way, rounding the number down rather than up seems wrong...
>
Agree on the rounding issue - but is a panic really correct? Perhaps we
should not round at all.
The presumption is actually that this is human or script entered
information. A runtime loaded hypervisor module has no way to tweak or
toggle the boot parameters, as it hasn't yet been loaded. It could be
that a human operator wants to make room for it. Giving the operator a
panic is not the most friendly thing to do - logging the failure on
module load is much nicer. And such a runtime loaded hypervisor must be
fully virtualizing anyway, so even if the argument is wrong and doesn't
give the hypervisor enough space to load, no damage is done - the
operator just resets the parameter and reboots.
Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| |||||||||
| Last update: 2006-08-03 07:37 [from the cache] ©2003-2008 | ||||||||||