
Hi Simon,
On Wed, Apr 29, 2015 at 10:25 AM, Simon Glass sjg@chromium.org wrote:
This provides a way of passing information to Linux without requiring the full ACPI horror. Provide a rudimentary implementation sufficient to be recognised and parsed by Linux.
Signed-off-by: Simon Glass sjg@chromium.org
Looks good, thanks!
Reviewed-by: Bin Meng bmeng.cn@gmail.com
But some nits below :)
Changes in v2:
- Rename CONFIG_SFI to CONFIG_GENERATE_SFI_TABLE and move within Kconfig
- Correct Kconfig help indentation and text
- Drop SFI_BASE config option
- Always build sfi.o
- Use SFI_TABLE_MAX_ENTRIES instead of 16 and ARRAY_SIZE()
- Make get_entry_start() static
- Use table_compute_checksum() to computer checksum
- Add a few blank lines
- Move patch to after the CPU uclass patch
- Drop the RTC table as it is not needed
- Move SFI calling code to write_tables()
- Remove IDLE table
- Remove SFI_SYST_SEARCH_BEGIN and SFI_SYST_SEARCH_END
- Move '__packed' to immediately after 'struct'
- Add SFI_DEV_TYPE_SD and convert to enum
- Remove #ifdef CONFIG_SFI from hedaer file
- Move sfi.h header file to arch/x86/include/asm
arch/x86/Kconfig | 14 +++++ arch/x86/include/asm/sfi.h | 137 ++++++++++++++++++++++++++++++++++++++++ arch/x86/lib/Makefile | 1 + arch/x86/lib/sfi.c | 154 +++++++++++++++++++++++++++++++++++++++++++++ arch/x86/lib/tables.c | 5 ++ 5 files changed, 311 insertions(+) create mode 100644 arch/x86/include/asm/sfi.h create mode 100644 arch/x86/lib/sfi.c
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index f3a600e..f38e9ba 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -393,6 +393,20 @@ config GENERATE_PIRQ_TABLE It specifies the interrupt router information as well how all the PCI devices' interrupt pins are wired to PIRQs.
+config GENERATE_SFI_TABLE
bool "SFI (Simple Firmware Interface) Support"
Should we say: Generate an SFI (Simple Firmware Interface) table? This is to match 'Generate a PIRQ table'.
help
The Simple Firmware Interface (SFI) provides a lightweight method
for platform firmware to pass information to the operating system
via static tables in memory. Kernel SFI support is required to
boot on SFI-only platforms. If you have ACPI tables then these are
used instead.
U-Boot writes this table in sfi_write_tables() just before booting
Should be: write_sfi_table
the OS.
For more information, see http://simplefirmware.org
endmenu
[snip]
Regards, Bin