From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [RFC 07/14] efi_loader: capsule: add memory range capsule definitions
Date: Wed, 18 Mar 2020 10:22:34 +0900 [thread overview]
Message-ID: <20200318012233.GQ13880@linaro.org> (raw)
In-Reply-To: <13f6ac99-42ae-a548-53c3-d9c8a3d75745@gmx.de>
On Tue, Mar 17, 2020 at 09:11:43AM +0100, Heinrich Schuchardt wrote:
> On 3/17/20 3:12 AM, AKASHI Takahiro wrote:
> > Memory range capsule gives us a way to notify that some memory regions
> > should be left untouched across the next reset.
> > See UEFI specification, section 8.5.3.
>
> There are multiple places where RAM availability is tested by writing
> during board bring up. Please, describe which changes are needed in ATF
> and U-Boot to make memory range capsules work reliably.
I think that they are quite system/platform-specific
and that it's beyond the scope of this patch.
Thanks,
-Takahiro Akashi
> Consider also memory encryption provided by some CPUs.
> https://www.tomshardware.com/news/intel-mktme-amd-memory-encryption,39467.html
>
> Aren't file based capsules a much more reliable way for the OS to
> communicate to the firmware?
>
> Best regards
>
> Heinrich
>
> >
> > Since how we should handle this kind of capsule is totally up to
> > the system, no implementation will be added in this commit.
> >
> > Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > ---
> > include/efi_api.h | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> > diff --git a/include/efi_api.h b/include/efi_api.h
> > index ac2b38801c0c..b7bf21cac7ad 100644
> > --- a/include/efi_api.h
> > +++ b/include/efi_api.h
> > @@ -221,6 +221,10 @@ enum efi_reset_type {
> > EFI_GUID(0x39b68c46, 0xf7fb, 0x441b, 0xb6, 0xec, \
> > 0x16, 0xb0, 0xf6, 0x98, 0x21, 0xf3)
> >
> > +#define EFI_MEMORY_RANGE_CAPSULE_GUID \
> > + EFI_GUID(0xde9f0ec, 0x88b6, 0x428f, 0x97, 0x7a, \
> > + 0x25, 0x8f, 0x1d, 0xe, 0x5e, 0x72)
> > +
> > struct efi_capsule_header {
> > efi_guid_t capsule_guid;
> > u32 header_size;
> > @@ -236,6 +240,19 @@ struct efi_capsule_result_variable_header {
> > efi_status_t capsule_status;
> > } __packed;
> >
> > +struct efi_memory_range {
> > + efi_physical_addr_t address;
> > + u64 length;
> > +};
> > +
> > +struct efi_memory_range_capsule {
> > + struct efi_capsule_header *header;
> > + /* EFI_MEMORY_TYPE: 0x80000000-0xFFFFFFFF */
> > + enum efi_mem_type os_requested_memory_type;
> > + u64 number_of_memory_ranges;
> > + struct efi_memory_range memory_ranges[];
> > +} __packed;
> > +
> > #define EFI_RT_SUPPORTED_GET_TIME 0x0001
> > #define EFI_RT_SUPPORTED_SET_TIME 0x0002
> > #define EFI_RT_SUPPORTED_GET_WAKEUP_TIME 0x0004
> >
>
next prev parent reply other threads:[~2020-03-18 1:22 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-17 2:12 [RFC 00/14] efi_loader: add capsule update support AKASHI Takahiro
2020-03-17 2:12 ` [RFC 01/14] efi_loader: define OsIndicationsSupported flags AKASHI Takahiro
2020-03-17 7:03 ` Heinrich Schuchardt
2020-03-18 1:18 ` AKASHI Takahiro
2020-03-18 18:01 ` Heinrich Schuchardt
2020-03-17 2:12 ` [RFC 02/14] efi_loader: define System Resource Table macros AKASHI Takahiro
2020-03-17 7:06 ` Heinrich Schuchardt
2020-03-18 18:02 ` Heinrich Schuchardt
2020-03-17 2:12 ` [RFC 03/14] efi_loader: export a couple of protocol related functions AKASHI Takahiro
2020-03-17 7:19 ` Heinrich Schuchardt
2020-03-18 18:03 ` Heinrich Schuchardt
2020-03-17 2:12 ` [RFC 04/14] efi_loader: correct a definition of struct efi_capsule_header AKASHI Takahiro
2020-03-17 7:25 ` Heinrich Schuchardt
2020-03-18 18:03 ` Heinrich Schuchardt
2020-03-17 2:12 ` [RFC 05/14] efi_loader: define UpdateCapsule api AKASHI Takahiro
2020-03-17 2:12 ` [RFC 06/14] efi_loader: capsule: add capsule_on_disk support AKASHI Takahiro
2020-03-18 8:55 ` Heinrich Schuchardt
2020-03-19 17:08 ` Heinrich Schuchardt
2020-03-30 7:43 ` AKASHI Takahiro
2020-03-17 2:12 ` [RFC 07/14] efi_loader: capsule: add memory range capsule definitions AKASHI Takahiro
2020-03-17 8:11 ` Heinrich Schuchardt
2020-03-18 1:22 ` AKASHI Takahiro [this message]
2020-03-18 7:35 ` Heinrich Schuchardt
2020-03-18 7:57 ` AKASHI Takahiro
2020-04-06 7:48 ` AKASHI Takahiro
2020-03-17 2:12 ` [RFC 08/14] efi_loader: capsule: support firmware update AKASHI Takahiro
2020-03-18 14:09 ` Sughosh Ganu
2020-03-17 2:12 ` [RFC 09/14] efi_loader: add simple firmware management protocol for FIT image AKASHI Takahiro
2020-03-18 8:04 ` Heinrich Schuchardt
2020-03-18 8:17 ` AKASHI Takahiro
2020-03-18 9:06 ` Heinrich Schuchardt
2020-04-06 7:59 ` AKASHI Takahiro
2020-03-17 2:12 ` [RFC 10/14] efi_loader: capsule: support variable update AKASHI Takahiro
2020-03-17 2:12 ` [RFC 11/14] efi_loader: variable: export variables table for runtime access AKASHI Takahiro
2020-03-17 7:37 ` Heinrich Schuchardt
2020-03-18 1:53 ` AKASHI Takahiro
2020-03-19 9:30 ` Ilias Apalodimas
2020-03-18 13:54 ` Sughosh Ganu
2020-03-17 2:12 ` [RFC 12/14] cmd: add "efidebug capsule" command AKASHI Takahiro
2020-03-17 2:12 ` [RFC 13/14] tools: add mkeficapsule command for UEFI capsule update test AKASHI Takahiro
2020-03-17 7:58 ` Heinrich Schuchardt
2020-03-18 1:32 ` AKASHI Takahiro
2020-03-19 8:55 ` Ilias Apalodimas
2020-03-17 2:12 ` [RFC 14/14] test/py: add efi capsule test AKASHI Takahiro
2020-03-17 7:49 ` [RFC 00/14] efi_loader: add capsule update support Heinrich Schuchardt
2020-03-18 2:04 ` AKASHI Takahiro
2020-03-31 4:36 ` AKASHI Takahiro
2020-04-14 4:38 ` AKASHI Takahiro
2020-03-18 18:16 ` Sughosh Ganu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200318012233.GQ13880@linaro.org \
--to=takahiro.akashi@linaro.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.