X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_config.c;h=b6e5587ab33db71d54f54c5f3760085459dfa8d1;hb=6fe9fe338ec19b212b43bb2c25322dce3cdbb490;hp=7ec24c62af302811dd77de12a786e5a00bf6318c;hpb=82b8b87c344fcd1eab22e3f3be5ad54cbb3f8f68;p=palacios.git diff --git a/palacios/src/palacios/vmm_config.c b/palacios/src/palacios/vmm_config.c index 7ec24c6..b6e5587 100644 --- a/palacios/src/palacios/vmm_config.c +++ b/palacios/src/palacios/vmm_config.c @@ -27,6 +27,10 @@ #include #include +#ifdef CONFIG_SYMBIOTIC_SWAP +#include +#endif + #include #include @@ -35,10 +39,13 @@ #include #include +#include + + + #include -#define USE_GENERIC 1 #include @@ -50,7 +57,7 @@ static int configure_generic(struct guest_info * info, struct v3_vm_config * con - +#ifndef CONFIG_VIDEO static int passthrough_mem_write(addr_t guest_addr, void * src, uint_t length, void * priv_data) { return length; @@ -60,7 +67,7 @@ static int passthrough_mem_write(addr_t guest_addr, void * src, uint_t length, v return length; } - +#endif int v3_pre_config_guest(struct guest_info * info, struct v3_vm_config * config_ptr) { extern v3_cpu_arch_t v3_cpu_type; @@ -83,6 +90,11 @@ int v3_pre_config_guest(struct guest_info * info, struct v3_vm_config * config_p v3_init_hypercall_map(info); +#ifdef CONFIG_SYMBIOTIC_SWAP + v3_init_sym_swap(info); +#endif + + // Initialize the memory map v3_init_shadow_map(info); @@ -161,6 +173,8 @@ int v3_post_config_guest(struct guest_info * info, struct v3_vm_config * config_ * We need to make sure the memory map extends to cover it */ static int setup_memory_map(struct guest_info * info, struct v3_vm_config * config_ptr) { + +#ifndef CONFIG_VIDEO PrintDebug("Setting up memory map (memory size=%dMB)\n", (uint_t)(info->mem_size / (1024 * 1024))); // VGA frame buffer @@ -172,6 +186,7 @@ static int setup_memory_map(struct guest_info * info, struct v3_vm_config * conf } else { v3_hook_write_mem(info, 0xa0000, 0xc0000, 0xa0000, passthrough_mem_write, NULL); } +#endif #define VGABIOS_START 0x000c0000 #define ROMBIOS_START 0x000f0000 @@ -194,7 +209,7 @@ static int setup_memory_map(struct guest_info * info, struct v3_vm_config * conf memcpy(V3_VAddr((void *)rombios_dst), v3_rombios_start, v3_rombios_end - v3_rombios_start); } -#ifdef CRAY_XT +#ifdef CONFIG_CRAY_XT { #define SEASTAR_START 0xffe00000 #define SEASTAR_END 0xffffffff @@ -224,7 +239,7 @@ static int setup_devices(struct guest_info * info, struct v3_vm_config * config_ v3_create_device(info, "IOAPIC", "LAPIC"); v3_create_device(info, "VMNET", NULL); - int use_generic = USE_GENERIC; + if (config_ptr->enable_pci == 1) { struct ide_cfg ide_config = {"PCI", "PIIX3"}; @@ -239,6 +254,7 @@ static int setup_devices(struct guest_info * info, struct v3_vm_config * config_ v3_create_device(info, "LNX_VIRTIO_BALLOON", "PCI"); v3_create_device(info, "SYM_SWAP", "LNX_VIRTIO_BLK"); + v3_create_device(info, "VIDEO", "PCI"); v3_create_device(info, "IDE", &ide_config); } else { @@ -325,9 +341,9 @@ static int setup_devices(struct guest_info * info, struct v3_vm_config * config_ - if (use_generic) { +#ifdef CONFIG_GENERIC configure_generic(info, config_ptr); - } +#endif // This should go last because it requires information about the Harddrives v3_create_device(info, "NVRAM", "IDE"); @@ -339,7 +355,7 @@ static int setup_devices(struct guest_info * info, struct v3_vm_config * config_ - +#ifdef CONFIG_GENERIC static int configure_generic(struct guest_info * info, struct v3_vm_config * config_ptr) { PrintDebug("Creating Generic Device\n"); v3_create_device(info, "GENERIC", NULL); @@ -427,7 +443,7 @@ static int configure_generic(struct guest_info * info, struct v3_vm_config * con #endif -#if 1 +#ifndef CONFIG_VIDEO // Monitor graphics card operations @@ -455,3 +471,4 @@ static int configure_generic(struct guest_info * info, struct v3_vm_config * con return 0; } +#endif