Thread (5 messages) 5 messages, 3 authors, 2019-12-12

Re: [PATCH 1/2] efi: add a function for transferring status to string

From: Joey Lee <JLee@suse.com>
Date: 2019-12-12 14:44:01
Also in: linux-efi, lkml

Hi Ard, 

On Thu, Dec 12, 2019 at 11:20:48AM +0000, Ard Biesheuvel wrote:
On Thu, 12 Dec 2019 at 10:38, Lee, Chun-Yi [off-list ref] wrote:
quoted
This function can be used to transfer EFI status code to string
to improve the readability of debug log.

Signed-off-by: "Lee, Chun-Yi" <jlee@suse.com>
I think I mentioned this the last time you sent this patch: by making
this a static inline, those strings will be copied into each object
file that uses this routine.
Instead, please make it an ordinary function.
Sorry for I just sent a old version patch. I will send a new one.

Thanks a lot!
Joey Lee 
quoted
---
 include/linux/efi.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
diff --git a/include/linux/efi.h b/include/linux/efi.h
index d87acf62958e..08daf4cdd807 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -42,6 +42,32 @@
 #define EFI_ABORTED            (21 | (1UL << (BITS_PER_LONG-1)))
 #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1)))

+#define EFI_STATUS_STR(_status) \
+       case EFI_##_status: \
+               return "EFI_" __stringify(_status);
+
+static inline char *
+efi_status_to_str(unsigned long status)
+{
+       switch (status) {
+       EFI_STATUS_STR(SUCCESS)
+       EFI_STATUS_STR(LOAD_ERROR)
+       EFI_STATUS_STR(INVALID_PARAMETER)
+       EFI_STATUS_STR(UNSUPPORTED)
+       EFI_STATUS_STR(BAD_BUFFER_SIZE)
+       EFI_STATUS_STR(BUFFER_TOO_SMALL)
+       EFI_STATUS_STR(NOT_READY)
+       EFI_STATUS_STR(DEVICE_ERROR)
+       EFI_STATUS_STR(WRITE_PROTECTED)
+       EFI_STATUS_STR(OUT_OF_RESOURCES)
+       EFI_STATUS_STR(NOT_FOUND)
+       EFI_STATUS_STR(ABORTED)
+       EFI_STATUS_STR(SECURITY_VIOLATION)
+       }
+
+       return "";
+}
+
 typedef unsigned long efi_status_t;
 typedef u8 efi_bool_t;
 typedef u16 efi_char16_t;              /* UNICODE character */
--
2.16.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help