# Makefile for GeekOS kernel, userspace, and tools
# Copyright (c) 2004,2005 David H. Hovemeyer <daveho@cs.umd.edu>
-# $Revision: 1.7 $
+# $Revision: 1.14 $
# This is free software. You are permitted to use,
# redistribute, and modify it as specified in the file "COPYING".
# THESE MUST MATCH WHAT IS DEFINED IN defs.h and defs.asm exactly
# MUST BE INTEGRAL NUMBER OF PAGES
-TOP_OF_MEM := 0x40000000
+TOP_OF_MEM := 0x30000000
VM_SIZE := 0x20000000
VM_START := 0x0
bget.c malloc.c \
synch.c kthread.c \
serial.c reboot.c \
- paging.c vmx.c vmcs_gen.c vmcs.c\
+ paging.c vmx.c vmcs_gen.c vmcs.c \
+ svm.c vmm.c vmm_util.c vmm_stubs.c \
+ vmcb.c vmm_mem.c vm_guest.c \
+ debug.c\
main.c
# Kernel object files built from C source files
KERNEL_C_OBJS := $(KERNEL_C_SRCS:%.c=geekos/%.o)
# Kernel assembly files
-KERNEL_ASM_SRCS := lowlevel.asm vmx_lowlevel.asm
+KERNEL_ASM_SRCS := lowlevel.asm vmx_lowlevel.asm svm_lowlevel.asm
KERNEL_GAS_SRCS := testvm.s
# ----------------------------------------------------------------------
# Uncomment if cross compiling
-#TARGET_CC_PREFIX := i386-elf-
+TARGET_CC_PREFIX := $(PROJECT_ROOT)/../devtools/i386/bin/i386-elf-
+#TARGET_CC_PREFIX := i386-elf-
# Target C compiler. gcc 2.95.2 or later should work.
TARGET_CC := $(TARGET_CC_PREFIX)gcc
$(PAD) /tftpboot/vmm.img 1474560
-pxe-discovery-pdinda: fd.img
- cp fd.img geekos.img
- $(PAD) geekos.img 1474560
- /usr/local/vmm-util/pxe_cp geekos.img
- /usr/local/vmm-util/tty_perm pdinda
- echo "Copied file to PXE boot area and set serial permissions for pdinda"
-
-
-pxe-discovery-bjp600: fd.img
- cp fd.img geekos.img
- $(PAD) geekos.img 1474560
- /usr/local/vmm-util/pxe_cp geekos.img
- /usr/local/vmm-util/tty_perm bjp600
- echo "Copied file to PXE boot area and set serial permissions for pdinda"
-
# Floppy boot sector (first stage boot loader).
geekos/fd_boot.bin : geekos/setup.bin geekos/kernel.bin $(PROJECT_ROOT)/src/geekos/fd_boot.asm vm_kernel
@echo "VM kernel lives at 0x100000 and is" `$(NUMSECS) vm_kernel` "sectors long"
+
+vmm_mem_test: geekos/vmm_mem.c
+ $(HOST_CC) -o mem_test -DVMM_MEM_TEST -I../include ../src/geekos/vmm_mem.c
+
+
# Clean build directories of generated files
clean :
for d in geekos common libc user tools; do \