Fix a mistake I made with the pcb movement relative to the stack in the
KSE patch. We need to leave the 16 bytes here for enabling the trapframe to be converted to a vm86trapframe if we're switching *to* a vm86 context.
This commit is contained in:
parent
66f769fe39
commit
2f01a0c097
@ -200,8 +200,8 @@ sw1b:
|
||||
jmp 2f
|
||||
1:
|
||||
/* update common_tss.tss_esp0 pointer */
|
||||
/* esp points to base of usable stack */
|
||||
movl %edx, PCPU(COMMON_TSS) + TSS_ESP0 /* stack is below pcb */
|
||||
leal -16(%edx), %ebx /* leave space for vm86 */
|
||||
movl %ebx, PCPU(COMMON_TSS) + TSS_ESP0 /* stack is below pcb */
|
||||
btrl %esi, private_tss
|
||||
jae 3f
|
||||
PCPU_ADDR(COMMON_TSSD, %edi)
|
||||
|
@ -200,8 +200,8 @@ sw1b:
|
||||
jmp 2f
|
||||
1:
|
||||
/* update common_tss.tss_esp0 pointer */
|
||||
/* esp points to base of usable stack */
|
||||
movl %edx, PCPU(COMMON_TSS) + TSS_ESP0 /* stack is below pcb */
|
||||
leal -16(%edx), %ebx /* leave space for vm86 */
|
||||
movl %ebx, PCPU(COMMON_TSS) + TSS_ESP0 /* stack is below pcb */
|
||||
btrl %esi, private_tss
|
||||
jae 3f
|
||||
PCPU_ADDR(COMMON_TSSD, %edi)
|
||||
|
@ -200,8 +200,8 @@ sw1b:
|
||||
jmp 2f
|
||||
1:
|
||||
/* update common_tss.tss_esp0 pointer */
|
||||
/* esp points to base of usable stack */
|
||||
movl %edx, PCPU(COMMON_TSS) + TSS_ESP0 /* stack is below pcb */
|
||||
leal -16(%edx), %ebx /* leave space for vm86 */
|
||||
movl %ebx, PCPU(COMMON_TSS) + TSS_ESP0 /* stack is below pcb */
|
||||
btrl %esi, private_tss
|
||||
jae 3f
|
||||
PCPU_ADDR(COMMON_TSSD, %edi)
|
||||
|
Loading…
x
Reference in New Issue
Block a user