khypervisor  v1
virqmap.h
Go to the documentation of this file.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines