mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
efi: Collect the ACPI tables in the app
Locate these so that they can be displayed using the 'acpi' command. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
committed by
Heinrich Schuchardt
parent
f32fee0359
commit
a900d88e1a
@@ -12,18 +12,21 @@
|
||||
#include <cpu_func.h>
|
||||
#include <debug_uart.h>
|
||||
#include <dm.h>
|
||||
#include <efi.h>
|
||||
#include <efi_api.h>
|
||||
#include <errno.h>
|
||||
#include <init.h>
|
||||
#include <malloc.h>
|
||||
#include <sysreset.h>
|
||||
#include <uuid.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/types.h>
|
||||
#include <efi.h>
|
||||
#include <efi_api.h>
|
||||
#include <sysreset.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <dm/device-internal.h>
|
||||
#include <dm/lists.h>
|
||||
#include <dm/root.h>
|
||||
#include <mapmem.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
@@ -320,6 +323,19 @@ int dm_scan_other(bool pre_reloc_only)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void scan_tables(struct efi_system_table *sys_table)
|
||||
{
|
||||
efi_guid_t acpi = EFI_ACPI_TABLE_GUID;
|
||||
uint i;
|
||||
|
||||
for (i = 0; i < sys_table->nr_tables; i++) {
|
||||
struct efi_configuration_table *tab = &sys_table->tables[i];
|
||||
|
||||
if (!memcmp(&tab->guid, &acpi, sizeof(efi_guid_t)))
|
||||
gd_set_acpi_start(map_to_sysmem(tab->table));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* efi_main() - Start an EFI image
|
||||
*
|
||||
@@ -354,6 +370,8 @@ efi_status_t EFIAPI efi_main(efi_handle_t image,
|
||||
return ret;
|
||||
}
|
||||
|
||||
scan_tables(priv->sys_table);
|
||||
|
||||
/*
|
||||
* We could store the EFI memory map here, but it changes all the time,
|
||||
* so this is only useful for debugging.
|
||||
|
||||
Reference in New Issue
Block a user