forked from xt-sys/exectos
Compare commits
6 Commits
b8fa862066
...
d8e50bde48
Author | SHA1 | Date | |
---|---|---|---|
d8e50bde48 | |||
a53f53263d | |||
d13bdf3930 | |||
e28ab2fbed | |||
243aacc9c1 | |||
cf0d23b6fe |
@ -102,7 +102,7 @@ ArpTrap\Vector:
|
|||||||
movdqa %xmm0, TrapXmm0(%rbp)
|
movdqa %xmm0, TrapXmm0(%rbp)
|
||||||
|
|
||||||
/* Test previous mode and swap GS if needed */
|
/* Test previous mode and swap GS if needed */
|
||||||
movl $0, TrapPreviousMode(%ebp)
|
movl $0, TrapPreviousMode(%rbp)
|
||||||
mov %cs, %ax
|
mov %cs, %ax
|
||||||
and $1, %al
|
and $1, %al
|
||||||
mov %al, TrapPreviousMode(%rbp)
|
mov %al, TrapPreviousMode(%rbp)
|
||||||
|
@ -82,7 +82,7 @@ KepInitializeThreadContext(IN PKTHREAD Thread,
|
|||||||
ThreadFrame->TrapFrame.Dr7 = 0;
|
ThreadFrame->TrapFrame.Dr7 = 0;
|
||||||
|
|
||||||
/* Set initial MXCSR register value */
|
/* Set initial MXCSR register value */
|
||||||
// ThreadFrame->TrapFrame.MxCsr = INITIAL_MXCSR;
|
ThreadFrame->TrapFrame.MxCsr = INITIAL_MXCSR;
|
||||||
|
|
||||||
/* Initialize exception frame */
|
/* Initialize exception frame */
|
||||||
ThreadFrame->ExceptionFrame.P1Home = (ULONG64)StartContext;
|
ThreadFrame->ExceptionFrame.P1Home = (ULONG64)StartContext;
|
||||||
|
@ -80,19 +80,13 @@ KepInitializeThreadContext(IN PKTHREAD Thread,
|
|||||||
ThreadFrame->TrapFrame.Dr6 = 0;
|
ThreadFrame->TrapFrame.Dr6 = 0;
|
||||||
ThreadFrame->TrapFrame.Dr7 = 0;
|
ThreadFrame->TrapFrame.Dr7 = 0;
|
||||||
|
|
||||||
/* Set exception list pointer in the trap frame */
|
|
||||||
// ThreadFrame->TrapFrame.ExceptionList = (PEXCEPTION_REGISTRATION_RECORD) - 1;
|
|
||||||
|
|
||||||
/* Set DS, ES and SS segments for user mode */
|
/* Set DS, ES and SS segments for user mode */
|
||||||
ThreadFrame->TrapFrame.SegDs |= RPL_MASK;
|
ThreadFrame->TrapFrame.SegDs |= RPL_MASK;
|
||||||
ThreadFrame->TrapFrame.SegEs |= RPL_MASK;
|
ThreadFrame->TrapFrame.SegEs |= RPL_MASK;
|
||||||
ThreadFrame->TrapFrame.SegSs |= RPL_MASK;
|
ThreadFrame->TrapFrame.SegSs |= RPL_MASK;
|
||||||
|
|
||||||
/* Set debug mark in the trap frame */
|
|
||||||
// ThreadFrame->TrapFrame.DbgMark = 0x8BADF00D;
|
|
||||||
|
|
||||||
/* Set user mode thread in the trap frame */
|
/* Set user mode thread in the trap frame */
|
||||||
// ThreadFrame->TrapFrame.PreviousMode = UserMode;
|
ThreadFrame->TrapFrame.PreviousMode = UserMode;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user