X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=test%2Fgeekos_test_vm%2Finclude%2Fgeekos%2Fdefs.h;fp=test%2Fgeekos_test_vm%2Finclude%2Fgeekos%2Fdefs.h;h=07981f7fae56043f42d016d8f8fa72b251830635;hp=0000000000000000000000000000000000000000;hb=a70930549d1b741704dd7af4e6bb0e89f6f8a519;hpb=afb634a80f946634454a5d067a92aa600227bd93 diff --git a/test/geekos_test_vm/include/geekos/defs.h b/test/geekos_test_vm/include/geekos/defs.h new file mode 100644 index 0000000..07981f7 --- /dev/null +++ b/test/geekos_test_vm/include/geekos/defs.h @@ -0,0 +1,113 @@ +/* + * Misc. kernel definitions + * Copyright (c) 2001,2004 David H. Hovemeyer + * $Revision: 1.1 $ + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "COPYING". + */ + +#ifndef GEEKOS_DEFS_H +#define GEEKOS_DEFS_H + + + + +/* + * Kernel code and data segment selectors. + * Keep these up to date with defs.asm. + */ +#define KERNEL_CS (1<<3) +#define KERNEL_DS (2<<3) + + +/* + * Address where kernel is loaded INITIALLY + * we move it up in memory soon + */ +#define KERNEL_START_ADDR 0x100000 + +/* + * Kernel and user privilege levels + */ +#define KERNEL_PRIVILEGE 0 +#define USER_PRIVILEGE 3 + + +/* + * Software interrupt for syscalls + */ +#define SYSCALL_INT 0x90 + +/* + * The windows versions of gcc use slightly different + * names for the bss begin and end symbols than the Linux version. + */ +#if defined(GNU_WIN32) +# define BSS_START _bss_start__ +# define BSS_END _bss_end__ +#else +# define BSS_START __bss_start +# define BSS_END end +#endif + +/* + * x86 has 4096 byte pages + */ +#define PAGE_POWER 12 +#define PAGE_SIZE (1<