Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / rosapps / applications / sysutils / utils / pice / module / init.c
diff --git a/rosapps/applications/sysutils/utils/pice/module/init.c b/rosapps/applications/sysutils/utils/pice/module/init.c
deleted file mode 100644 (file)
index f3ba200..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-/*++
-
-Copyright (c) 1998-2001 Klaus P. Gerlicher
-
-Module Name:
-
-    init.c
-
-Abstract:
-
-    initialisation and cleanup of debugger kernel module
-
-Environment:
-
-    Kernel mode only
-
-Author:
-
-    Klaus P. Gerlicher
-
-Revision History:
-
-    25-Jan-1999:       created
-    15-Nov-2000:    general cleanup of source files
-
-Copyright notice:
-
-  This file may be distributed under the terms of the GNU Public License.
-
---*/
-
-////////////////////////////////////////////////////
-// INCLUDES
-////
-#include "remods.h"
-#include "precomp.h"
-
-////////////////////////////////////////////////////
-// GLOBALS
-ULONG ulDoInitialBreak=1;
-char szBootParams[1024]="";
-char tempInit[256];
-
-PDIRECTORY_OBJECT *pNameSpaceRoot = NULL;
-PDEBUG_MODULE pdebug_module_tail = NULL;
-PDEBUG_MODULE pdebug_module_head = NULL;
-PMADDRESS_SPACE mm_init_mm;
-extern LIST_ENTRY *pModuleListHead;
-
-ULONG KeyboardIRQL;
-
-extern void NewInt31Handler(void);
-//*************************************************************************
-// InitPICE()
-//
-//*************************************************************************
-BOOLEAN InitPICE(void)
-{
-    ULONG ulHandleScancode=0,ulHandleKbdEvent=0;
-       ARGS Args;
-    KIRQL Dirql;
-    KAFFINITY Affinity;
-       ULONG ulAddr;
-
-    ENTER_FUNC();
-
-       DPRINT((0,"InitPICE(): trace step 0.5\n"));
-    KeyboardIRQL = HalGetInterruptVector(Internal,
-                                    0,
-                                    0,
-                                    KEYBOARD_IRQ,
-                                    &Dirql,
-                                    &Affinity);
-       DPRINT((0,"KeyboardIRQL: %x\n", KeyboardIRQL));
-
-    DPRINT((0,"InitPICE(): trace step 1\n"));
-    // enable monochrome passthrough on BX type chipset
-    EnablePassThrough();
-
-    DPRINT((0,"InitPICE(): trace step 2\n"));
-    // now load all symbol files described in /etc/pice.conf
-    if(!LoadSymbolsFromConfig(FALSE))
-    {
-        DPRINT((0,"InitPICE: LoadSymbolsFromConfig() failed\n"));
-        LEAVE_FUNC();
-        return FALSE;
-    }
-
-    DPRINT((0,"InitPICE(): trace step 3\n"));
-    // init the output console
-       // this might be one of the following depending setup
-       // a) monochrome card
-       // b) serial terminal (TODO)
-    if(!ConsoleInit())
-    {
-        DPRINT((0,"InitPICE: ConsoleInit() failed\n"));
-        UnloadSymbols();
-        LEAVE_FUNC();
-        return FALSE;
-    }
-
-    DPRINT((0,"InitPICE(): trace step 4\n"));
-    // print the initial screen template
-    PrintTemplate();
-/*
-    DPRINT((0,"InitPICE(): trace step 5\n"));
-       // ask the user if he wants to abort the debugger load
-    if(!CheckLoadAbort())
-       {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (abort by user)\n");
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-       }
-*/
-
-    DPRINT((0,"InitPICE(): trace step 6\n"));
-    // load the file /boot/System.map.
-    // !!! It must be consistent with the current kernel at all cost!!!
-    if(!LoadExports())
-    {
-               Print(OUTPUT_WINDOW,"pICE: failed to load exports\n");
-        Print(OUTPUT_WINDOW,"press any key to continue...\n");
-        while(!GetKeyPolled());
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-    }
-
-    DPRINT((0,"InitPICE(): trace step 7\n"));
-       ScanExports("_KernelAddressSpace", &ulAddr);
-       my_init_mm = (PMADDRESS_SPACE) ulAddr;
-       DPRINT((0,"init_mm %x @ %x\n",&my_init_mm,my_init_mm));
-       if(!my_init_mm)
-       {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (initial memory map not found)\n");
-               Print(OUTPUT_WINDOW,"pICE: press any key to continue...\n");
-               DbgPrint("pICE: ABORT (initial memory map not found)\n");
-               DbgPrint("pICE: press any key to continue...\n");
-        while(!GetKeyPolled());
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-       }
-
-       DPRINT((0,"InitPICE(): trace step 7.1\n"));
-       ScanExports("_ModuleListHead",&ulAddr);
-       pModuleListHead = (LIST_ENTRY*)ulAddr;
-    DPRINT((0,"pModuleListHead @ %X\n",pModuleListHead));
-       if(!pModuleListHead)
-       {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (pModuleListHead not found)\n");
-               Print(OUTPUT_WINDOW,"pICE: press any key to continue...\n");
-        while(!GetKeyPolled());
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-       }
-
-       DPRINT((0,"InitPICE(): trace step 7.2\n"));
-       ScanExports("_PsProcessListHead",&ulAddr);
-       pPsProcessListHead = (LIST_ENTRY*)ulAddr;
-    DPRINT((0,"pPsProcessListHead @ %X\n",pPsProcessListHead));
-       if(!pPsProcessListHead)
-       {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (PsProcessListHead not found)\n");
-               Print(OUTPUT_WINDOW,"pICE: press any key to continue...\n");
-        while(!GetKeyPolled());
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-       }
-
-    DPRINT((0,"InitPICE(): trace step 8\n"));
-    // end of the kernel
-       /*
-       ScanExports("_end",(PULONG)&kernel_end);
-    if(!kernel_end)
-       {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (kernel size is unknown)\n");
-               Print(OUTPUT_WINDOW,"pICE: press any key to continue...\n");
-        while(!GetKeyPolled());
-               UnloadExports();
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-       }
-       */
-
-    DPRINT((0,"InitPICE(): trace step 9\n"));
-
-       // the loaded module list
-       ScanExports("_NameSpaceRoot", &ulAddr);
-       pNameSpaceRoot = (PDIRECTORY_OBJECT *)ulAddr;
-       DPRINT((0,"pNameSpaceRoot @ %X\n",pNameSpaceRoot));
-    if(!pNameSpaceRoot)
-       {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (couldn't retreive name space root)\n");
-               Print(OUTPUT_WINDOW,"pICE: press any key to continue...\n");
-        while(!GetKeyPolled());
-               UnloadExports();
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-       }
-
-    DPRINT((0,"InitPICE(): trace step 10\n"));
-    // setup a linked list for use in module parsing routines.
-       if(!InitModuleList(&pdebug_module_head, 100))
-       {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (couldn't initialize kernel module list)\n");
-               Print(OUTPUT_WINDOW,"pICE: press any key to continue...\n");
-               FreeModuleList( pdebug_module_head );
-        while(!GetKeyPolled());
-               UnloadExports();
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-       }
-       pdebug_module_tail = pdebug_module_head;
-
-    DPRINT((0,"InitPICE(): trace step 11\n"));
-    // do a sanity check on exports
-    if(!SanityCheckExports())
-    {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (exports are conflicting with kernel symbols)\n");
-               Print(OUTPUT_WINDOW,"pICE: press any key to continue...\n");
-        while(!GetKeyPolled());
-               UnloadExports();
-        UnloadSymbols();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-    }
-
-    DPRINT((0,"InitPICE(): trace step 12\n"));
-
-
-    DPRINT((0,"InitPICE(): trace step 13\n"));
-    // patch the keyboard driver
-
-       if(!PatchKeyboardDriver())
-       {
-               Print(OUTPUT_WINDOW,"pICE: ABORT (couldn't patch keyboard driver)\n");
-               Print(OUTPUT_WINDOW,"pICE: press any key to continue...\n");
-        while(!GetKeyPolled());
-               UnloadSymbols();
-               UnloadExports();
-               ConsoleShutdown();
-        LEAVE_FUNC();
-               return FALSE;
-       }
-
-    DPRINT((0,"InitPICE(): trace step 14\n"));
-    // partial init of shadow registers
-    CurrentCS = GLOBAL_CODE_SEGMENT;
-    CurrentEIP = (ULONG)RealIsr;
-
-    CurrentDS = CurrentSS = GLOBAL_DATA_SEGMENT;
-    __asm__("\n\t \
-            mov %%esp,%%eax\n\t \
-            mov %%eax,_CurrentESP\n\t \
-            ":::"eax");
-
-
-    // display version and symbol information
-    Ver(NULL);
-
-    // disable HW breakpoints
-       __asm__("\n\t \
-               xorl %%eax,%%eax\n\t \
-               mov %%eax,%%dr6\n\t \
-               mov %%eax,%%dr7\n\t \
-        mov %%dr0,%%eax\n\t \
-        mov %%dr1,%%eax\n\t \
-        mov %%dr2,%%eax\n\t \
-        mov %%dr3,%%eax"
-               :::"eax"
-               );
-
-    DPRINT((0,"InitPICE(): trace step 15\n"));
-    TakeIdtSnapshot();
-
-    DPRINT((0,"InitPICE(): trace step 16\n"));
-    // install all hooks
-    InstallTraceHook();
-    InstallGlobalKeyboardHook();
-    InstallSyscallHook();
-    InstallInt3Hook();
-    InstallDblFltHook();
-    InstallGPFaultHook();
-    InstallIntEHook();
-    InstallPrintkHook();
-
-    DPRINT((0,"InitPICE(): trace step 16\n"));
-    if(ulDoInitialBreak)
-    {
-        DPRINT((0,"about to do initial break...\n"));
-
-        // simulate an initial break
-        __asm__("\n\t \
-            pushfl\n\t \
-            pushl %cs\n\t \
-            pushl $initialreturnpoint\n\t \
-            pushl $" STR(REASON_CTRLF) "\n\t \
-            jmp NewInt31Handler\n\t \
-initialreturnpoint:");
-    }
-    else
-    {
-        // display register contents
-        DisplayRegs();
-
-        // display data window
-        Args.Value[0]=CurrentDS;
-        Args.Value[1]=CurrentEIP;
-        Args.Count=2;
-        DisplayMemory(&Args);
-
-        // disassembly from current address
-        Args.Value[0]=CurrentCS;
-        Args.Value[1]=CurrentEIP;
-        Args.Count=2;
-        Unassemble(&Args);
-    }
-
-    DPRINT((0,"InitPICE(): trace step 17\n"));
-       InitPiceRunningTimer();
-
-    LEAVE_FUNC();
-    return TRUE;
-}
-
-//*************************************************************************
-// CleanUpPICE()
-//
-//*************************************************************************
-void CleanUpPICE(void)
-{
-    DPRINT((0,"CleanUpPICE(): trace step 1\n"));
-       RemovePiceRunningTimer();
-
-    DPRINT((0,"CleanUpPICE(): trace step 2\n"));
-    // de-install all hooks
-    DeInstallGlobalKeyboardHook();
-    DeInstallSyscallHook();
-    DeInstallInt3Hook();
-    DeInstallPrintkHook();
-    DeInstallDblFltHook();
-    DeInstallGPFaultHook();
-    DeInstallIntEHook();
-    DeInstallTraceHook();
-
-    DPRINT((0,"CleanUpPICE(): trace step 3\n"));
-    RestoreIdt();
-
-    DPRINT((0,"CleanUpPICE(): trace step 4\n"));
-    UnloadExports(); // don't use ScanExports() after this
-    UnloadSymbols();
-
-    DPRINT((0,"CleanUpPICE(): trace step 5\n"));
-    // restore patch of keyboard driver
-    RestoreKeyboardDriver();
-
-    DPRINT((0,"CleanUpPICE(): trace step 6\n"));
-    Print(OUTPUT_WINDOW,"pICE: shutting down...\n");
-
-    DPRINT((0,"CleanUpPICE(): trace step 7\n"));
-    // cleanup the console
-       ConsoleShutdown();
-}