RE: [PATCH v2 0/2] capsule pstore backend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ard,

   There is some information in UEFI 2.4 spec  section 7.5.3  p258:  "The EFI System Table entry must use the GUID from the CapsuleGuid field of the EFI_CAPSULE_HEADER. The EFI System Table entry must point to an array of capsules that contain the same CapsuleGuid value. The array must be prefixed by a UINT32 that represents the size of the array of capsules". 

So my understanding is that the per-GUID capsule configuration table entries look like below layout:

For capsule guid xxx:          |  (u32) capsule number a | (u64)  1st capsule physical addr  | (u64)  2nd capsule physical addr | ...  |  (u64)  a-st capsule physical addr |
For capsule guid yyy:          |  (u32) capsule number b | (u64)  1st capsule physical addr  | (u64)  2nd capsule physical addr | ...  |  (u64)  b-st capsule physical addr |
...  
For capsule guid zzz:           |  (u32) capsule number c | (u64)  1st capsule physical addr  | (u64)  2nd capsule physical addr | ...  |  (u64)  c-st capsule physical addr |

The way you mentioned to go over the config table array (then we can get rid of global staff 'capsule' in struct efi) to get a group of capsules per-GUID is suitable.

This is my understanding, if wrong please correct me, thanks!

BR
qiuxu

-----Original Message-----
From: Ard Biesheuvel [mailto:ard.biesheuvel@xxxxxxxxxx] 
Sent: Friday, March 3, 2017 11:20 PM
To: Zhuo, Qiuxu <qiuxu.zhuo@xxxxxxxxx>
Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx>; linux-efi@xxxxxxxxxxxxxxx; Luck, Tony <tony.luck@xxxxxxxxx>
Subject: Re: [PATCH v2 0/2] capsule pstore backend

On 1 March 2017 at 17:59, Qiuxu Zhuo <qiuxu.zhuo@xxxxxxxxx> wrote:
> *** BLURB HERE ***
>

FYI the UEFI spec is vague about the exact format of the per-GUID capsule configuration table entries, and so we have asked the USWG for clarification. In the mean time, I'd like to refrain from merging anything based on it, so unfortunately, we are going to have to park this for now.

Regards,
Ard.

> Qiuxu Zhuo (2):
>   efi/capsule: Add 'capsule' lookup support
>   efi: capsule pstore backend
>
>  drivers/firmware/efi/Kconfig          |  21 ++
>  drivers/firmware/efi/Makefile         |   1 +
>  drivers/firmware/efi/capsule-pstore.c | 527 ++++++++++++++++++++++++++++++++++
>  drivers/firmware/efi/capsule.c        | 107 +++++++
>  drivers/firmware/efi/efi.c            |   4 +
>  include/linux/efi.h                   |   4 +
>  6 files changed, 664 insertions(+)
>  create mode 100644 drivers/firmware/efi/capsule-pstore.c
> --
>
> Change Log (v1->v2):
>   - Use memremap() instead of ioremap() for firmware tables
>   - Remove "default n" in Kconfig file
>   - Move check_capsule_support() up a bit
>   - Update SoB chain
> --
> 2.9.0.GIT
>
��.n��������+%������w��{.n�����{����*jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux