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.


modified copyright tags
[palacios.git] / palacios / src / palacios / vmm_symbol.asm
1 ; Symbol mangling macros
2 ; Copyright (c) 2001, David H. Hovemeyer <daveho@cs.umd.edu>
3 ; (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
4 ; (c) 2008, The V3VEE Project <http://www.v3vee.org> 
5 ; $Revision: 1.1 $
6
7 ; This file defines macros for dealing with externally-visible
8 ; symbols that must be mangled for some object file formats.
9 ; For example, PECOFF requires a leading underscore, while
10 ; ELF does not.
11
12 ; EXPORT defines a symbol as global
13 ; IMPORT references a symbol defined in another module
14
15 ; Thanks to Christopher Giese for providing the NASM macros
16 ; (thus saving me hours of frustration).
17
18 %ifndef __VMM_SYMBOL_ASM
19 %define __VMM_SYMBOL_ASM
20
21 %ifdef NEED_UNDERSCORE
22
23 %macro EXPORT 1
24 [GLOBAL _%1]
25 %define %1 _%1
26 %endmacro
27
28 %macro IMPORT 1
29 [EXTERN _%1]
30 %define %1 _%1
31 %endmacro
32
33 %else
34
35 %macro EXPORT 1
36 [GLOBAL %1]
37 %endmacro
38
39 %macro IMPORT 1
40 [EXTERN %1]
41 %endmacro
42
43 %endif
44
45 %endif