# Makefile for GeekOS kernel, userspace, and tools
+#
+# Northwestern University
+# (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
+# (c) 2008, Peter Dinda <pdinda@northwestern.edu>
+#
+# Based on GeekOS Makefile:
# Copyright (c) 2004,2005 David H. Hovemeyer <daveho@cs.umd.edu>
# $Revision: 1.71 $
+
# This is free software. You are permitted to use,
# redistribute, and modify it as specified in the file "COPYING".
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __8237_DMA_H
#define __8237_DMA_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __8254_H
#define __8254_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __8259A_H
#define __8259A_H
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@northwestern.edu> */
+
#ifndef __GENERIC_H
#define __GENERIC_H
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@northwestern.edu> */
+
#ifndef __KEYBOARD_H
#define __KEYBOARD_H
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@northwestern.edu> */
+
#ifndef __NVRAM_H
#define __NVRAM_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __SERIAL_H__
#define __SERIAL_H__
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __SIMPLE_PIC_H
#define __SIMPLE_PIC_H
#include <palacios/vm_dev.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __TIMER_H
#define __TIMER_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __SVM_H
#define __SVM_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __SVM_HANDLER_H
#define __SVM_HANDLER_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __SVM_IO_H
#define __SVM_IO_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __SVM_PAUSE_H
#define __SVM_PAUSE_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VM_DEV_H
#define __VM_DEV_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VM_GUEST_H
#define __VM_GUEST_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VM_GUEST_MEM_H
#define __VM_GUEST_MEM_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMCB_H
#define __VMCB_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMCS_H
#define __VMCS_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_H
#define __VMM_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_CONFIG_H__
#define __VMM_CONFIG_H__
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_CTRL_REGS_H
#define __VMM_CTRL_REGS_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_DEBUG_H
#define __VMM_DEBUG_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_EMULATE_H
#define __VMM_EMULATE_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef _VMM_DEV_MGR
#define _VMM_DEV_MGR
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_EMULATOR_H__
#define __VMM_EMULATOR_H__
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_INTR_H_
#define __VMM_INTR_H_
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_IO_H
#define __VMM_IO_H
+/* Stolen From Linux list implementation*/
+/* Modifications by Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef _VMM_LIST_H
#define _VMM_LIST_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_MEM_H
#define __VMM_MEM_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_PAGING_H
#define __VMM_PAGING_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_QUEUE_H__
#define __VMM_QUEUE_H__
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_SHADOW_PAGING_H
#define __VMM_SHADOW_PAGING_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_TIME_H
#define __VMM_TIME_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_TYPES_H
#define __VMM_TYPES_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_UTIL_H
#define __VMM_UTIL_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMM_XED_H__
#define __VMM_XED_H__
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifndef __VMX_H
#define __VMX_H
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <devices/8237_dma.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <devices/8254.h>
#include <palacios/vmm.h>
#include <palacios/vmm_time.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <devices/8259a.h>
#include <palacios/vmm_intr.h>
#include <palacios/vmm_types.h>
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@cs.northwestern.edu> */
+
#include <devices/generic.h>
#include <palacios/vmm.h>
#include <palacios/vmm_types.h>
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@cs.northwestern.edu> */
+
#include <devices/keyboard.h>
#include <geekos/io.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@cs.northwestern.edu> */
+
#include <devices/nvram.h>
#include <palacios/vmm.h>
#include <palacios/vmm_types.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <devices/serial.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <devices/simple_pic.h>
#include <palacios/vmm_intr.h>
#include <palacios/vmm_types.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <devices/timer.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <geekos/debug.h>
; Boot sector for GeekOS
; Copyright (c) 2001,2004 David H. Hovemeyer <daveho@cs.umd.edu>
; Copyright (c) 2003, Jeffrey K. Hollingsworth <hollings@cs.umd.edu>
+; Copyright (c) 2008, Jack Lange <jarusl@cs.northwestern.edu
+; Copyright (c) 2008, Peter Dinda <pdinda@northwestern.edu
; $Revision: 1.8 $
; This is free software. You are permitted to use,
* Copyright (c) 2001,2003,2004 David H. Hovemeyer <daveho@cs.umd.edu>
* Copyright (c) 2003, Jeffrey K. Hollingsworth <hollings@cs.umd.edu>
* Copyright (c) 2004, Iulian Neamtiu <neamtiu@cs.umd.edu>
+ * Copyright (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
* $Revision: 1.47 $
*
* This is free software. You are permitted to use,
* Physical memory allocation
* Copyright (c) 2001,2003,2004 David H. Hovemeyer <daveho@cs.umd.edu>
* Copyright (c) 2003, Jeffrey K. Hollingsworth <hollings@cs.umd.edu>
+ * Copyright (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
* $Revision: 1.13 $
*
* This is free software. You are permitted to use,
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
#include <geekos/net.h>
#include <geekos/socket.h>
#include <geekos/ne2k.h>
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@northwestern.edu> */
+
#include <geekos/malloc.h>
#include <geekos/pci.h>
#include <geekos/io.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <geekos/queue.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <geekos/reboot.h>
#include <libc/string.h>
// from linux...
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <geekos/ring_buffer.h>
#include <geekos/malloc.h>
#include <geekos/ktypes.h>
; -*- fundamental -*-
; GeekOS setup code
; Copyright (c) 2001,2004 David H. Hovemeyer <daveho@cs.umd.edu>
+; Copyright (c) 2008 Jack Lange <jarusl@cs.northwestern.edu>
; $Revision: 1.8 $
; This is free software. You are permitted to use,
db ""
db 0
-modelist:
\ No newline at end of file
+modelist:
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+/* (c) 2008, Lei Xia <xiaxlei@gmail.com> */
+
#include <geekos/socket.h>
#include <geekos/malloc.h>
#include <geekos/ne2k.h>
* GeekOS timer interrupt support
* Copyright (c) 2001,2003 David H. Hovemeyer <daveho@cs.umd.edu>
* Copyright (c) 2003, Jeffrey K. Hollingsworth <hollings@cs.umd.edu>
+ * Copyright (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
* $Revision: 1.11 $
*
* This is free software. You are permitted to use,
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <geekos/vmm_stubs.h>
#include <geekos/debug.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <geekos/vmm_stubs.h>
#include <geekos/serial.h>
#include <palacios/vm_guest.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
+
#include <palacios/svm.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@northwestern.edu> */
+
#include <palacios/svm_halt.h>
#include <palacios/vmm_intr.h>
// From GeekOS
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/svm_handler.h>
#include <palacios/vmm.h>
#include <palacios/vm_guest_mem.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
#include <palacios/svm_io.h>
#include <palacios/vmm_io.h>
#include <palacios/vmm_ctrl_regs.h>
; -*- fundamental -*-
+;; Northwestern University
+;; (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
%ifndef SVM_ASM
%define SVM_ASM
+/* Northwestern University */
+/* (c) 2008, Peter Dinda <pdinda@northwestern.edu> */
+
#include <palacios/svm_wbinvd.h>
#include <palacios/vmm_intr.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vm_dev.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vm_guest.h>
#include <palacios/vmm_ctrl_regs.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vm_guest_mem.h>
#include <palacios/vmm.h>
#include <palacios/vmm_paging.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmcb.h>
#include <palacios/vmm.h>
#include <palacios/vmm_util.h>
-#include <palacios/vmcs.h>
-
-
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+#include <palacios/vmcs.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm.h>
#include <palacios/svm.h>
#include <palacios/vmx.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_config.h>
#include <palacios/vmm.h>
#include <palacios/vmm_debug.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_mem.h>
#include <palacios/vmm.h>
#include <palacios/vmcb.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_debug.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_decoder.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vm_dev.h>
#include <palacios/vmm_dev_mgr.h>
#include <palacios/vm_guest.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm.h>
#include <palacios/vmm_emulator.h>
#include <palacios/vm_guest_mem.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_intr.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_io.h>
#include <palacios/vmm_string.h>
#include <palacios/vmm.h>
; -*- fundamental -*-
-
+;; Northwestern University
+;; (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
%ifndef VMM_ASM
%define VMM_ASM
-%endif
\ No newline at end of file
+%endif
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_mem.h>
#include <palacios/vmm.h>
#include <palacios/vmm_util.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_paging.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_queue.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_shadow_paging.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include "palacios/vmm_time.h"
#include "palacios/vmm.h"
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_util.h>
#include <palacios/vmm.h>
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#ifdef __DECODER_TEST__
#include "vmm_decoder.h"
#include "vmm_xed.h"
+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
/* Eventually we want to get rid of these */
#include <geekos/cpu.h>
; -*- fundamental -*-
+;; Northwestern University
+;; (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
+
%ifndef VMX_ASM
%define VMX_ASM