mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-30 00:20:44 +09:00
efi_loader: provide firmware revision
Provide a firmware revision in the system table using the Makefile variables VERSION and PATCHLEVEL, e.g. 0x20180700 for v2018.07. Correct the type of the firmware vendor. It is a u16* pointer. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
71c846ab84
commit
0b386537a5
@ -303,7 +303,7 @@ struct efi_configuration_table
|
|||||||
|
|
||||||
struct efi_system_table {
|
struct efi_system_table {
|
||||||
struct efi_table_hdr hdr;
|
struct efi_table_hdr hdr;
|
||||||
unsigned long fw_vendor; /* physical addr of wchar_t vendor string */
|
u16 *fw_vendor; /* physical addr of wchar_t vendor string */
|
||||||
u32 fw_revision;
|
u32 fw_revision;
|
||||||
efi_handle_t con_in_handle;
|
efi_handle_t con_in_handle;
|
||||||
struct efi_simple_input_interface *con_in;
|
struct efi_simple_input_interface *con_in;
|
||||||
|
@ -6,6 +6,9 @@
|
|||||||
# This file only gets included with CONFIG_EFI_LOADER set, so all
|
# This file only gets included with CONFIG_EFI_LOADER set, so all
|
||||||
# object inclusion implicitly depends on it
|
# object inclusion implicitly depends on it
|
||||||
|
|
||||||
|
CFLAGS_efi_boottime.o += \
|
||||||
|
-DFW_VERSION="0x$(VERSION)" \
|
||||||
|
-DFW_PATCHLEVEL="0x$(PATCHLEVEL)"
|
||||||
CFLAGS_helloworld.o := $(CFLAGS_EFI) -Os -ffreestanding
|
CFLAGS_helloworld.o := $(CFLAGS_EFI) -Os -ffreestanding
|
||||||
CFLAGS_REMOVE_helloworld.o := $(CFLAGS_NON_EFI) -Os
|
CFLAGS_REMOVE_helloworld.o := $(CFLAGS_NON_EFI) -Os
|
||||||
|
|
||||||
|
@ -3110,7 +3110,7 @@ static const struct efi_boot_services efi_boot_services = {
|
|||||||
.create_event_ex = efi_create_event_ex,
|
.create_event_ex = efi_create_event_ex,
|
||||||
};
|
};
|
||||||
|
|
||||||
static uint16_t __efi_runtime_data firmware_vendor[] = L"Das U-Boot";
|
static u16 __efi_runtime_data firmware_vendor[] = L"Das U-Boot";
|
||||||
|
|
||||||
struct efi_system_table __efi_runtime_data systab = {
|
struct efi_system_table __efi_runtime_data systab = {
|
||||||
.hdr = {
|
.hdr = {
|
||||||
@ -3118,7 +3118,8 @@ struct efi_system_table __efi_runtime_data systab = {
|
|||||||
.revision = EFI_SPECIFICATION_VERSION,
|
.revision = EFI_SPECIFICATION_VERSION,
|
||||||
.headersize = sizeof(struct efi_system_table),
|
.headersize = sizeof(struct efi_system_table),
|
||||||
},
|
},
|
||||||
.fw_vendor = (long)firmware_vendor,
|
.fw_vendor = firmware_vendor,
|
||||||
|
.fw_revision = FW_VERSION << 16 | FW_PATCHLEVEL << 8,
|
||||||
.con_in = (void *)&efi_con_in,
|
.con_in = (void *)&efi_con_in,
|
||||||
.con_out = (void *)&efi_con_out,
|
.con_out = (void *)&efi_con_out,
|
||||||
.std_err = (void *)&efi_con_out,
|
.std_err = (void *)&efi_con_out,
|
||||||
|
Loading…
Reference in New Issue
Block a user