linux/arch/x86/platform
Matt Fleming 185034e72d x86, efi: 1:1 pagetable mapping for virtual EFI calls
Some firmware still needs a 1:1 (virt->phys) mapping even after we've
called SetVirtualAddressMap(). So install the mapping alongside our
existing kernel mapping whenever we make EFI calls in virtual mode.

This bug was discovered on ASUS machines where the firmware
implementation of GetTime() accesses the RTC device via physical
addresses, even though that's bogus per the UEFI spec since we've
informed the firmware via SetVirtualAddressMap() that the boottime
memory map is no longer valid.

This bug seems to be present in a lot of consumer devices, so there's
not a lot we can do about this spec violation apart from workaround
it.

Cc: JérômeCarretero <cJ-ko@zougloub.eu>
Cc: Vasco Dias <rafa.vasco@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2012-10-30 10:39:19 +00:00
..
ce4100 gpio: Add a driver for Sodaville GPIO controller 2012-02-03 16:13:25 -07:00
efi x86, efi: 1:1 pagetable mapping for virtual EFI calls 2012-10-30 10:39:19 +00:00
geode arch/x86/platform/geode/net5501.c: change active_low to 0 for LED driver 2012-05-04 14:40:07 -07:00
iris module_param: make bool parameters really bool (arch) 2012-01-13 09:32:18 +10:30
mrst kmsg - kmsg_dump() use iterator to receive log buffer content 2012-06-15 14:53:59 -07:00
olpc x86: OLPC: move s/r-related EC cmds to EC driver 2012-07-31 23:27:31 -04:00
scx200 scx200_32: replace printks with pr_<level>s 2012-02-03 23:24:58 +01:00
sfi Merge branch 'linus' into x86/apic-cleanups 2011-01-07 14:14:15 +01:00
uv Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-07-26 13:17:17 -07:00
visws x86/apic: Fix typo EIO_ACK -> EOI_ACK and document it 2012-05-18 09:46:07 +02:00
Makefile x86: geode: New PCEngines Alix system driver 2011-09-21 11:19:42 +02:00