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.


added new copyright and license
[palacios.git] / palacios / src / palacios / vmm_lowlevel.asm
1 ; -*- fundamental -*-
2 ;;
3 ;; This file is part of the Palacios Virtual Machine Monitor developed
4 ;; by the V3VEE Project with funding from the United States National 
5 ;; Science Foundation and the Department of Energy.  
6 ;;
7 ;; The V3VEE Project is a joint project between Northwestern University
8 ;; and the University of New Mexico.  You can find out more at 
9 ;; http://www.v3vee.org
10 ;;
11 ;; Copyright (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> 
12 ;; Copyright (c) 2008, The V3VEE Project <http://www.v3vee.org> 
13 ;; All rights reserved.
14 ;;
15 ;; Author: Jack Lange <jarusl@cs.northwestern.edu>
16 ;;
17 ;; This is free software.  You are permitted to use,
18 ;; redistribute, and modify it as specified in the file "V3VEE_LICENSE"
19 ;;
20
21 %ifndef VMM_ASM
22 %define VMM_ASM
23
24 %include "vmm_symbol.asm"
25
26 EXPORT DisableInts
27 EXPORT EnableInts
28
29 EXPORT GetGDTR
30 EXPORT GetIDTR
31 EXPORT GetTR
32
33
34
35
36
37
38 align 8
39 DisableInts:
40         cli
41         ret
42
43
44 align 8
45 EnableInts:
46         sti
47         ret
48
49 align 8
50 GetGDTR:
51         push    ebp
52         mov     ebp, esp
53         pusha   
54         mov     ebx, [ebp + 8]
55         sgdt    [ebx]
56         
57         popa
58         pop     ebp
59         ret
60
61
62 align 8
63 GetIDTR:
64         push    ebp
65         mov     ebp, esp
66         pusha   
67
68         mov     ebx, [ebp + 8]
69         sidt    [ebx]
70         
71         popa
72         pop     ebp
73         ret
74
75
76
77 align 8
78 GetTR:
79         push    ebp
80         mov     ebp, esp
81         pusha   
82         mov     ebx, [ebp + 8]
83         str     [ebx]
84         
85         popa
86         pop     ebp
87         ret
88
89
90
91
92
93
94
95 %endif