+++ /dev/null
-/*
- * Misc. kernel definitions
- * Copyright (c) 2001,2004 David H. Hovemeyer <daveho@cs.umd.edu>
- * $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<<PAGE_POWER)
-#define PAGE_MASK (~(0xffffffff << PAGE_POWER))
-
-
-
-/* Ultimate Memory Layout
-
-0:
-4096: KernelThreadObject (one page)
- KernelStack (one page)
- GDT (one page)
- TSS (one page)
- IDT (one page)
-0x100000: KernelImage
- Page List (varies - must be an integral number of pages)
- KernelHeap (varies - KERNEL_HEAP_SIZE; must be integral number of pages)
-*/
-
-
-
-
-#define GDT_SIZE PAGE_SIZE
-#define TSS_SIZE PAGE_SIZE
-#define IDT_SIZE PAGE_SIZE
-//#define KERNEL_HEAP_SIZE (256*PAGE_SIZE)
-#define KERNEL_STACK_SIZE PAGE_SIZE
-#define KERNEL_THREAD_OBJECT_SIZE PAGE_SIZE
-
-
-
-
-/*
- * * Keep these up to date with defs.asm.
- */
-#define GDT_LOCATION (PAGE_SIZE * 3)
-#define TSS_LOCATION (GDT_LOCATION + TSS_SIZE)
-#define IDT_LOCATION (TSS_LOCATION + IDT_SIZE)
-
-
-
-
- #define KERNEL_THREAD_OBJECT (PAGE_SIZE)
- #define KERNEL_STACK (KERNEL_THREAD_OBJECT + KERNEL_THREAD_OBJECT_SIZE)
-/*
- #define KERNEL_HEAP (KERNEL_STACK + KERNEL_STACK_SIZE)
- #define KERNEL_PAGELIST (KERNEL_HEAP + KERNEL_HEAP_SIZE)
-*/
-
-/*
- * PC memory map
- */
-#define ISA_HOLE_START 0x0A0000
-#define ISA_HOLE_END 0x100000
-
-
-#endif /* GEEKOS_DEFS_H */