+++ /dev/null
-#!/usr/bin/perl
-
-
-
-$dev_root = `pwd`;
-#
-# On cygwin, do something like the following
-# pwd behaves trangely on cygwin
-#
-#$dev_root='/home/pdinda/Codes/vmm-dev';
-chomp $dev_root;
-$location = $dev_root . "/devtools";
-
-
-print "\n";
-print "Installing and configuring the v3vee development environment...\n";
-print "Location: " . $location . "\n\n";
-
-mkdir $location;
-
-
-
-#install_binutils_2_16_91_i386();
-install_gcc_3_4_6_i386();
-install_nasm();
-#
-# This part is not quite working yet
-# on cygwin, do through it by hand
-#
-#install_dev86_0_16_17();
-
-
-sub install_nasm {
- ### Setup vmx capable nasm
- print "Installing VMX capable NASM...\n";
- chdir "./utils";
- print "Unpacking...";
- `tar -xzf nasm-0.98.39.tar.gz`;
- print "done\n";
- chdir "./nasm-0.98.39";
- print "Patching in VMX support\n";
- `patch < ../vmx.patch`;
- print "Patch to fix the stupid installer...\n";
- `patch < ../nasm-install.patch`;
- print "Configuring...\n";
- `./configure --prefix=$location`;
- print "Compiling...\n";
- `make`;
- print "Installing...";
- `make install`;
- print "Done!!\n\n";
- chdir $dev_root;
-}
-
-
-
-sub install_binutils_2_16_91_i386 {
- print "Installing binutils v2.16.91\n";
- chdir "./utils";
- print "Unpacking...";
- `tar -xzf binutils-2.16.91.0.7.tar.gz`;
- print "done\n";
- chdir "binutils-2.16.91.0.7";
- print "Configuring...";
- `./configure --prefix=$location/i386 --target=i386-elf --disable-nls`;
- print "done\n";
- print "Compiling...";
- `make -j 4 all`;
- print "done\n";
- print "Installing...";
- `make install`;
- print "done!!\n";
- chdir $dev_root;
-}
-
-
-sub install_gcc_3_4_6_i386 {
- install_binutils_2_16_91_i386();
- $ENV{'PATH'} = "$location/i386/bin:" . $ENV{'PATH'};
-
- print "Installing gcc v3.4.6\n";
- chdir "./utils";
- print "Unpacking...";
- `tar -xzf gcc-3.4.6.tar.gz`;
- print "done\n";
- chdir "gcc-3.4.6";
- print "Configuring...";
- `./configure --prefix=$location/i386 --target=i386-elf --disable-nls --enable-languages=c,c++ --without-headers`;
- print "done\n";
- print "Compiling...";
- `make -j 4 all-gcc`;
- print "done\n";
- print "Installing...";
- `make install-gcc`;
- print "done!!\n";
- chdir $dev_root;
-}
-
-
-sub install_binutils_2_16_91_x86_64 {
-
-}
-
-
-sub install_gcc_3_4_6_x86_64 {
-
- print "Installing gcc v3.4.6\n";
- chdir "./utils";
- print "Unpacking...";
- `tar -xzf gcc-3.4.6.tar.gz`;
- print "done\n";
- chdir "gcc-3.4.6";
- print "Configuring...";
- `./configure --target=x86_64 --prefix=$location/gcc_3.4.6-x86_64 --disable-nls --enable-languages=c,c++ --without-headers`;
- print "done\n";
- print "Compiling...\n";
- `make all-gcc`;
- print "done\n";
- print "Installing...\n";
- `make install-gcc`;
- print "done!!\n";
- chdir $dev_root;
-}
-
-sub install_dev86_0_16_17 {
-
- print "Installing bcc, ld86, as86, and bcc-cpp from Dev86src-0.16.17.tar.gz\n";
- chdir "./utils";
- print "Unpacking...";
- `tar -xzf Dev86src-0.16.17.tar.gz`;
- print "done\n";
- chdir "./dev86-0.16.17";
- print "Compiling...\n";
- `make as86 ld86 bcc86`;
- `make -C cpp`;
- print "done\n";
- print "Installing...\n";
- `cp as/as86.exe bcc/bcc.exe bcc/bcc-cc1.exe cpp/bcc-cpp.exe ld/ld86.exe $location/bin`;
- print "done!!\n";
- chdir $dev_root;
-}
+++ /dev/null
-#!/bin/sh
-
-make DEBUG_ALL=1 world
-cp vmm.img iso
-mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o test.iso iso
-
+++ /dev/null
-# Top level Makefile for V3Vee
-#
-# Northwestern University
-# (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
-# (c) 2008, Peter Dinda <pdinda@northwestern.edu>
-# (c) 2008, Lei Xia <xiaxlei@gmail.com>
-# (c) 2008, The V3VEE Project <http://www.v3vee.org>
-#
-# Required software to build V3Vee:
-# - GNU Make (http://www.gnu.org/software/make)
-# - nasm (http://nasm.sourceforge.net)
-# - Perl5, AWK (any version), egrep
-#
-
-
-PROJECT_ROOT := ..
-GEEKOS_BUILD_DIR := $(PROJECT_ROOT)/geekos/build
-GUEST_ISO_DIR := /opt/vmm-tools/isos
-
-# List of targets to build by default.
-# These targets encompass everything needed to boot
-# and run GeekOS.
-ALL_TARGETS := geekos-full
-
-QEMU := /usr/local/qemu/bin/qemu-system-x86_64
-
-
-ifeq ($(PROFILE_VMM),1)
- GEEKOS_FLAGS:= $(GEEKOS_FLAGS) PROFILE_VMM=1
-endif
-
-ifeq ($(INSTRUMENT_VMM),1)
- GEEKOS_FLAGS:= $(GEEKOS_FLAGS) INSTRUMENT_VMM=1
-endif
-
-
-
-# ----------------------------------------------------------------------
-# Targets -
-# Specifies files to be built
-# ----------------------------------------------------------------------
-
-# Default target - see definition of ALL_TARGETS in Configuration section
-all : $(ALL_TARGETS)
-
-
-geekos:
- cp $(PROJECT_ROOT)/libv3vee.a $(GEEKOS_BUILD_DIR)/palacios/
- (cd $(GEEKOS_BUILD_DIR) && make $(GEEKOS_FLAGS))
-
-
-# make ready to boot over PXE
-geekos-pxe:
- cp $(GEEKOS_BUILD_DIR)/vmm.img /tftpboot/vmm.img
-
-geekos-run:
- $(QEMU) -m 1024 -serial file:serial.out -cdrom $(GUEST_ISO_DIR)/puppy.iso -fda $(GEEKOS_BUILD_DIR)/vmm.img
-
-geekos-iso:
- cp $(GEEKOS_BUILD_DIR)/vmm.img iso/vmm.img
- mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o test.iso iso
-
-
-
-force:
-
-
-
-
-# Clean build directories of generated files
-clean :
- for d in $(GEEKOS_BUILD_DIR) do \
- (cd $$d && make clean); \
- done
-
-
+++ /dev/null
-
-
-/usr/local/qemu/bin/qemu -m 512 -fda ./vmm.img c.img
-
--m 512 = 512 MB RAM
-
--M = machine type
-
--cpu = CPU type
-
--monitor `tty` gives access to a qemu console that lets you dump
-memory, registers, disassemble, etc. It's not a complete debugger,
-thoough
-
--S waits for a gdb connection. This seems to only work for kgdb and linux kernels
-
-
--serial stdio redirects COM1 to stdio
--serial file:<file_name> writes COM1 to the given file
-
-
-
-MAKING an ISO image from a floppy image
-mkisofs -pad -b <floppy_image> -R -o <iso_output_image> <floppy_image>
-
-
-/usr/local/qemu/bin/qemu-system-x86_64 -serial file:serial.out -m 1024 -fda vmm.img -cdrom guest_no_timer.iso
-
-
-
-Creating a grub based bootable cd ISO image:
-
-mkidr iso
-mkdir -p iso/boot/grub
-
-get "menu.lst" and "stage2_eltorito" from the grub files located in vmm-tools/others
-copy menu.lst and stage2_eltorito into iso/boot/grub
-
-mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o test.iso iso
+++ /dev/null
-#!/bin/sh
-
-/usr/local/qemu/bin/qemu-system-x86_64 -serial file:serial.out -m 1024 -cdrom test.iso
+++ /dev/null
-#!/bin/sh
-cp ../geekos/build/vmm.img ./
-/usr/local/qemu/bin/qemu-system-x86_64 -serial file:serial.out -m 1024 -fda vmm.img -cdrom /opt/vmm-tools/isos/puppy.iso
+++ /dev/null
-#!/bin/sh
-
-/usr/local/qemu/bin/qemu-system-x86_64 -serial file:serial.out -m 1024 -fda vmm.img -cdrom /opt/vmm-tools/isos/winxp.iso
+++ /dev/null
-default=0
-timeout=0
-title V3VEE
-color light-green/brown blink-red/blue
-foreground bbbbbb
-background 000000
-root (cd)
-kernel /vmm.img
-initrd /puppy.iso
void Init_V3(struct v3_os_hooks * hooks, int num_cpus);
+void Deinit_V3();
struct v3_vm_info * v3_create_vm(void * cfg, void * priv_data, char * name);
} else
#endif
{
- PrintError("CPU has no virtualizationExtensions\n");
+ PrintError("CPU has no virtualization Extensions\n");
}
}
}
+void Deinit_V3() {
+
+
+}
+
+
v3_cpu_arch_t v3_get_cpu_type(int cpu_id) {
return v3_cpu_types[cpu_id];
}