Пример #1
0
FORCEINLINE
VOID
_ExiReleaseSpinLockAndRestoreInterupts(
    IN OUT PKSPIN_LOCK Lock,
    BOOLEAN Enable)
{
    /* Release the spinlock */
    KxReleaseSpinLock(Lock);

    /* Restore interrupts */
    KeRestoreInterrupts(Enable);
}
Пример #2
0
VOID
KeInitialize(VOID) {
    HANDLE testScrollerProcess, testShell;

    HalInitialize();

#ifdef HAVE_KD
    KdInitialize();
#endif

    MmInitialize();

    IoInitialize();

    //Initialize ps manager, create initial process
    PsInitialize();
    ASSERT(KeCurrentProcess);

    //Initialize message passing
    MessInitialize();



    KdPrint("Say %s to %s!", "hello", "ARCOS kernel debugger");


    PsCreateProcess(TestScrollerProcess, 10, &testScrollerProcess, NULL);
    ObCloseHandle(testScrollerProcess);

    CreateProcess("shell", 31, &testShell, NULL);
    ObCloseHandle(testShell);




    KeRestoreInterrupts(TRUE);

    while (1) {
        // wait for something interesting to happen
        KeYieldProcessor();
    }
}