Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:Update
grub2.3460
0001-arm64-Move-firmware-fdt-search-into-global...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-arm64-Move-firmware-fdt-search-into-global-function.patch of Package grub2.3460
From d39fb5b7650be9c95144a46b0b80518f1b19e7b0 Mon Sep 17 00:00:00 2001 From: Alexander Graf <agraf@suse.de> Date: Mon, 4 Jan 2016 22:00:04 +0100 Subject: [PATCH 1/2] arm64: Move firmware fdt search into global function Searching for a device tree that EFI passes to us via configuration tables is nothing architecture specific. Move it into generic code. Signed-off-by: Alexander Graf <agraf@suse.de> --- grub-core/kern/efi/init.c | 22 ++++++++++++++++++++++ grub-core/loader/arm64/fdt.c | 24 +----------------------- include/grub/efi/efi.h | 2 ++ 3 files changed, 25 insertions(+), 23 deletions(-) Index: grub-2.02~beta2/grub-core/kern/efi/init.c =================================================================== --- grub-2.02~beta2.orig/grub-core/kern/efi/init.c +++ grub-2.02~beta2/grub-core/kern/efi/init.c @@ -72,6 +72,28 @@ grub_machine_get_bootlocation (char **de } } +void * +grub_efi_get_firmware_fdt (void) +{ + grub_efi_configuration_table_t *tables; + grub_efi_guid_t fdt_guid = GRUB_EFI_DEVICE_TREE_GUID; + void *firmware_fdt = NULL; + unsigned int i; + + /* Look for FDT in UEFI config tables. */ + tables = grub_efi_system_table->configuration_table; + + for (i = 0; i < grub_efi_system_table->num_table_entries; i++) + if (grub_memcmp (&tables[i].vendor_guid, &fdt_guid, sizeof (fdt_guid)) == 0) + { + firmware_fdt = tables[i].vendor_table; + grub_dprintf ("linux", "found registered FDT @ %p\n", firmware_fdt); + break; + } + + return firmware_fdt; +} + void grub_efi_fini (void) { Index: grub-2.02~beta2/include/grub/efi/efi.h =================================================================== --- grub-2.02~beta2.orig/include/grub/efi/efi.h +++ grub-2.02~beta2/include/grub/efi/efi.h @@ -86,6 +86,8 @@ extern void (*EXPORT_VAR(grub_efi_net_co char **device, char **path); +void *EXPORT_FUNC(grub_efi_get_firmware_fdt)(void); + grub_addr_t grub_efi_modules_addr (void); void grub_efi_mm_init (void);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor