Lines 351-356
compat_create_bounce_frame:
Link Here
|
351 |
ASSERT_INTERRUPTS_ENABLED |
351 |
ASSERT_INTERRUPTS_ENABLED |
352 |
mov %fs,%edi |
352 |
mov %fs,%edi |
353 |
testb $2,UREGS_cs+8(%rsp) |
353 |
testb $2,UREGS_cs+8(%rsp) |
|
|
354 |
ASM_STAC |
354 |
jz 1f |
355 |
jz 1f |
355 |
/* Push new frame at registered guest-OS stack base. */ |
356 |
/* Push new frame at registered guest-OS stack base. */ |
356 |
movl VCPU_kernel_sp(%rbx),%esi |
357 |
movl VCPU_kernel_sp(%rbx),%esi |
Lines 403-408
UNLIKELY_START(nz, compat_bounce_failsafe)
Link Here
|
403 |
movl %ds,%eax |
404 |
movl %ds,%eax |
404 |
.Lft12: movl %eax,%fs:0*4(%rsi) # DS |
405 |
.Lft12: movl %eax,%fs:0*4(%rsi) # DS |
405 |
UNLIKELY_END(compat_bounce_failsafe) |
406 |
UNLIKELY_END(compat_bounce_failsafe) |
|
|
407 |
ASM_CLAC |
406 |
/* Rewrite our stack frame and return to guest-OS mode. */ |
408 |
/* Rewrite our stack frame and return to guest-OS mode. */ |
407 |
/* IA32 Ref. Vol. 3: TF, VM, RF and NT flags are cleared on trap. */ |
409 |
/* IA32 Ref. Vol. 3: TF, VM, RF and NT flags are cleared on trap. */ |
408 |
andl $~(X86_EFLAGS_VM|X86_EFLAGS_RF|\ |
410 |
andl $~(X86_EFLAGS_VM|X86_EFLAGS_RF|\ |
Lines 448-453
compat_crash_page_fault_4:
Link Here
|
448 |
addl $4,%esi |
450 |
addl $4,%esi |
449 |
compat_crash_page_fault: |
451 |
compat_crash_page_fault: |
450 |
.Lft14: mov %edi,%fs |
452 |
.Lft14: mov %edi,%fs |
|
|
453 |
ASM_CLAC |
451 |
movl %esi,%edi |
454 |
movl %esi,%edi |
452 |
call show_page_walk |
455 |
call show_page_walk |
453 |
jmp dom_crash_sync_extable |
456 |
jmp dom_crash_sync_extable |