<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/platform/efi, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-07-18T20:23:59Z</updated>
<entry>
<title>arch/x86: Remove efi_set_rtc_mmss()</title>
<updated>2014-07-18T20:23:59Z</updated>
<author>
<name>Daniel Kiper</name>
</author>
<published>2014-06-30T17:53:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f383d00a0d1f94a7d60c753ec8e3e402889f9622'/>
<id>urn:sha1:f383d00a0d1f94a7d60c753ec8e3e402889f9622</id>
<content type='text'>
efi_set_rtc_mmss() is never used to set RTC due to bugs found
on many EFI platforms. It is set directly by mach_set_rtc_mmss().
Hence, remove unused efi_set_rtc_mmss() function.

Signed-off-by: Daniel Kiper &lt;daniel.kiper@oracle.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>arch/x86: Remove redundant set_bit(EFI_MEMMAP) call</title>
<updated>2014-07-18T20:23:57Z</updated>
<author>
<name>Daniel Kiper</name>
</author>
<published>2014-06-30T17:53:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0fe376e18f9add43e994963f7e47d24261e64d85'/>
<id>urn:sha1:0fe376e18f9add43e994963f7e47d24261e64d85</id>
<content type='text'>
Remove redundant set_bit(EFI_MEMMAP, &amp;efi.flags) call.
It is executed earlier in efi_memmap_init().

Signed-off-by: Daniel Kiper &lt;daniel.kiper@oracle.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>arch/x86: Remove redundant set_bit(EFI_SYSTEM_TABLES) call</title>
<updated>2014-07-18T20:23:56Z</updated>
<author>
<name>Daniel Kiper</name>
</author>
<published>2014-06-30T17:52:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f2adfd8a97f6d9c2725888a4eeec22c17ac3dab'/>
<id>urn:sha1:9f2adfd8a97f6d9c2725888a4eeec22c17ac3dab</id>
<content type='text'>
Remove redundant set_bit(EFI_SYSTEM_TABLES, &amp;efi.flags) call.
It is executed earlier in efi_systab_init().

Signed-off-by: Daniel Kiper &lt;daniel.kiper@oracle.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>efi: Introduce EFI_PARAVIRT flag</title>
<updated>2014-07-18T20:23:55Z</updated>
<author>
<name>Daniel Kiper</name>
</author>
<published>2014-06-30T17:52:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f27bc543bdf92e179927037e2ab8ed0261579a9'/>
<id>urn:sha1:9f27bc543bdf92e179927037e2ab8ed0261579a9</id>
<content type='text'>
Introduce EFI_PARAVIRT flag. If it is set then kernel runs
on EFI platform but it has not direct control on EFI stuff
like EFI runtime, tables, structures, etc. If not this means
that Linux Kernel has direct access to EFI infrastructure
and everything runs as usual.

This functionality is used in Xen dom0 because hypervisor
has full control on EFI stuff and all calls from dom0 to
EFI must be requested via special hypercall which in turn
executes relevant EFI code in behalf of dom0.

Signed-off-by: Daniel Kiper &lt;daniel.kiper@oracle.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>arch/x86: Do not access EFI memory map if it is not available</title>
<updated>2014-07-18T20:23:54Z</updated>
<author>
<name>Daniel Kiper</name>
</author>
<published>2014-06-30T17:52:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=67a9b9c53cafd3f391dccc84a3af45334c6267fc'/>
<id>urn:sha1:67a9b9c53cafd3f391dccc84a3af45334c6267fc</id>
<content type='text'>
Do not access EFI memory map if it is not available. At least
Xen dom0 EFI implementation does not have an access to it.

Signed-off-by: Daniel Kiper &lt;daniel.kiper@oracle.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>efi: Use early_mem*() instead of early_io*()</title>
<updated>2014-07-18T20:23:54Z</updated>
<author>
<name>Daniel Kiper</name>
</author>
<published>2014-06-30T17:52:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=abc93f8eb6e46a480485f19256bdbda36ec78a84'/>
<id>urn:sha1:abc93f8eb6e46a480485f19256bdbda36ec78a84</id>
<content type='text'>
Use early_mem*() instead of early_io*() because all mapped EFI regions
are memory (usually RAM but they could also be ROM, EPROM, EEPROM, flash,
etc.) not I/O regions. Additionally, I/O family calls do not work correctly
under Xen in our case. early_ioremap() skips the PFN to MFN conversion
when building the PTE. Using it for memory will attempt to map the wrong
machine frame. However, all artificial EFI structures created under Xen
live in dom0 memory and should be mapped/unmapped using early_mem*() family
calls which map domain memory.

Signed-off-by: Daniel Kiper &lt;daniel.kiper@oracle.com&gt;
Cc: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
Cc: Mark Salter &lt;msalter@redhat.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>x86/reboot: Add EFI reboot quirk for ACPI Hardware Reduced flag</title>
<updated>2014-07-18T20:23:52Z</updated>
<author>
<name>Matt Fleming</name>
</author>
<published>2014-06-13T11:39:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=44be28e9dd9880dca3e2cbf7a844f2114e67f2cb'/>
<id>urn:sha1:44be28e9dd9880dca3e2cbf7a844f2114e67f2cb</id>
<content type='text'>
It appears that the BayTrail-T class of hardware requires EFI in order
to powerdown and reboot and no other reliable method exists.

This quirk is generally applicable to all hardware that has the ACPI
Hardware Reduced bit set, since usually ACPI would be the preferred
method.

Cc: Len Brown &lt;len.brown@intel.com&gt;
Cc: Mark Salter &lt;msalter@redhat.com&gt;
Cc: "Rafael J. Wysocki" &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>efi/x86: Move UEFI Runtime Services wrappers to generic code</title>
<updated>2014-07-07T19:12:53Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2014-06-26T10:09:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=022ee6c558fc933679e151f00f84332974147fa2'/>
<id>urn:sha1:022ee6c558fc933679e151f00f84332974147fa2</id>
<content type='text'>
In order for other archs (such as arm64) to be able to reuse the virtual
mode function call wrappers, move them to drivers/firmware/efi/runtime-wrappers.c.

Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>x86/efi: Use early_memunmap() to squelch sparse errors</title>
<updated>2014-06-19T10:14:33Z</updated>
<author>
<name>Matt Fleming</name>
</author>
<published>2014-06-09T12:41:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98a716b66cab993e15001c7ec06f637ca6f1079b'/>
<id>urn:sha1:98a716b66cab993e15001c7ec06f637ca6f1079b</id>
<content type='text'>
The kbuild reports the following sparse errors,

&gt;&gt; arch/x86/platform/efi/quirks.c:242:23: sparse: incorrect type in &gt;&gt; argument 1 (different address spaces)
   arch/x86/platform/efi/quirks.c:242:23:    expected void [noderef] &lt;asn:2&gt;*addr
   arch/x86/platform/efi/quirks.c:242:23:    got void *[assigned] tablep
&gt;&gt; arch/x86/platform/efi/quirks.c:245:23: sparse: incorrect type in &gt;&gt; argument 1 (different address spaces)
   arch/x86/platform/efi/quirks.c:245:23:    expected void [noderef] &lt;asn:2&gt;*addr
   arch/x86/platform/efi/quirks.c:245:23:    got struct efi_setup_data *[assigned] data

Dave Young had made previous attempts to convert the early_iounmap()
calls to early_memunmap() but ran into merge conflicts with commit
9e5c33d7aeee ("mm: create generic early_ioremap() support").

Now that we've got that commit in place we can switch to using
early_memunmap() since we're already using early_memremap() in
efi_reuse_config().

Cc: Dave Young &lt;dyoung@redhat.com&gt;
Cc: Saurabh Tangri &lt;saurabh.tangri@intel.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
<entry>
<title>x86/efi: Move all workarounds to a separate file quirks.c</title>
<updated>2014-06-19T10:14:33Z</updated>
<author>
<name>Saurabh Tangri</name>
</author>
<published>2014-06-02T12:18:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eeb9db09f738993c63ecb5aedf950a1e4fe4bd3f'/>
<id>urn:sha1:eeb9db09f738993c63ecb5aedf950a1e4fe4bd3f</id>
<content type='text'>
Currently, it's difficult to find all the workarounds that are
applied when running on EFI, because they're littered throughout
various code paths. This change moves all of them into a separate
file with the hope that it will be come the single location for all
our well documented quirks.

Signed-off-by: Saurabh Tangri &lt;saurabh.tangri@intel.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
</feed>
