linux/include/uapi/linux/qemu_fw_cfg.h

/* SPDX-License-Identifier: BSD-3-Clause */
#ifndef _LINUX_FW_CFG_H
#define _LINUX_FW_CFG_H

#include <linux/types.h>

#define FW_CFG_ACPI_DEVICE_ID

/* selector key values for "well-known" fw_cfg entries */
#define FW_CFG_SIGNATURE
#define FW_CFG_ID
#define FW_CFG_UUID
#define FW_CFG_RAM_SIZE
#define FW_CFG_NOGRAPHIC
#define FW_CFG_NB_CPUS
#define FW_CFG_MACHINE_ID
#define FW_CFG_KERNEL_ADDR
#define FW_CFG_KERNEL_SIZE
#define FW_CFG_KERNEL_CMDLINE
#define FW_CFG_INITRD_ADDR
#define FW_CFG_INITRD_SIZE
#define FW_CFG_BOOT_DEVICE
#define FW_CFG_NUMA
#define FW_CFG_BOOT_MENU
#define FW_CFG_MAX_CPUS
#define FW_CFG_KERNEL_ENTRY
#define FW_CFG_KERNEL_DATA
#define FW_CFG_INITRD_DATA
#define FW_CFG_CMDLINE_ADDR
#define FW_CFG_CMDLINE_SIZE
#define FW_CFG_CMDLINE_DATA
#define FW_CFG_SETUP_ADDR
#define FW_CFG_SETUP_SIZE
#define FW_CFG_SETUP_DATA
#define FW_CFG_FILE_DIR

#define FW_CFG_FILE_FIRST
#define FW_CFG_FILE_SLOTS_MIN

#define FW_CFG_WRITE_CHANNEL
#define FW_CFG_ARCH_LOCAL
#define FW_CFG_ENTRY_MASK

#define FW_CFG_INVALID

/* width in bytes of fw_cfg control register */
#define FW_CFG_CTL_SIZE

/* fw_cfg "file name" is up to 56 characters (including terminating nul) */
#define FW_CFG_MAX_FILE_PATH

/* size in bytes of fw_cfg signature */
#define FW_CFG_SIG_SIZE

/* FW_CFG_ID bits */
#define FW_CFG_VERSION
#define FW_CFG_VERSION_DMA

/* fw_cfg file directory entry type */
struct fw_cfg_file {};

/* FW_CFG_DMA_CONTROL bits */
#define FW_CFG_DMA_CTL_ERROR
#define FW_CFG_DMA_CTL_READ
#define FW_CFG_DMA_CTL_SKIP
#define FW_CFG_DMA_CTL_SELECT
#define FW_CFG_DMA_CTL_WRITE

#define FW_CFG_DMA_SIGNATURE

/* Control as first field allows for different structures selected by this
 * field, which might be useful in the future
 */
struct fw_cfg_dma_access {};

#define FW_CFG_VMCOREINFO_FILENAME

#define FW_CFG_VMCOREINFO_FORMAT_NONE
#define FW_CFG_VMCOREINFO_FORMAT_ELF

struct fw_cfg_vmcoreinfo {};

#endif