// SPDX-License-Identifier: GPL-2.0 /* * Export Runtime Configuration Interface Table Version 2 (RCI2) * to sysfs * * Copyright (C) 2019 Dell Inc * by Narendra K <[email protected]> * * System firmware advertises the address of the RCI2 Table via * an EFI Configuration Table entry. This code retrieves the RCI2 * table from the address and exports it to sysfs as a binary * attribute 'rci2' under /sys/firmware/efi/tables directory. */ #include <linux/kobject.h> #include <linux/device.h> #include <linux/sysfs.h> #include <linux/efi.h> #include <linux/types.h> #include <linux/io.h> #define RCI_SIGNATURE … struct rci2_table_global_hdr { … } __packed; static u8 *rci2_base; static u32 rci2_table_len; unsigned long rci2_table_phys __ro_after_init = …; static BIN_ATTR_SIMPLE_ADMIN_RO(rci2); static u16 checksum(void) { … } static int __init efi_rci2_sysfs_init(void) { … } late_initcall(efi_rci2_sysfs_init);