1 #include "kvm/interrupt.h" 2 3 #include "kvm/util.h" 4 5 #include <string.h> 6 7 void interrupt_table__copy(struct interrupt_table *itable, void *dst, unsigned int size) 8 { 9 if (size < sizeof(itable->entries)) 10 die("An attempt to overwrite host memory"); 11 12 memcpy(dst, itable->entries, sizeof(itable->entries)); 13 } 14 15 void interrupt_table__setup(struct interrupt_table *itable, struct real_intr_desc *entry) 16 { 17 unsigned int i; 18 19 for (i = 0; i < REAL_INTR_VECTORS; i++) 20 itable->entries[i] = *entry; 21 } 22 23 void interrupt_table__set(struct interrupt_table *itable, struct real_intr_desc *entry, unsigned int num) 24 { 25 if (num < REAL_INTR_VECTORS) 26 itable->entries[num] = *entry; 27 } 28