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.


adb220a986cc1e77adce6098340e9ec4232e453a
[palacios.git] / palacios / include / palacios / svm_io.h
1 #ifndef __SVM_IO_H
2 #define __SVM_IO_H
3 #include <palacios/vm_guest.h>
4 #include <palacios/vmcb.h>
5 #include <palacios/vmm.h>
6
7 struct svm_io_info {
8   uint_t type        : 1       PACKED;  // (0=out, 1=in)
9   uint_t rsvd        : 1       PACKED;  // Must be Zero
10   uint_t str         : 1       PACKED;  // string based io
11   uint_t rep         : 1       PACKED;  // repeated io
12   uint_t sz8         : 1       PACKED;  // 8 bit op size
13   uint_t sz16        : 1       PACKED;  // 16 bit op size
14   uint_t sz32        : 1       PACKED;  // 32 bit op size
15   uint_t addr16      : 1       PACKED;  // 16 bit addr
16   uint_t addr32      : 1       PACKED;  // 32 bit addr
17   uint_t addr64      : 1       PACKED;  // 64 bit addr
18   uint_t rsvd2       : 6       PACKED;  // Should be Zero
19   ushort_t port                PACKED;  // port number
20 };
21
22
23 int handle_svm_io_in(struct guest_info * info);
24 int handle_svm_io_ins(struct guest_info * info);
25 int handle_svm_io_out(struct guest_info * info);
26 int handle_svm_io_outs(struct guest_info * info);
27
28
29
30
31 #endif