Hi Tyler, On 20/01/17 20:58, Baicar, Tyler wrote: > On 1/19/2017 10:57 AM, James Morse wrote: >> On 18/01/17 23:51, Baicar, Tyler wrote: >>> On 1/18/2017 7:50 AM, James Morse wrote: >>>> On 12/01/17 18:15, Tyler Baicar wrote: >>>>> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c >> There are two other things that need changing to make the in_nmi() code path >> work on arm64. >> Always reserve the virtual-address-space forcing GHES_IOREMAP_PAGES to be 2 >> regardless of CONFIG_HAVE_ACPI_APEI_NMI. This is almost revert of >> 594c7255dce7a13cac50cf2470cc56e2c3b0494e (but that did a few other things too). > Looks simple enough, should I force it to 2 in all cases, or add a check for > CONFIG_HAVE_ACPI_APEI_SEA > similar to the check for CONFIG_HAVE_ACPI_APEI_NMI? Its just address space not actual memory it is reserving right? I think just reserve two pages all the time to save eye-sore #ifdefs! >> We also need to fix ghes_ioremap_pfn_nmi() to use arch_apei_get_mem_attribute() >> and not assume PAGE_KERNEL. > So just change the call to ioremap_page_range to: > > ioremap_page_range(vaddr, vaddr + PAGE_SIZE, pfn << PAGE_SHIFT, > arch_apei_get_mem_attribute()); (you need to give arch_apei_get_mem_attribute() the address...) copying whatever ghes_ioremap_pfn_irq() does a few lines down is probably best. Thanks, James