khypervisor
v1
|
00001 #ifndef _VIRQMAP_H_ 00002 #define _VIRQMAP_H_ 00003 00004 #include <arch_types.h> 00005 #include <hvmm_trace.h> 00006 #include <gic.h> 00007 00008 /* 00009 * Saves a mapping information to find a virq for injection. 00010 * We do not consider a sharing device that's why we save only one vmid. 00011 * 00012 * TODO(wonseok): need to change a structure when we support a sharing device among guests. 00013 */ 00014 struct virqmap_entry { 00015 vmid_t vmid; 00016 uint32_t virq; 00017 }; 00018 00019 const struct virqmap_entry *virqmap_for_pirq(uint32_t pirq); 00020 hvmm_status_t virqmap_init(void); 00021 uint32_t virqmap_pirq(vmid_t vmid, uint32_t virq); 00022 void virqmap_vgicd_changed_istatus_callback_handler(vmid_t vmid, uint32_t istatus, uint8_t word_offset ); 00023 00024 #define VIRQMAP_ENTRY_NOTFOUND 0 00025 00026 #endif