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.


*** empty log message ***
[palacios.git] / palacios / src / geekos / svm_lowlevel.asm
1 ;  -*- fundamental -*-
2
3
4 %ifndef SVM_ASM
5 %define SVM_ASM
6
7 %include "defs.asm"
8 %include "symbol.asm"
9
10
11
12 EXPORT launch_svm
13
14
15 [BITS 32]
16
17 %macro vmrun 0
18         db      00fh, 001h, 0d8h
19 %endmacro
20
21
22 ;VMRUN  equ db 0Fh, 01h, D8h
23 ;VMLOAD equ db 0x0F,0x01,0xDA
24 ;VMSAVE equ db 0x0F,0x01,0xDB
25 ;STGI   equ db 0x0F,0x01,0xDC
26 ;CLGI   equ db 0x0F,0x01,0xDD
27
28
29
30
31 ; I think its safe to say that there are some pretty serious register issues...
32 launch_svm:
33         push    ebp
34         mov     ebp, esp
35         pusha
36         
37         mov     eax, [ebp + 8]
38         vmrun
39 ;       db      00fh, 001h, 0d8h
40         popa
41         pop     ebp
42         ret
43
44 %endif
45
46
47
48
49 ; eventual svm_launch
50 ;   pusha
51 ;   pushf
52 ;
53 ; .vmm_loop
54 ;       vmrun
55 ;       push guest GPRs
56 ;       call handle_svm_exit
57 ;       jz .vmm_loop
58 ;  popf
59 ;  popa
60 ;  ret
61 ;
62 ;
63 ;