[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <alpine.LFD.2.00.1008261338230.2062@localhost.localdomain>
Date: Thu, 26 Aug 2010 13:47:55 -0400 (EDT)
From: Len Brown <lenb@...nel.org>
To: Jack Steiner <steiner@....com>
Cc: mingo@...e.hu, tglx@...utronix.de, linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC] - Mapping ACPI tables as CACHED
On Tue, 17 Aug 2010, Jack Steiner wrote:
> On EFI-enabled systems (like UV), the ACPI tables are already mapped as
> WB memory. This is done in the EFI function efi_enter_virtual_mode().
>
> The E820_ACPI & E820_NVS regions will be mapped as WB memory if the BIOS
> sets the WB attribute in the EFI memmap entry for the chunk of memory.
>
> The ACPI code in acpi_os_map_memory() is not currently aware of the EFI mapping
> & currently maps the memory as UC. This seems like a bug.
>
> In order to prevent attribute aliasing, I think the ACPI mapping needs to
> be consistent with the EFI mapping. Otherwise, we will have the OS
> referencing the memory as UC at the same time BIOS is referencing it as WB.
When would the firmware touch those tables after booting the OS?
We once found a Toshiba laptop where the BIOS
scribbles on the DSDT at run-time.
We presumed from this that Windows
must snapshot the tables at boot and run from a copy.
We decided not to copy the tables, but to use them in-place.
So we added a check for run-time corruption of the tables
and we've seen it fire only on that one Toshiba box
(which now boots with "acpi=copy_dsdt").
thanks,
Len Brown, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists