X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86%2Fproc.c;h=2d68d65e993601f400fc7bd7ae2d86baa3ed1b87;hb=709179721ccc250f5d09f5bfc13f65df6cac6fed;hp=60f015b27fe73b190947358307916e921383aa67;hpb=0f48b41ce8edd3b6d549d641b35901e4b51a5132;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86/proc.c b/Kernel/arch/x86/proc.c index 60f015b2..2d68d65e 100644 --- a/Kernel/arch/x86/proc.c +++ b/Kernel/arch/x86/proc.c @@ -113,6 +113,7 @@ void ArchThreads_Init() gTSSs = &gTSS0; #if USE_MP } + #endif // Initialise Double Fault TSS gGDT[5].LimitLow = sizeof(tTSS); @@ -123,7 +124,8 @@ void ArchThreads_Init() gGDT[5].BaseMid = (Uint)&gDoubleFault_TSS >> 16; gGDT[5].BaseHi = (Uint)&gDoubleFault_TSS >> 24; - // Initialise TSS + #if USE_MP + // Initialise Normal TSS(s) for(pos=0;pos> 16; + gGDT[6+pos].BaseHi = ((Uint)(&gTSSs[pos])) >> 24; gGDT[6+pos].LimitLow = sizeof(tTSS); gGDT[6+pos].LimitHi = 0; gGDT[6+pos].Access = 0x89; // Type gGDT[6+pos].Flags = 0x4; - gGDT[6+pos].BaseLow = (Uint)&gTSSs[pos] & 0xFFFF; - gGDT[6+pos].BaseMid = (Uint)&gTSSs[pos] >> 16; - gGDT[6+pos].BaseHi = (Uint)&gTSSs[pos] >> 24; #if USE_MP } for(pos=0;pos