- KiBootTrapTss.Eflags = 0;
- KiBootTrapTss.Esp0 = (ULONG)trap_stack_top; /* FIXME: - sizeof(FX_SAVE_AREA)? */
- KiBootTrapTss.Ss0 = KGDT_R0_DATA;
- KiBootTrapTss.Esp = (ULONG)trap_stack_top; /* FIXME: - sizeof(FX_SAVE_AREA)? */
- KiBootTrapTss.Cs = KGDT_R0_CODE;
- KiBootTrapTss.Eip = (ULONG)KiTrap8;
- KiBootTrapTss.Ss = KGDT_R0_DATA;
- KiBootTrapTss.Ds = KGDT_R0_DATA;
- KiBootTrapTss.Es = KGDT_R0_DATA;
- KiBootTrapTss.Fs = KGDT_R0_PCR;
- KiBootTrapTss.IoMapBase = 0xFFFF; /* No i/o bitmap */
- KiBootTrapTss.IoBitmap[0] = 0xFF;
- KiBootTrapTss.Ldt = 0x0;
- KiBootTrapTss.Cr3 = cr3_;
+ Tss = (PKTSS)&KiBootTrapTss;
+ Tss->Flags = 0;
+ Tss->Esp0 = (ULONG)trap_stack_top; /* FIXME: - sizeof(FX_SAVE_AREA)? */
+ Tss->Ss0 = KGDT_R0_DATA;
+ Tss->Cs = KGDT_R0_CODE;
+ Tss->Eip = (ULONG)KiTrap8;
+ Tss->Ds = KGDT_R0_DATA;
+ Tss->Es = KGDT_R0_DATA;
+ Tss->Fs = KGDT_R0_PCR;
+ Tss->IoMapBase = 0xFFFF; /* No i/o bitmap */
+ Tss->LDT = 0x0;