What:		/sys/firmware/qemu_fw_cfg/
Date:		August 2015
Contact:	Gabriel Somlo <somlo@cmu.edu>
Description:
		Several different architectures supported by QEMU (x86, arm,
		sun4*, ppc/mac) are provisioned with a firmware configuration
		(fw_cfg) device, originally intended as a way for the host to
		provide configuration data to the guest firmware. Starting
		with QEMU v2.4, arbitrary fw_cfg file entries may be specified
		by the user on the command line, which makes fw_cfg additionally
		useful as an out-of-band, asynchronous mechanism for providing
		configuration data to the guest userspace.

		The authoritative guest-side hardware interface documentation
		to the fw_cfg device can be found in "docs/specs/fw_cfg.txt"
		in the QEMU source tree.

		=== SysFS fw_cfg Interface ===

		The fw_cfg sysfs interface described in this document is only
		intended to display discoverable blobs (i.e., those registered
		with the file directory), as there is no way to determine the
		presence or size of "legacy" blobs (with selector keys between
		0x0002 and 0x0018) programmatically.

		All fw_cfg information is shown under:

			/sys/firmware/qemu_fw_cfg/

		The only legacy blob displayed is the fw_cfg device revision:

			/sys/firmware/qemu_fw_cfg/rev

		--- Discoverable fw_cfg blobs by selector key ---

		All discoverable blobs listed in the fw_cfg file directory are
		displayed as entries named after their unique selector key
		value, e.g.:

			/sys/firmware/qemu_fw_cfg/by_key/32
			/sys/firmware/qemu_fw_cfg/by_key/33
			/sys/firmware/qemu_fw_cfg/by_key/34
			...

		Each such fw_cfg sysfs entry has the following values exported
		as attributes:

		name  	: The 56-byte nul-terminated ASCII string used as the
			  blob's 'file name' in the fw_cfg directory.
		size  	: The length of the blob, as given in the fw_cfg
			  directory.
		key	: The value of the blob's selector key as given in the
			  fw_cfg directory. This value is the same as used in
			  the parent directory name.
		raw	: The raw bytes of the blob, obtained by selecting the
			  entry via the control register, and reading a number
			  of bytes equal to the blob size from the data
			  register.

		--- Listing fw_cfg blobs by file name ---

		While the fw_cfg device does not impose any specific naming
		convention on the blobs registered in the file directory,
		QEMU developers have traditionally used path name semantics
		to give each blob a descriptive name. For example:

			"bootorder"
			"genroms/kvmvapic.bin"
			"etc/e820"
			"etc/boot-fail-wait"
			"etc/system-states"
			"etc/table-loader"
			"etc/acpi/rsdp"
			"etc/acpi/tables"
			"etc/smbios/smbios-tables"
			"etc/smbios/smbios-anchor"
			...

		In addition to the listing by unique selector key described
		above, the fw_cfg sysfs driver also attempts to build a tree
		of directories matching the path name components of fw_cfg
		blob names, ending in symlinks to the by_key entry for each
		"basename", as illustrated below (assume current directory is
		/sys/firmware):

		    qemu_fw_cfg/by_name/bootorder -> ../by_key/38
		    qemu_fw_cfg/by_name/etc/e820 -> ../../by_key/35
		    qemu_fw_cfg/by_name/etc/acpi/rsdp -> ../../../by_key/41
		    ...

		Construction of the directory tree and symlinks is done on a
		"best-effort" basis, as there is no guarantee that components
		of fw_cfg blob names are always "well behaved". I.e., there is
		the possibility that a symlink (basename) will conflict with
		a dirname component of another fw_cfg blob, in which case the
		creation of the offending /sys/firmware/qemu_fw_cfg/by_name
		entry will be skipped.

		The authoritative list of entries will continue to be found
		under the /sys/firmware/qemu_fw_cfg/by_key directory.
