Commit cc9b499a authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI updates from Ingo Molnar:

 - refactor the EFI config table handling across architectures

 - add support for the Dell EMC OEM config table

 - include AER diagnostic output to CPER handling of fatal PCIe errors

* 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  efi: cper: print AER info of PCIe fatal error
  efi: Export Runtime Configuration Interface table to sysfs
  efi: ia64: move SAL systab handling out of generic EFI code
  efi/x86: move UV_SYSTAB handling into arch/x86
  efi: x86: move efi_is_table_address() into arch/x86
parents 98c82b4b d3dc0168
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -28,3 +28,11 @@ Description: Displays the physical addresses of all EFI Configuration
		versions are always printed first, i.e. ACPI20 comes
		before ACPI.
Users:		dmidecode

What:		/sys/firmware/efi/tables/rci2
Date:		July 2019
Contact:	Narendra K <Narendra.K@dell.com>, linux-bugs@dell.com
Description:	Displays the content of the Runtime Configuration Interface
		Table version 2 on Dell EMC PowerEdge systems in binary format
Users:		It is used by Dell EMC OpenManage Server Administrator tool to
		populate BIOS setup page.
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@
#include <asm/pal.h>
#include <asm/fpu.h>

extern unsigned long sal_systab_phys;
extern spinlock_t sal_lock;

/* SAL spec _requires_ eight args for each call. */
+3 −0
Original line number Diff line number Diff line
@@ -47,8 +47,11 @@

static __initdata unsigned long palo_phys;

unsigned long sal_systab_phys = EFI_INVALID_TABLE_ADDR;

static __initdata efi_config_table_type_t arch_tables[] = {
	{PROCESSOR_ABSTRACTION_LAYER_OVERWRITE_GUID, "PALO", &palo_phys},
	{SAL_SYSTEM_TABLE_GUID, "SALsystab", &sal_systab_phys},
	{NULL_GUID, NULL, 0},
};

+1 −1
Original line number Diff line number Diff line
@@ -586,7 +586,7 @@ setup_arch (char **cmdline_p)
	find_memory();

	/* process SAL system table: */
	ia64_sal_init(__va(efi.sal_systab));
	ia64_sal_init(__va(sal_systab_phys));

#ifdef CONFIG_ITANIUM
	ia64_patch_rse((u64) __start___rse_patchlist, (u64) __end___rse_patchlist);
+5 −0
Original line number Diff line number Diff line
@@ -242,6 +242,7 @@ static inline bool efi_is_64bit(void)
		__efi_early()->runtime_services), __VA_ARGS__)

extern bool efi_reboot_required(void);
extern bool efi_is_table_address(unsigned long phys_addr);

#else
static inline void parse_efi_setup(u64 phys_addr, u32 data_len) {}
@@ -249,6 +250,10 @@ static inline bool efi_reboot_required(void)
{
	return false;
}
static inline  bool efi_is_table_address(unsigned long phys_addr)
{
	return false;
}
#endif /* CONFIG_EFI */

#endif /* _ASM_X86_EFI_H */
Loading