On Thu, Aug 02, 2018 at 04:05:02PM +0200, cinap_lenrek@xxxxxxxxxxx wrote: > Use the appropriate types for ACPI reclaim and ACPI NVS > ranges in the multiboot memory map. > > This allows the kernel to locate ACPI tables on UEFI > systems without having a explicit pointer to the RSD. > > Signed-off-by: Friedemann Gerold <cinap_lenrek@xxxxxxxxxxx> This seems reasonable to me, but I would value a third-party review of this change. Reviewed-by: Simon Horman <horms@xxxxxxxxxxxx> > --- > diff --git a/kexec/arch/i386/kexec-multiboot-x86.c b/kexec/arch/i386/kexec-multiboot-x86.c > index 69027e2..afa0959 100644 > --- a/kexec/arch/i386/kexec-multiboot-x86.c > +++ b/kexec/arch/i386/kexec-multiboot-x86.c > @@ -259,7 +286,8 @@ int multiboot_x86_load(int argc, char **argv, const char *buf, off_t len, > mmap[i].base_addr_high = range[i].start >> 32; > mmap[i].length_low = length & 0xffffffff; > mmap[i].length_high = length >> 32; > - if (range[i].type == RANGE_RAM) { > + switch (range[i].type) { > + case RANGE_RAM: > mmap[i].Type = 1; /* RAM */ > /* > * Is this the "low" memory? Can't just test > @@ -277,7 +305,15 @@ int multiboot_x86_load(int argc, char **argv, const char *buf, off_t len, > if ((range[i].start <= 0x100000) > && (range[i].end > mem_upper + 0x100000)) > mem_upper = range[i].end - 0x100000; > - } else { > + break; > + case RANGE_ACPI: > + mmap[i].Type = 3; > + break; > + case RANGE_ACPI_NVS: > + mmap[i].Type = 4; > + break; > + case RANGE_RESERVED: > + default: > mmap[i].Type = 2; /* Not RAM (reserved) */ > } > } > > _______________________________________________ > kexec mailing list > kexec@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/kexec > _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec