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