X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fmain.c;h=a81a85cf796333f649d2734516ba291f1d136014;hb=20885b915c6caf47c8bd78d7b5b492fef388ac2d;hp=fed690888d55a87bdb00feca5cbdda2836160442;hpb=28b1d0ae6db40cb3e1f5a9b3596b625d2f2af0e4;p=palacios-OLD.git diff --git a/palacios/src/geekos/main.c b/palacios/src/geekos/main.c index fed6908..a81a85c 100644 --- a/palacios/src/geekos/main.c +++ b/palacios/src/geekos/main.c @@ -3,7 +3,7 @@ * Copyright (c) 2001,2003,2004 David H. Hovemeyer * Copyright (c) 2003, Jeffrey K. Hollingsworth * Copyright (c) 2004, Iulian Neamtiu - * $Revision: 1.34 $ + * $Revision: 1.39 $ * * This is free software. You are permitted to use, * redistribute, and modify it as specified in the file "COPYING". @@ -36,12 +36,20 @@ #include +#include #define SPEAKER_PORT 0x61 +void Spin() +{ + // hack - competing thread + while (1) {}; + +} + void Buzz(unsigned delay, unsigned num) { @@ -173,10 +181,10 @@ int AllocateAndMapPagesForRange(uint_t start, uint_t length, pte_t template_pte) */ void Main(struct Boot_Info* bootInfo) { - struct Kernel_Thread * key_thread; - struct Kernel_Thread * spkr_thread; - ulong_t doIBuzz = 0; + + Out_Byte(0x1234,5); + Out_Byte(0x1234,5); Init_BSS(); Init_Screen(); @@ -192,6 +200,9 @@ void Main(struct Boot_Info* bootInfo) Init_Keyboard(); Init_VM(bootInfo); Init_Paging(); + + Init_PCI(); + Init_Stubs(); // Init_IDE(); @@ -209,20 +220,33 @@ void Main(struct Boot_Info* bootInfo) */ #endif + #if 1 + struct Kernel_Thread *spin_thread; + + spin_thread=Start_Kernel_Thread(Spin,0,PRIORITY_NORMAL,false); + +#endif + +#if 0 + { + + struct Kernel_Thread * key_thread; + struct Kernel_Thread * spkr_thread; + + ulong_t doIBuzz = 0; + SerialPrint("Dumping BIOS code ffff0-fffff\n\n"); SerialMemDump((unsigned char *)0x10fff0, 16); /* SerialPrint("Dumping kernel Code (first 512 bytes @ 0x%x)\n",KERNEL_START); SerialMemDump((unsigned char *)VM_KERNEL_START, 512); */ -#endif -#if 1 - SerialPrintLevel(1000,"Launching Noisemaker and keyboard listener threads\n"); + SerialPrint("Noisemaker and keyboard listener threads\n"); key_thread = Start_Kernel_Thread(Keyboard_Listener, (ulong_t)&doIBuzz, PRIORITY_NORMAL, false); spkr_thread = Start_Kernel_Thread(Buzzer, (ulong_t)&doIBuzz, PRIORITY_NORMAL, false); - + } #endif { @@ -230,7 +254,8 @@ void Main(struct Boot_Info* bootInfo) } - + SerialPrint("RunVMM returned, spinning\n"); + while (1) {} TODO("Write a Virtual Machine Monitor");