Re: APEI: Can not request iomem region for GARs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 22, 2011 at 9:45 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
> On Mon, Aug 22, 2011 at 1:12 AM, Huang Ying <ying.huang@xxxxxxxxx> wrote:
>> Do you have time to try the patch attached with the mail?
>> acpi_nvs.patch should go first.
>
> In this case, we have an ACPI NVS region, and the APEI code is
> essentially a driver for some registers that reside there.  APEI is
> the entity that manages those registers, and it needs to enforce
> mutual exclusion so nobody else touches them behind its back, so I
> think it makes sense for it to request the register regions and mark
> them busy.
>
> My proposal is to change e820 so it either leaves ACPI NVS out of the
> iomem_resource tree or puts it in but leaves it non-busy.

assume Huang Ying only tested with UEFI native boot?

i have one local patch for legacy mode booting, and it's similar to
what Bjorn suggested.

Please check the attached patch.

Thanks

Yinghai Lu
Subject: [PATCH] x86: allow NVS can be accessed by driver

APEI related...

Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>

---
 arch/x86/kernel/e820.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6/arch/x86/kernel/e820.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/e820.c
+++ linux-2.6/arch/x86/kernel/e820.c
@@ -995,7 +995,8 @@ void __init e820_reserve_resources(void)
 		 * pcibios_resource_survey()
 		 */
 		if (e820.map[i].type != E820_RESERVED || res->start < (1ULL<<20)) {
-			res->flags |= IORESOURCE_BUSY;
+			if (e820.map[i].type != E820_NVS)
+				res->flags |= IORESOURCE_BUSY;
 			insert_resource(&iomem_resource, res);
 		}
 		res++;

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux