Skip to content
  • Gabriel Somlo's avatar
    firmware: create directory hierarchy for sysfs fw_cfg entries · 246c46eb
    Gabriel Somlo authored
    
    
    Each fw_cfg entry of type "file" has an associated 56-char,
    nul-terminated ASCII string which represents its name. While
    the fw_cfg device doesn't itself impose any specific naming
    convention, QEMU developers have traditionally used path name
    semantics (i.e. "etc/acpi/rsdp") to descriptively name the
    various fw_cfg "blobs" passed into the guest.
    
    This patch attempts, on a best effort basis, to create a
    directory hierarchy representing the content of fw_cfg file
    names, under /sys/firmware/qemu_fw_cfg/by_name.
    
    Upon successful creation of all directories representing the
    "dirname" portion of a fw_cfg file, a symlink will be created
    to represent the "basename", pointing at the appropriate
    /sys/firmware/qemu_fw_cfg/by_key entry. If a file name is not
    suitable for this procedure (e.g., if its basename or dirname
    components collide with an already existing dirname component
    or basename, respectively) the corresponding fw_cfg blob is
    skipped and will remain available in sysfs only by its selector
    key value.
    
    Signed-off-by: default avatarGabriel Somlo <somlo@cmu.edu>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    246c46eb