From: Jack Lange Date: Wed, 5 May 2010 22:32:30 +0000 (-0500) Subject: added new module encapsulation framework X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=commitdiff_plain;h=c75f7b2fd2c228f5469a9f234218193492d6e52e added new module encapsulation framework --- diff --git a/symmods/capsule/Makefile b/symmods/capsule/Makefile new file mode 100644 index 0000000..ae6acb7 --- /dev/null +++ b/symmods/capsule/Makefile @@ -0,0 +1,14 @@ +mod_name := test +mod_dir := /home/jarusl +mod_obj := bar.o +mod_type := 1 + +DEFS := -DMOD_NAME=$(mod_name) -DMOD_DIR=$(mod_dir) -DMOD_OBJ=$(mod_obj) -DMOD_TYPE=$(mod_type) + + + + +module: FORCE + gcc $(DEFS) -c binary.S -o module.vo + +FORCE: \ No newline at end of file diff --git a/symmods/capsule/binary.S b/symmods/capsule/binary.S new file mode 100644 index 0000000..2c62f50 --- /dev/null +++ b/symmods/capsule/binary.S @@ -0,0 +1,42 @@ +#; -*- fundamental -*- + +/* + * This file is part of the Palacios Virtual Machine Monitor developed + * by the V3VEE Project with funding from the United States National + * Science Foundation and the Department of Energy. + * + * The V3VEE Project is a joint project between Northwestern University + * and the University of New Mexico. You can find out more at + * http://www.v3vee.org + * + * Copyright (c) 2010, Jack Lange + * Copyright (c) 2010, The V3VEE Project + * All rights reserved. + * + * Author: Jack Lange + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "V3VEE_LICENSE". + */ + +.data + +#define TOSTR(str) #str +#define MOD_PATH(dir,name) TOSTR(dir/name) +#define MOD_NM(name) TOSTR(name) + +.globl mod_start +mod_start: +.incbin MOD_PATH(MOD_DIR, MOD_OBJ) +mod_stop: + +mod_name: +.ascii MOD_NM(MOD_NAME) + + +.section "_v3_modules" +.quad mod_name +.quad mod_start +.quad mod_stop +.long MOD_TYPE +