1 /* $OpenBSD: fw_cfg.h,v 1.2 2021/06/16 16:55:02 dv Exp $ */ 2 /* 3 * Copyright (c) 2018 Claudio Jeker <claudio@openbsd.org> 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18 #include "vmd.h" 19 20 #ifndef _FW_CFG_H_ 21 #define _FW_CFG_H_ 22 23 #define FW_CFG_IO_SELECT 0x510 24 #define FW_CFG_IO_DATA 0x511 25 #define FW_CFG_IO_DMA_ADDR_HIGH 0x514 26 #define FW_CFG_IO_DMA_ADDR_LOW 0x518 27 28 void fw_cfg_init(struct vmop_create_params *); 29 int fw_cfg_dump(int); 30 int fw_cfg_restore(int); 31 uint8_t vcpu_exit_fw_cfg(struct vm_run_params *); 32 uint8_t vcpu_exit_fw_cfg_dma(struct vm_run_params *); 33 void fw_cfg_add_file(const char *, const void *, size_t); 34 35 #endif /* _FW_CFG_H_ */ 36