1*32640292SAndy Fiddaman /*- 2*32640292SAndy Fiddaman * SPDX-License-Identifier: BSD-2-Clause 3*32640292SAndy Fiddaman * 4*32640292SAndy Fiddaman * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG 5*32640292SAndy Fiddaman * Author: Corvin Köhne <c.koehne@beckhoff.com> 6*32640292SAndy Fiddaman */ 7*32640292SAndy Fiddaman 8*32640292SAndy Fiddaman #ifndef __QEMU_FWCFG_H__ 9*32640292SAndy Fiddaman #define __QEMU_FWCFG_H__ 10*32640292SAndy Fiddaman 11*32640292SAndy Fiddaman #pragma once 12*32640292SAndy Fiddaman 13*32640292SAndy Fiddaman #include <vmmapi.h> 14*32640292SAndy Fiddaman 15*32640292SAndy Fiddaman #define QEMU_FWCFG_MAX_ARCHS 0x2 16*32640292SAndy Fiddaman #define QEMU_FWCFG_MAX_ENTRIES 0x4000 17*32640292SAndy Fiddaman #define QEMU_FWCFG_MAX_NAME 56 18*32640292SAndy Fiddaman 19*32640292SAndy Fiddaman #define QEMU_FWCFG_FILE_TABLE_LOADER "etc/table-loader" 20*32640292SAndy Fiddaman 21*32640292SAndy Fiddaman struct qemu_fwcfg_item { 22*32640292SAndy Fiddaman uint32_t size; 23*32640292SAndy Fiddaman uint8_t *data; 24*32640292SAndy Fiddaman }; 25*32640292SAndy Fiddaman 26*32640292SAndy Fiddaman int qemu_fwcfg_add_file(const char *name, 27*32640292SAndy Fiddaman const uint32_t size, void *const data); 28*32640292SAndy Fiddaman int qemu_fwcfg_init(struct vmctx *const ctx); 29*32640292SAndy Fiddaman int qemu_fwcfg_parse_cmdline_arg(const char *opt); 30*32640292SAndy Fiddaman 31*32640292SAndy Fiddaman #endif /* !__QEMU_FWCFG_H__ */ 32