Lines 319-324
compat_create_bounce_frame:
Link Here
|
319 |
ASSERT_INTERRUPTS_ENABLED |
319 |
ASSERT_INTERRUPTS_ENABLED |
320 |
mov %fs,%edi |
320 |
mov %fs,%edi |
321 |
testb $2,UREGS_cs+8(%rsp) |
321 |
testb $2,UREGS_cs+8(%rsp) |
|
|
322 |
ASM_STAC |
322 |
jz 1f |
323 |
jz 1f |
323 |
/* Push new frame at registered guest-OS stack base. */ |
324 |
/* Push new frame at registered guest-OS stack base. */ |
324 |
movl VCPU_kernel_sp(%rbx),%esi |
325 |
movl VCPU_kernel_sp(%rbx),%esi |
Lines 364-369
compat_create_bounce_frame:
Link Here
|
364 |
movl TRAPBOUNCE_error_code(%rdx),%eax |
365 |
movl TRAPBOUNCE_error_code(%rdx),%eax |
365 |
.Lft8: movl %eax,%fs:(%rsi) # ERROR CODE |
366 |
.Lft8: movl %eax,%fs:(%rsi) # ERROR CODE |
366 |
1: |
367 |
1: |
|
|
368 |
ASM_CLAC |
367 |
/* Rewrite our stack frame and return to guest-OS mode. */ |
369 |
/* Rewrite our stack frame and return to guest-OS mode. */ |
368 |
/* IA32 Ref. Vol. 3: TF, VM, RF and NT flags are cleared on trap. */ |
370 |
/* IA32 Ref. Vol. 3: TF, VM, RF and NT flags are cleared on trap. */ |
369 |
andl $~(X86_EFLAGS_VM|X86_EFLAGS_RF|\ |
371 |
andl $~(X86_EFLAGS_VM|X86_EFLAGS_RF|\ |
Lines 403-408
compat_crash_page_fault_4:
Link Here
|
403 |
addl $4,%esi |
405 |
addl $4,%esi |
404 |
compat_crash_page_fault: |
406 |
compat_crash_page_fault: |
405 |
.Lft14: mov %edi,%fs |
407 |
.Lft14: mov %edi,%fs |
|
|
408 |
ASM_CLAC |
406 |
movl %esi,%edi |
409 |
movl %esi,%edi |
407 |
call show_page_walk |
410 |
call show_page_walk |
408 |
jmp dom_crash_sync_extable |
411 |
jmp dom_crash_sync_extable |