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.


HVM capability enhancement: asynchronous upcalls to ROS userspace
[palacios.git] / guest / linux / hvm-ros / v3_hvm_ros_user.h
index 96c8262..de3b2e1 100644 (file)
 int v3_hvm_ros_user_init();
 int v3_hvm_ros_user_deinit();
 
+// Establish function to be invoked by the VMM
+// to signal activity (basically an interrupt handler)
+// The handler can use the GPRs, but must save/restore
+// any other registers it needs itself.  If it goes
+// out of its stack, it's out of luck
+int v3_hvm_ros_register_signal(void (*handler)(uint64_t), void *stack, uint64_t stack_size); 
+int v3_hvm_ros_unregister_signal();
 
 // Replace the existing HRT with a new one
 //  - this does not boot the new HRT
@@ -43,5 +50,8 @@ int  v3_hvm_ros_synchronize();
 int  v3_hvm_ros_invoke_hrt_sync(void *p, int handle_ros_events);
 int  v3_hvm_ros_desynchronize();
 
+// Signal the HRT from the ROS
+// The ROS can call this too, but it shouldn't be necesary
+int  v3_hvm_hrt_signal_ros(uint64_t code);
 
 #endif