From 7b607a3b28dfaae62f800d521ab06e5c4f1172ff Mon Sep 17 00:00:00 2001 From: Aaron Robinson Date: Mon, 27 Jan 2003 23:25:22 +0000 Subject: [PATCH] Kernel work. --- Source/Win32/CxbxKrnl/Kernel.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Source/Win32/CxbxKrnl/Kernel.cpp b/Source/Win32/CxbxKrnl/Kernel.cpp index e44bbbd60..04c127211 100644 --- a/Source/Win32/CxbxKrnl/Kernel.cpp +++ b/Source/Win32/CxbxKrnl/Kernel.cpp @@ -106,6 +106,22 @@ CXBXKRNL_API void NTAPI EmuXInit(uint32 DebugConsole, uint08 *XBEHeader, uint32 memcpy((void*)dwCertificateAddr, &XBEHeader[dwCertificateAddr - 0x00010000], sizeof(Xbe::Certificate)); } + // ****************************************************************** + // * Initialize FS:* structure + // ****************************************************************** + { + NT_TIB *OriginalTIB = 0; + + __asm + { + mov esi, fs:[18h] + mov OriginalTIB, esi + } + + // TODO: Allocate new FS: within LDT, copy OriginalTIB to KPCR.NtTib, load new FS + printf("CxbxKrnl [0x%.08X]: NT_TIB.Self=0x%.08X\n", GetCurrentThreadId(), OriginalTIB->Self); + } + printf("CxbxKrnl [0x%.08X]: Initial thread starting.\n", GetCurrentThreadId()); Entry();