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.


Avoid strict-aliasing related issues when compiling with optimization
[palacios.git] / linux_usr / v3_user_host_dev.h
1 #ifndef _V3_USER_HOST_DEV_
2 #define _V3_USER_HOST_DEV_
3
4 #include <stdint.h>
5 #include "v3_ctrl.h"
6 #include "iface-host-dev.h"
7
8 int v3_user_host_dev_rendezvous(char *vmdev, char *url); // returns devfd for use in poll/select
9 int v3_user_host_dev_depart(int devfd);
10
11 int v3_user_host_dev_have_request(int devfd);
12 int v3_user_host_dev_pull_request(int devfd, struct palacios_host_dev_host_request_response **req);
13 int v3_user_host_dev_push_response(int devfd, struct palacios_host_dev_host_request_response *resp);
14
15 uint64_t v3_user_host_dev_read_guest_mem(int devfd, void *gpa, void *dest, uint64_t len);
16 uint64_t v3_user_host_dev_write_guest_mem(int devfd, void *gpa, void *src, uint64_t len);
17
18 // Note that "IRQ" here is context-dependent.  For a legacy device, it is the IRQ
19 // For a PCI device, it is the PCI int #, etc.
20 int      v3_user_host_dev_raise_guest_irq(int devfd, uint8_t irq);
21 int      v3_user_host_dev_lower_guest_irq(int devfd, uint8_t irq);
22
23 #endif
24