<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/u-boot/lib/efi_loader/efi_runtime.c, branch master</title>
<subtitle>Broadcom-s U-Boot</subtitle>
<id>https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/'/>
<updated>2019-06-14T17:18:40Z</updated>
<entry>
<title>efi_loader: GetTime() must return EFI_UNSUPPORTED</title>
<updated>2019-06-14T17:18:40Z</updated>
<author>
<name>Heinrich Schuchardt</name>
</author>
<published>2019-06-13T16:42:40Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=c5b63bec2f885e2b0a475aca33c7696c59ae6965'/>
<id>urn:sha1:c5b63bec2f885e2b0a475aca33c7696c59ae6965</id>
<content type='text'>
If the GetTime() runtime service is not supported, EFI_UNSUPPORTED has to
be returned.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: add RuntimeServicesSupported variable</title>
<updated>2019-06-14T17:18:40Z</updated>
<author>
<name>AKASHI Takahiro</name>
</author>
<published>2019-06-05T04:21:38Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=e771b4b39e8c52f7093ec1126a59daf072ac773b'/>
<id>urn:sha1:e771b4b39e8c52f7093ec1126a59daf072ac773b</id>
<content type='text'>
This variable is defined in UEFI specification 2.8, section 8.1.
Its value should be updated whenever we add any usable runtime services
function.

Currently we only support SetVirtualAddress() for all systems and
ResetSystem() for some.

Signed-off-by: AKASHI Takahiro &lt;takahiro.akashi@linaro.org&gt;
Reviewed-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: event signaling in ExitBootServices</title>
<updated>2019-06-10T21:06:19Z</updated>
<author>
<name>Heinrich Schuchardt</name>
</author>
<published>2019-06-07T04:47:01Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=7eaa900e56b28350d954eac20b14c3adb6da2570'/>
<id>urn:sha1:7eaa900e56b28350d954eac20b14c3adb6da2570</id>
<content type='text'>
ExitBootServices() has to stop timer related activity before calling the
events of the EFI_EVENT_GROUP_EXIT_BOOT_SERVICES event group. But our
current implementation was stopping all other events.

All events have to observe the task priority level.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: Kconfig entries for GetTime(), SetTime()</title>
<updated>2019-06-01T02:53:13Z</updated>
<author>
<name>Heinrich Schuchardt</name>
</author>
<published>2019-05-31T20:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=5ec48e38eefa5fbc2cab0c34b2b48df67c0fa23e'/>
<id>urn:sha1:5ec48e38eefa5fbc2cab0c34b2b48df67c0fa23e</id>
<content type='text'>
The GetTime() and the SetTime() runtime services are not obligatory. So
let's make them customizable.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: handling of daylight saving time</title>
<updated>2019-05-31T21:27:20Z</updated>
<author>
<name>Heinrich Schuchardt</name>
</author>
<published>2019-05-31T20:08:45Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=38b9a79c6366a0e4c98b0a6f33f268fc0d3ba4ce'/>
<id>urn:sha1:38b9a79c6366a0e4c98b0a6f33f268fc0d3ba4ce</id>
<content type='text'>
If SetTime() is meant to set daylight saving time it will be called with
Time.Daylight == EFI_TIME_ADJUST_DAYLIGHT | EFI_TIME_IN_DAYLIGHT.

Return 0 from GetTime() if time is not in daylight because we cannot
determine if we are in a time zone with daylight saving time.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: check time in SetTime()</title>
<updated>2019-05-31T21:27:12Z</updated>
<author>
<name>Heinrich Schuchardt</name>
</author>
<published>2019-05-31T05:35:19Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=e6bcc354523665eace01104d1751c0a9a3039830'/>
<id>urn:sha1:e6bcc354523665eace01104d1751c0a9a3039830</id>
<content type='text'>
The UEFI spec prescribes that we check that the timestamp passed to
SetTime() is checked for validity.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: return values of GetTime()</title>
<updated>2019-05-24T16:58:13Z</updated>
<author>
<name>Heinrich Schuchardt</name>
</author>
<published>2019-05-19T19:41:28Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=bb2b13d52877c06f798600c848ddf1eb750ba85f'/>
<id>urn:sha1:bb2b13d52877c06f798600c848ddf1eb750ba85f</id>
<content type='text'>
According to the UEFI spec 2.8 the GetTime() runtime service should return
EFI_UNSUPPORTED if the real time clock is not available.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: implement SetTime</title>
<updated>2019-05-24T16:58:13Z</updated>
<author>
<name>Heinrich Schuchardt</name>
</author>
<published>2019-05-19T18:07:39Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=433bfe7b122eab59ef54e435154f31407668f5b2'/>
<id>urn:sha1:433bfe7b122eab59ef54e435154f31407668f5b2</id>
<content type='text'>
Implement the SetTime() runtime service.

Extend the real time clock selftest to check setting the clock.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: efi_add_runtime_mmio()</title>
<updated>2019-02-13T08:40:05Z</updated>
<author>
<name>Heinrich Schuchardt</name>
</author>
<published>2018-12-23T01:35:13Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=fb34f298e6095f14895739d24c5c901594030506'/>
<id>urn:sha1:fb34f298e6095f14895739d24c5c901594030506</id>
<content type='text'>
The first parameter of efi_add_runtime_mmio() is a pointer to a
pointer. This should be reflected in the documentation.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
Signed-off-by: Alexander Graf &lt;agraf@suse.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: Make RTS relocation more robust</title>
<updated>2018-12-23T03:02:20Z</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2018-12-11T09:00:42Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/u-boot/commit/?id=5c38e05ed8ce468585b3f4aceb4ebf37b904d3f1'/>
<id>urn:sha1:5c38e05ed8ce468585b3f4aceb4ebf37b904d3f1</id>
<content type='text'>
While changing the RTS alignment to 64KB in commit 7a82c3051c8f
("efi_loader: Align runtime section to 64kb") the relocation code
started to break.

The reason for that is that we didn't actually look at the real
relocation data. We merely took the RUNTIME_CODE section as a
hint and started to relocate based on self calculated data from
that point on. That calculation was now out of sync though.

To ensure we're not running into such a situation again, this patch
makes the runtime relocation code a bit more robust. We can just
trust the phys/virt hints from the payload. We also should check that
we really only have a single section, as the code doesn't handle
multiple code relocations yet.

Fixes: 7a82c3051c8f ("efi_loader: Align runtime section to 64kb")
Reported-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
Reported-by: Loic Devulder &lt;ldevulder@suse.de&gt;
Signed-off-by: Alexander Graf &lt;agraf@suse.de&gt;
Reviewed-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
Tested-by: Loic Devulder &lt;ldevulder@suse.de&gt;
Tested-by: Jonathan Gray &lt;jsg@jsg.id.au&gt;
Signed-off-by: Alexander Graf &lt;agraf@suse.de&gt;
</content>
</entry>
</feed>
