2 * This file is part of the Palacios Virtual Machine Monitor developed
3 * by the V3VEE Project with funding from the United States National
4 * Science Foundation and the Department of Energy.
6 * The V3VEE Project is a joint project between Northwestern University
7 * and the University of New Mexico. You can find out more at
10 * Copyright (c) 2008, The V3VEE Project <http://www.v3vee.org>
11 * All rights reserved.
13 * Author: Alexander Kudryavtsev <alexk@ispras.ru>
15 * This is free software. You are permitted to use,
16 * redistribute, and modify it as specified in the file "V3VEE_LICENSE".
19 #ifndef __VMM_FW_CFG_H__
20 #define __VMM_FW_CFG_H__
24 #include <palacios/vmm_types.h>
26 #define FW_CFG_FILE_FIRST 0x20
27 #define FW_CFG_FILE_SLOTS 0x10
28 #define FW_CFG_MAX_ENTRY (FW_CFG_FILE_FIRST + FW_CFG_FILE_SLOTS)
30 typedef void (*v3_fw_cfg_cb)(void * opaque, uint8_t * data);
32 struct v3_fw_cfg_entry {
35 void * callback_opaque;
36 v3_fw_cfg_cb callback;
40 struct v3_fw_cfg_state {
41 struct v3_fw_cfg_entry entries[2][FW_CFG_MAX_ENTRY];
49 int v3_fw_cfg_init(struct v3_vm_info * vm);
50 void v3_fw_cfg_deinit(struct v3_vm_info * vm);