[PATCH 1/3] firmware: introduce sysfs driver for QEMU's fw_cfg device
Greg KH
gregkh at linuxfoundation.org
Mon Aug 10 15:15:09 EDT 2015
On Mon, Aug 10, 2015 at 03:02:22PM -0400, Gabriel L. Somlo wrote:
> Mainly, qemu's fw_cfg is a read-only "device", so one wouldn't ever
> care to try writing anything to it. /sys/firmware/... feels like a fit
> because fw_cfg contains binary blobs originally meant to be used by
> the bios (it's how SeaBIOS and OVMF pull smbios and acpi tables out of
> the host and set them up in guest memory before booting the guest kernel,
> as one of the many examples).
>
> The most similar example (and the existing driver I used as an example
> during implementation) is dmi-sysfs.c, which also exposes all the
> metadata for each smbios table as numeric (or string) read-only attributes,
> and has a "raw" attribute which allows dumping each table in its
> entirety. Same thing here -- I want to expose the name, size, and
> select key for each blob, but also allow access to the "payload", i.e.
> the blob itself.
That's great, and you can have these "blobs" be an attribute for a
struct device. Just using a "raw" kobject as you are is hard, as you
have seen, and messy. Making it a "real" device makes this all much
easier and simpler.
Now if you want to keep things in /sys/firmware/ that's another issue,
and would have to stay as a kobject. so maybe it does need to remain,
need to think about that...
thanks,
greg k-h
More information about the Kernelnewbies
mailing list