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