[Xen-devel] Re: [PATCH 4/4] kexec/arch/i386: Add get_memory_ranges_xen() function

Daniel Kiper
Mon, 22 Aug 2011 14:07:45 -0000

On Mon, Aug 22, 2011 at 12:01:24AM -0400, Konrad Rzeszutek Wilk wrote:

[...]

> > +#ifdef HAVE_LIBXENCTRL
> > +static unsigned e820_to_kexec_type(uint32_t type)
> > +{
> > +	switch (type) {
> > +		case E820_RAM:
> > +			return RANGE_RAM;
> > +		case E820_ACPI:
> > +			return RANGE_ACPI;
> > +		case E820_NVS:
> > +			return RANGE_ACPI_NVS;
> > +		case E820_RESERVED:
>
> For E820_UNUSABLE you want to do that too?
>
> > +		default:
> > +			return RANGE_RESERVED;
>
> Or should E820_UNUSABLE returne its own type of RANGE?

Kexec does not differentiate between E820_RESERVED and E820_UNUSABLE
(please look into kexec/firmware_memmap.c, parse_memmap_entry()).
It treats both as RANGE_RESERVED. RANGE_UNUSABLE is not defined.
In this situation I stated that it is not worth to change that
and I have mapped all undefined types to RANGE_RESERVED. It means
that E820_UNUSABLE is mapped to RANGE_RESERVED.

Daniel