Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


stability fixes
Jack Lange [Sun, 27 Dec 2009 21:50:53 +0000 (15:50 -0600)]
palacios/src/devices/atapi.h
palacios/src/devices/pci_passthrough.c
palacios/src/palacios/vmm.c
palacios/src/palacios/vmm_dev_mgr.c
palacios/src/palacios/vmm_sym_swap.c

index ad03ee9..ac6ecf0 100644 (file)
@@ -511,6 +511,8 @@ static int atapi_handle_packet(struct vm_device * dev, struct ide_channel * chan
           }
           break;
 
+
+       case 0x4a: // Get Status/event
        case 0x51: // read disk info
           // no-op to keep the Linux CD-ROM driver happy
           PrintDebug("Error: Read disk info no-op to keep the Linux CD-ROM driver happy\n");
@@ -552,8 +554,7 @@ static int atapi_handle_packet(struct vm_device * dev, struct ide_channel * chan
        case 0xba: // scan
        case 0xbb: // set cd speed
        case 0x4e: // stop play/scan
-       case 0x4a: // ???
+
        default:
           PrintError("Unhandled ATAPI command %x\n", cmd);
           atapi_cmd_error(dev, channel, ATAPI_SEN_ILL_REQ, ASC_INV_CMD_FIELD);
index 89b4e84..fafd303 100644 (file)
@@ -187,9 +187,13 @@ static int pci_bar_init(int bar_num, uint32_t * dst,void * private_data) {
 
        //v3_irq_restore(irq_state);
 
-       pbar->size = ~PCI_IO_BASE(max_val) + 1;
+       V3_Print("max_val = %x\n", max_val);
+
+       pbar->size = (uint16_t)~PCI_IO_BASE(max_val) + 1;
+
 
        
+       V3_Print("IO Bar with %d (%x) ports %x->%x\n", pbar->size, pbar->size, pbar->addr, pbar->addr + pbar->size);
        // setup a set of null io hooks
        // This allows the guest to do passthrough IO to these ports
        // While still reserving them in the IO map
index 7077d66..c56356d 100644 (file)
@@ -74,6 +74,8 @@ static void init_cpu(void * arg) {
 void Init_V3(struct v3_os_hooks * hooks, int num_cpus) {
     int i;
 
+    V3_Print("V3 Print statement to fix a Kitten page fault bug\n");
+
     // Set global variables. 
     os_hooks = hooks;
 
index 65d01f4..a96d27b 100644 (file)
@@ -312,7 +312,7 @@ struct net_frontend {
                    struct v3_dev_net_ops * ops, 
                    v3_cfg_tree_t * cfg, 
                    void * priv_data);
-       
+    
 
     struct list_head net_node;
 
index 56e0014..3b1620c 100644 (file)
@@ -183,6 +183,8 @@ int v3_swap_flush(struct guest_info * info) {
        v3_htable_iter_advance(ht_iter);
     }
 
+    V3_Free(ht_iter);
+
     return 0;
 }