mirror of
https://github.com/rhboot/gnu-efi
synced 2026-08-26 00:26:04 -04:00
Merge /u/gmbr3/gnu-efi/ branch shim into master
https://sourceforge.net/p/gnu-efi/code/merge-requests/61/
This commit is contained in:
commit
f5bb5112de
8 changed files with 56 additions and 12 deletions
|
|
@ -172,7 +172,7 @@ ifeq ($(ARCH),arm)
|
|||
CFLAGS += -marm
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),aarch64)
|
||||
ifneq (,$(filter $(ARCH),aarch64 arm))
|
||||
LDFLAGS += -z common-page-size=4096
|
||||
LDFLAGS += -z max-page-size=4096
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ SECTIONS
|
|||
} =0
|
||||
_reloc_vsize = _evreloc - _reloc;
|
||||
_reloc_size = _ereloc - _reloc;
|
||||
. = ALIGN(4096);
|
||||
. = ALIGN(65536);
|
||||
_data = .;
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
|
|
|
|||
|
|
@ -229,6 +229,7 @@ VOID
|
|||
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
|
||||
#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
|
||||
#define EFI_VARIABLE_APPEND_WRITE 0x00000040
|
||||
#define EFI_VARIABLE_ENHANCED_AUTHENTICATED_ACCESS 0x00000080
|
||||
|
||||
// Variable size limitation
|
||||
#define EFI_MAXIMUM_VARIABLE_SIZE 1024
|
||||
|
|
@ -771,6 +772,8 @@ typedef struct _EFI_TABLE_HEADER {
|
|||
//
|
||||
|
||||
#define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552
|
||||
#define EFI_1_10_RUNTIME_SERVICES_REVISION ((1<<16) | (10))
|
||||
#define EFI_2_00_RUNTIME_SERVICES_REVISION ((2<<16) | (0))
|
||||
#define EFI_RUNTIME_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -818,6 +821,8 @@ typedef struct {
|
|||
//
|
||||
|
||||
#define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42
|
||||
#define EFI_1_10_BOOT_SERVICES_REVISION ((1<<16) | (10))
|
||||
#define EFI_2_00_BOOT_SERVICES_REVISION ((2<<16) | (0))
|
||||
#define EFI_BOOT_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
|
||||
|
||||
typedef struct _EFI_BOOT_SERVICES {
|
||||
|
|
@ -960,6 +965,9 @@ typedef struct _EFI_CONFIGURATION_TABLE {
|
|||
|
||||
|
||||
#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
|
||||
#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | (02))
|
||||
#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | (10))
|
||||
#define EFI_2_00_SYSTEM_TABLE_REVISION ((2<<16) | (0))
|
||||
#define EFI_SYSTEM_TABLE_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
|
||||
|
||||
typedef struct _EFI_SYSTEM_TABLE {
|
||||
|
|
|
|||
|
|
@ -190,12 +190,13 @@ typedef enum {
|
|||
#define EFI_MEMORY_WC 0x0000000000000002
|
||||
#define EFI_MEMORY_WT 0x0000000000000004
|
||||
#define EFI_MEMORY_WB 0x0000000000000008
|
||||
#define EFI_MEMORY_UCE 0x0000000000000010
|
||||
|
||||
// physical memory protection on range
|
||||
#define EFI_MEMORY_UCE 0x0000000000000010
|
||||
#define EFI_MEMORY_WP 0x0000000000001000
|
||||
|
||||
// physical memory protection on range
|
||||
#define EFI_MEMORY_RP 0x0000000000002000
|
||||
#define EFI_MEMORY_XP 0x0000000000004000
|
||||
#define EFI_MEMORY_RO 0x0000000000020000
|
||||
|
||||
// range requires a runtime mapping
|
||||
#define EFI_MEMORY_RUNTIME 0x8000000000000000
|
||||
|
|
|
|||
|
|
@ -287,17 +287,17 @@ ZeroMem (
|
|||
IN UINTN Size
|
||||
);
|
||||
|
||||
VOID
|
||||
VOID EFIAPI
|
||||
SetMem (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN Size,
|
||||
IN UINT8 Value
|
||||
);
|
||||
|
||||
VOID
|
||||
VOID EFIAPI
|
||||
CopyMem (
|
||||
IN VOID *Dest,
|
||||
IN CONST VOID *Src,
|
||||
IN VOID *Src,
|
||||
IN UINTN len
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -1428,4 +1428,39 @@ typedef struct _EFI_EBC_PROTOCOL {
|
|||
EFI_EBC_GET_VERSION GetVersion;
|
||||
} EFI_EBC_PROTOCOL;
|
||||
|
||||
INTERFACE_DECL(_EFI_MEMORY_ATTRIBUTE_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_GET_MEMORY_ATTRIBUTES)(
|
||||
IN struct _EFI_MEMORY_ATTRIBUTE_PROTOCOL *This,
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length,
|
||||
OUT UINT64 *Attributes
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SET_MEMORY_ATTRIBUTES)(
|
||||
IN struct _EFI_MEMORY_ATTRIBUTE_PROTOCOL *This,
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length,
|
||||
IN UINT64 Attributes
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CLEAR_MEMORY_ATTRIBUTES)(
|
||||
IN struct _EFI_MEMORY_ATTRIBUTE_PROTOCOL *This,
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length,
|
||||
IN UINT64 Attributes
|
||||
);
|
||||
|
||||
typedef struct _EFI_MEMORY_ATTRIBUTE_PROTOCOL {
|
||||
EFI_GET_MEMORY_ATTRIBUTES GetMemoryAttributes;
|
||||
EFI_SET_MEMORY_ATTRIBUTES SetMemoryAttributes;
|
||||
EFI_CLEAR_MEMORY_ATTRIBUTES ClearMemoryAttributes;
|
||||
} EFI_MEMORY_ATTRIBUTE_PROTOCOL;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ ZeroMem (
|
|||
RtZeroMem (Buffer, Size);
|
||||
}
|
||||
|
||||
VOID
|
||||
VOID EFIAPI
|
||||
SetMem (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN Size,
|
||||
|
|
@ -108,10 +108,10 @@ SetMem (
|
|||
RtSetMem (Buffer, Size, Value);
|
||||
}
|
||||
|
||||
VOID
|
||||
VOID EFIAPI
|
||||
CopyMem (
|
||||
IN VOID *Dest,
|
||||
IN CONST VOID *Src,
|
||||
IN VOID *Src,
|
||||
IN UINTN len
|
||||
)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -205,7 +205,7 @@ StrDuplicate (
|
|||
Size = StrSize(Src);
|
||||
Dest = AllocatePool (Size);
|
||||
if (Dest) {
|
||||
CopyMem (Dest, Src, Size);
|
||||
CopyMem (Dest, (void *)Src, Size);
|
||||
}
|
||||
return Dest;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue