X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_config.c;h=ec6c5ab76fe3507d32f512d156bfbe392b20232b;hb=cafbc1318c847b8c18e2036dc56be7af7acefa4e;hp=16bcb177f48da1281945e5addcefe4b254bdd6f0;hpb=6593ee3c311ec87304c7bed52a9e6034338679fb;p=palacios.git diff --git a/palacios/src/palacios/vmm_config.c b/palacios/src/palacios/vmm_config.c index 16bcb17..ec6c5ab 100644 --- a/palacios/src/palacios/vmm_config.c +++ b/palacios/src/palacios/vmm_config.c @@ -32,6 +32,8 @@ #include +#include + #define USE_GENERIC 1 #define MAGIC_CODE 0xf1e2d3c4 @@ -92,12 +94,15 @@ static int passthrough_mem_write(addr_t guest_addr, void * src, uint_t length, v } */ + + + int config_guest(struct guest_info * info, struct v3_vm_config * config_ptr) { struct guest_mem_layout * layout = (struct guest_mem_layout *)config_ptr->vm_kernel; extern v3_cpu_arch_t v3_cpu_type; void * region_start; - int i; + uint_t i; int use_ramdisk = config_ptr->use_ramdisk; int use_generic = USE_GENERIC; @@ -124,6 +129,8 @@ int config_guest(struct guest_info * info, struct v3_vm_config * config_ptr) { init_emulator(info); + v3_init_host_events(info); + // SerialPrint("Guest Mem Dump at 0x%x\n", 0x100000); //PrintDebugMemDump((unsigned char *)(0x100000), 261 * 1024); @@ -195,7 +202,6 @@ int config_guest(struct guest_info * info, struct v3_vm_config * config_ptr) { print_shadow_map(&(info->mem_map)); - { struct vm_device * ramdisk = NULL; @@ -359,16 +365,18 @@ int config_guest(struct guest_info * info, struct v3_vm_config * config_ptr) { #if 0 // give floppy controller to vm - v3_hook_irq_for_guest_injection(info, 6); + v3_hook_passthrough_irq(info, 6); #endif if (!use_ramdisk) { + PrintDebug("Hooking IDE IRQs\n"); + //primary ide - v3_hook_irq_for_guest_injection(info, 14); + v3_hook_passthrough_irq(info, 14); // secondary ide - v3_hook_irq_for_guest_injection(info, 15); + v3_hook_passthrough_irq(info, 15); } //v3_hook_io_port(info, 1234, &IO_Read, NULL, info);