From 7fc1f04cd0cbd162d1381ba27a14630d207a8a9b Mon Sep 17 00:00:00 2001 From: belliash Date: Wed, 1 Feb 2023 23:37:12 +0100 Subject: [PATCH] TSS entry is already put into GDT table, just initialize it --- xtoskrnl/ar/amd64/procsup.c | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/xtoskrnl/ar/amd64/procsup.c b/xtoskrnl/ar/amd64/procsup.c index ad9ef16..1ec760c 100644 --- a/xtoskrnl/ar/amd64/procsup.c +++ b/xtoskrnl/ar/amd64/procsup.c @@ -191,27 +191,6 @@ XTAPI VOID ArpInitializeTss(IN PKPROCESSOR_BLOCK ProcessorBlock) { - PKGDTENTRY TssEntry; - - /* Get TSS entry from GDT */ - TssEntry = (PKGDTENTRY)(&(ProcessorBlock->GdtBase[KGDT_SYS_TSS / sizeof(KGDTENTRY)])); - - /* Initialize TSS entry */ - TssEntry->BaseLow = (ULONGLONG)ProcessorBlock->TssBase & 0xFFFF; - TssEntry->BaseUpper = (ULONGLONG)ProcessorBlock->TssBase >> 32; - TssEntry->LimitLow = (sizeof(KTSS) - 1) & 0xFFFF; - TssEntry->Bits.BaseMiddle = ((ULONGLONG)ProcessorBlock->TssBase >> 16) & 0xFF; - TssEntry->Bits.BaseHigh = ((ULONGLONG)ProcessorBlock->TssBase >> 24) & 0xFF; - TssEntry->Bits.LimitHigh = (sizeof(KTSS) - 1) >> 16; - TssEntry->Bits.DefaultBig = 0; - TssEntry->Bits.Dpl = 0; - TssEntry->Bits.Granularity = 0; - TssEntry->Bits.LongMode = 0; - TssEntry->Bits.Present = 1; - TssEntry->Bits.System = 0; - TssEntry->Bits.Type = AMD64_TSS; - TssEntry->MustBeZero = 0; - /* Fill TSS with zeroes */ RtlZeroMemory(ProcessorBlock->TssBase, sizeof(KTSS));