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_module / iface-code-inject.h
1 #ifndef __IFACE_CODE_INJECT_H__
2 #define __IFACE_CODE_INJECT_H__
3
4 #define V3_VM_TOPHALF_INJECT 12123
5 #define V3_VM_HYPERCALL_ADD 12124
6 #define V3_VM_HYPERCALL_REMOVE 12125
7
8 #define MAX_INJ 128
9
10 struct top_half_data {
11     unsigned long elf_size;
12     void *elf_data;
13     int got_offset;
14     int plt_offset;
15     int func_offset;
16     char bin_file[256];
17     int hcall_nr;
18     int inject_id;
19     int is_dyn;
20     int is_exec_hooked;
21 };
22
23 #define HCALL_NAME_MAX 256
24
25 struct hcall_data {
26   int   fd;
27   int   hcall_nr;
28   char  fn[HCALL_NAME_MAX];
29 };
30
31 #endif