# 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