summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2022-09-26 22:17:21 +0200
committerArd Biesheuvel <ardb@kernel.org>2022-11-18 09:14:08 +0100
commitf8a31244d73288bd623a0247512f6c0b81844a92 (patch)
tree6c8e8f4246417672cdcf65406de12157f040715b /arch
parenta61962d8e7d3f11f68cbaebd477fbd8e1f7b9f6d (diff)
downloadlinux-f8a31244d73288bd623a0247512f6c0b81844a92.tar.gz
linux-f8a31244d73288bd623a0247512f6c0b81844a92.tar.bz2
linux-f8a31244d73288bd623a0247512f6c0b81844a92.zip
efi: libstub: Add mixed mode support to command line initrd loader
Now that we have support for calling protocols that need additional marshalling for mixed mode, wire up the initrd command line loader. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/efi.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
index f76f15f634bc..aaed31e640e5 100644
--- a/arch/x86/include/asm/efi.h
+++ b/arch/x86/include/asm/efi.h
@@ -324,6 +324,17 @@ static inline u32 efi64_convert_status(efi_status_t status)
#define __efi64_argmap_set_memory_space_attributes(phys, size, flags) \
(__efi64_split(phys), __efi64_split(size), __efi64_split(flags))
+/* file protocol */
+#define __efi64_argmap_open(prot, newh, fname, mode, attr) \
+ ((prot), efi64_zero_upper(newh), (fname), __efi64_split(mode), \
+ __efi64_split(attr))
+
+#define __efi64_argmap_set_position(pos) (__efi64_split(pos))
+
+/* file system protocol */
+#define __efi64_argmap_open_volume(prot, file) \
+ ((prot), efi64_zero_upper(file))
+
/*
* The macros below handle the plumbing for the argument mapping. To add a
* mapping for a specific EFI method, simply define a macro