[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230131040355.3116-1-justin.he@arm.com>
Date: Tue, 31 Jan 2023 04:03:53 +0000
From: Jia He <justin.he@....com>
To: Ard Biesheuvel <ardb@...nel.org>
Cc: Huacai Chen <chenhuacai@...nel.org>, linux-efi@...r.kernel.org,
linux-kernel@...r.kernel.org,
Alexandru Elisei <alexandru.elisei@....com>,
Jia He <justin.he@....com>
Subject: [PATCH 0/2] Fix boot hang issue on Ampere Emag server
I met a hung task warning and then kernel was hung forever with latest
kernel on an Ampere Emag server.
The root cause is kernel was hung when invoking an efi rts call to set
the RandomSeed variable during the booting stage. The arch_efi_call_virt
call (set_variable) was never returned and then caused the hung task error.
On the Emag server, efi_rt_services_supported(EFI_RT_SUPPORTED_SET_VARIABLE)
is returned with "true"
Fix it by introducing the efi_get_supported_rt_services() and then determine
to set or clear the runtime services bit of efi.flags.
Jia He (2):
efi: libstub: Fix the retriving of supported rutime services
efi: Introduce efi_get_supported_rt_services() to get the runtime
services mask
drivers/firmware/efi/arm-runtime.c | 5 ++++-
drivers/firmware/efi/efi.c | 28 +++++++++++++++++--------
drivers/firmware/efi/libstub/efi-stub.c | 2 ++
include/linux/efi.h | 1 +
4 files changed, 26 insertions(+), 10 deletions(-)
--
2.25.1
Powered by blists - more mailing lists