mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 19:36:51 +07:00
8f24f8c2fc
Annotate all the firmware routines (boot services, runtime services and protocol methods) called in the boot context as __efiapi, and make it expand to __attribute__((ms_abi)) on 64-bit x86. This allows us to use the compiler to generate the calls into firmware that use the MS calling convention instead of the SysV one. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Cc: Arvind Sankar <nivedita@alum.mit.edu> Cc: Borislav Petkov <bp@alien8.de> Cc: James Morse <james.morse@arm.com> Cc: Matt Fleming <matt@codeblueprint.co.uk> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: https://lkml.kernel.org/r/20191224151025.32482-13-ardb@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
32 lines
738 B
C
32 lines
738 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef BOOT_COMPRESSED_EBOOT_H
|
|
#define BOOT_COMPRESSED_EBOOT_H
|
|
|
|
#define SEG_TYPE_DATA (0 << 3)
|
|
#define SEG_TYPE_READ_WRITE (1 << 1)
|
|
#define SEG_TYPE_CODE (1 << 3)
|
|
#define SEG_TYPE_EXEC_READ (1 << 1)
|
|
#define SEG_TYPE_TSS ((1 << 3) | (1 << 0))
|
|
#define SEG_OP_SIZE_32BIT (1 << 0)
|
|
#define SEG_GRANULARITY_4KB (1 << 0)
|
|
|
|
#define DESC_TYPE_CODE_DATA (1 << 0)
|
|
|
|
typedef union efi_uga_draw_protocol efi_uga_draw_protocol_t;
|
|
|
|
union efi_uga_draw_protocol {
|
|
struct {
|
|
efi_status_t (__efiapi *get_mode)(efi_uga_draw_protocol_t *,
|
|
u32*, u32*, u32*, u32*);
|
|
void *set_mode;
|
|
void *blt;
|
|
};
|
|
struct {
|
|
u32 get_mode;
|
|
u32 set_mode;
|
|
u32 blt;
|
|
} mixed_mode;
|
|
};
|
|
|
|
#endif /* BOOT_COMPRESSED_EBOOT_H */
|