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.


Subset barrier support (counting barriers)
[palacios.git] / palacios / include / palacios / vmm_dev_mgr.h
index 556725e..f90232a 100644 (file)
@@ -28,7 +28,6 @@
 #include <palacios/vmm_hashtable.h>
 #include <palacios/vmm_msr.h>
 #include <palacios/vmm_config.h>
-#include <palacios/vmm_ethernet.h>
 
 #ifdef V3_CONFIG_CHECKPOINT
 #include <palacios/vmm_checkpoint.h>
@@ -188,6 +187,9 @@ void v3_print_dev_mgr(struct v3_vm_info * vm);
 struct v3_dev_blk_ops {
     uint64_t (*get_capacity)(void * private_data);
     // Reads always operate on 2048 byte blocks
+
+    // how does this signal bytes_read < requested but not error? 
+
     int (*read)(uint8_t * buf, uint64_t lba, uint64_t num_bytes, void * private_data);
     int (*write)(uint8_t * buf, uint64_t lba, uint64_t num_bytes, void * private_data);
 };
@@ -225,11 +227,11 @@ struct v3_dev_console_ops {
 
 struct v3_dev_char_ops {
     /* Backend implemented functions */
-    uint64_t (*output)(uint8_t * buf, uint64_t len, void * private_data);
+    sint64_t (*output)(uint8_t * buf, sint64_t len, void * private_data);
     //  int (*read)(uint8_t * buf, uint64_t len, void * private_data);
 
     /* Frontend Implemented functions */
-    uint64_t (*input)(struct v3_vm_info * vm, uint8_t * buf, uint64_t len, void * private_data);
+    sint64_t (*input)(struct v3_vm_info * vm, uint8_t * buf, sint64_t len, void * private_data);
 };