0001 What: /sys/firmware/gsmi
0002 Date: March 2011
0003 Contact: Mike Waychison <mikew@google.com>
0004 Description:
0005 Some servers used internally at Google have firmware
0006 that provides callback functionality via explicit SMI
0007 triggers. Some of the callbacks are similar to those
0008 provided by the EFI runtime services page, but due to
0009 historical reasons this different entry-point has been
0010 used.
0011
0012 The gsmi driver implements the kernel's abstraction for
0013 these firmware callbacks. Currently, this functionality
0014 is limited to handling the system event log and getting
0015 access to EFI-style variables stored in nvram.
0016
0017 Layout:
0018
0019 /sys/firmware/gsmi/vars:
0020
0021 This directory has the same layout (and
0022 underlying implementation as /sys/firmware/efi/vars.
0023 See `Documentation/ABI/*/sysfs-firmware-efi-vars`
0024 for more information on how to interact with
0025 this structure.
0026
0027 /sys/firmware/gsmi/append_to_eventlog - write-only:
0028
0029 This file takes a binary blob and passes it onto
0030 the firmware to be timestamped and appended to
0031 the system eventlog. The binary format is
0032 interpreted by the firmware and may change from
0033 platform to platform. The only kernel-enforced
0034 requirement is that the blob be prefixed with a
0035 32bit host-endian type used as part of the
0036 firmware call.
0037
0038 /sys/firmware/gsmi/clear_config - write-only:
0039
0040 Writing any value to this file will cause the
0041 entire firmware configuration to be reset to
0042 "factory defaults". Callers should assume that
0043 a reboot is required for the configuration to be
0044 cleared.
0045
0046 /sys/firmware/gsmi/clear_eventlog - write-only:
0047
0048 This file is used to clear out a portion/the
0049 whole of the system event log. Values written
0050 should be values between 1 and 100 inclusive (in
0051 ASCII) representing the fraction of the log to
0052 clear. Not all platforms support fractional
0053 clearing though, and this writes to this file
0054 will error out if the firmware doesn't like your
0055 submitted fraction.
0056
0057 Callers should assume that a reboot is needed
0058 for this operation to complete.