On Mon, 26 Jul 2021 at 09:18, Sunny Wang <sunny.w...@arm.com> wrote: > > Please ignore this patch. Making gRT->SetVariable at runtime return > EFI_UNSUPPORTED would cause some OSes' installation failure/error. > I thought the latest OS may support UNSUPPORTED case, but it turned out still > an error/failure. I checked both Ubuntu 21.04 and OpenSUSE 15.3 Leap, and > both of them could not be smoothly installed. > I will take a further look into this and figure out a better solution. >
ok > Hi Ard, > Yeah, I'm also working on EFI_RT_PROPERTIES_TABLE, but ran into some > problems. I'm still debugging it. Hope using EFI_RT_PROPERTIES_TABLE won't > cause OS installation failure. > ok > Best Regards, > Sunny Wang > > -----Original Message----- > From: Ard Biesheuvel <a...@kernel.org> > Sent: Friday, July 23, 2021 11:10 PM > To: Sunny Wang <sunny.w...@arm.com> > Cc: edk2-devel-groups-io <devel@edk2.groups.io>; Samer El-Haj-Mahmoud > <samer.el-haj-mahm...@arm.com>; Sami Mujawar <sami.muja...@arm.com>; Jeremy > Linton <jeremy.lin...@arm.com>; Ard Biesheuvel <ardb+tianoc...@kernel.org>; > Pete Batard <p...@akeo.ie>; Leif Lindholm <l...@nuviainc.com> > Subject: Re: [edk2-platform PATCH v1 1/1] Platform/RaspberryPi: Make > SetVariable return EFI_UNSUPPORTED at runtime > > On Fri, 23 Jul 2021 at 11:15, Sunny Wang <sunny.w...@arm.com> wrote: > > > > The RPi does not support storing UEFI NV variables at runtime. For now, > > gRT->SetVariable at runtime returns EFI_OUT_OF_RESOURCES which is not a > > proper error and would cause FWTS failures. Therefore, this patch is > > to make gRT->SetVariable at runtime return EFI_UNSUPPORTED. > > > > For more information, please check the issues below: > > -https://github.com/pftf/RPi4/issues/6 > > -https://github.com/pftf/RPi4/issues/93 > > -https://github.com/pftf/RPi4/issues/163 > > > > I also tested this with the ACS 3.0 FWTS. All the failures > > reported in issue 93 and 163 can be fixed by this patch. > > > > Cc: Samer El-Haj-Mahmoud <samer.el-haj-mahm...@arm.com> > > Cc: Sami Mujawar <sami.muja...@arm.com> > > Cc: Jeremy Linton <jeremy.lin...@arm.com> > > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> > > Cc: Pete Batard <p...@akeo.ie> > > Cc: Leif Lindholm <l...@nuviainc.com> > > > > Signed-off-by: Sunny Wang <sunny.w...@arm.com> > > This looks ok to me, but we should also expose this fact via the > EFI_RT_PROPERTIES_TABLE, so that the OS can anticipate this result. > > > --- > > .../Drivers/VarBlockServiceDxe/VarBlockService.c | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git > > a/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c > > b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c > > index 572309439a..16d4d4f178 100644 > > --- a/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c > > +++ b/Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockService.c > > @@ -2,6 +2,7 @@ > > * > > * Copyright (c) 2018, Andrei Warkentin <andrey.warken...@gmail.com> > > * Copyright (c) 2006-2014, Intel Corporation. All rights reserved. > > + * Copyright (c) 2021, ARM Limited. All rights reserved. > > * > > * SPDX-License-Identifier: BSD-2-Clause-Patent > > * > > @@ -596,6 +597,7 @@ FvbProtocolWrite ( > > EFI_DEVICE_ERROR - The block device is not functioning correctly > > and > > could not be written > > EFI_INVALID_PARAMETER - NumBytes or Buffer are NULL > > + EFI_UNSUPPORTED This function is not supported at runtime > > > > --*/ > > { > > @@ -605,6 +607,16 @@ FvbProtocolWrite ( > > EFI_STATUS Status; > > EFI_STATUS ReturnStatus; > > > > + // > > + // The current variables support relies on modifying RPI_EFI.FD on SD > > + // card, which works fine at boot time. However, at runtime, the SD > > + // controller is exposed via ACPI and subsequently owned by the OS. > > + // Therefore, we need to direclty return EFI_UNSUPPORTED. > > + // > > + if (EfiAtRuntime ()) { > > + return EFI_UNSUPPORTED; > > + } > > + > > // > > // Check for invalid conditions. > > // > > -- > > 2.31.0.windows.1 > > > IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78179): https://edk2.groups.io/g/devel/message/78179 Mute This Topic: https://groups.io/mt/84397460/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-