+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+/* (c) 2008, The V3VEE Project <http://www.v3vee.org> */
+
#include <geekos/vmm_stubs.h>
#include <geekos/debug.h>
-
-//test decoder
-//#include <palacios/vmm_decoder.h>
-
-extern int parse();
-
#define SPEAKER_PORT 0x61
static inline void VM_Out_Byte(ushort_t port, uchar_t value)
}
-
+/*
int passthrough_mem_read(void * guest_addr, void * dst, uint_t length, void * priv_data) {
memcpy(dst, (void*)guest_addr, length);
return length;
memcpy((void*)guest_addr, src, length);
return length;
}
-
+*/
/* We need a configuration mechanism, so we can wrap this completely inside the VMM code,
struct vmm_os_hooks os_hooks;
struct vmm_ctrl_ops vmm_ops;
- v3_guest_t* vm_info = 0;
+ struct guest_info * vm_info = 0;
Init_V3(&os_hooks, &vmm_ops);
-
- //test decoder
- PrintBoth("testing decoder\n");
- parse();
- PrintBoth("testing decoder done\n");
-
extern char _binary_vm_kernel_start;
PrintBoth(" Guest Load Addr: 0x%x\n", &_binary_vm_kernel_start);
PrintBoth("Configured guest\n");
- v3_hook_io_port(vm_info, 0x61, &IO_Read, &IO_Write, NULL);
+
//v3_hook_io_port(&vm_info, 0x05, &IO_Read, &IO_Write_to_Serial, NULL);
-
- v3_hook_io_port(vm_info, 0x400, &IO_Read, &IO_Write_to_Serial, NULL);
- v3_hook_io_port(vm_info, 0x401, &IO_Read, &IO_Write_to_Serial, NULL);
- v3_hook_io_port(vm_info, 0x402, &IO_Read, &IO_BOCHS_info, NULL);
- v3_hook_io_port(vm_info, 0x403, &IO_Read, &IO_BOCHS_debug, NULL);
+ //v3_hook_io_port(vm_info, 0x61, &IO_Read, &IO_Write, NULL);
+ //v3_hook_io_port(vm_info, 0x400, &IO_Read, &IO_Write_to_Serial, NULL);
+ //v3_hook_io_port(vm_info, 0x401, &IO_Read, &IO_Write_to_Serial, NULL);
+ //v3_hook_io_port(vm_info, 0x402, &IO_Read, &IO_BOCHS_info, NULL);
+ //v3_hook_io_port(vm_info, 0x403, &IO_Read, &IO_BOCHS_debug, NULL);
(vmm_ops).init_guest(vm_info);