|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
From: Andrew Cooper <andrew.cooper3@citrix.com>
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
Subject: x86/entry: Introduce EFRAME_* constants
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
restore_all_guest() does a lot of manipulation of the stack after popping the
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
GPRs, and uses raw %rsp displacements to do so. Also, almost all entrypaths
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
use raw %rsp displacements prior to pushing GPRs.
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
Provide better mnemonics, to aid readability and reduce the chance of errors
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
when editing.
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
No functional change. The resulting binary is identical.
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
Reviewed-by: Jan Beulich <jbeulich@suse.com>
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
(cherry picked from commit 37541208f119a9c552c6c6c3246ea61be0d44035)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
index 57b73a4e6214..2fc4d9130a4d 100644
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
--- a/xen/arch/x86/x86_64/asm-offsets.c
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+++ b/xen/arch/x86/x86_64/asm-offsets.c
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -51,6 +51,23 @@ void __dummy__(void)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
OFFSET(UREGS_kernel_sizeof, struct cpu_user_regs, es);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
BLANK();
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ /*
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ * EFRAME_* is for the entry/exit logic where %rsp is pointing at
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ * UREGS_error_code and GPRs are still/already guest values.
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+#define OFFSET_EF(sym, mem) \
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ DEFINE(sym, offsetof(struct cpu_user_regs, mem) - \
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ offsetof(struct cpu_user_regs, error_code))
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ OFFSET_EF(EFRAME_entry_vector, entry_vector);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ OFFSET_EF(EFRAME_rip, rip);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ OFFSET_EF(EFRAME_cs, cs);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ OFFSET_EF(EFRAME_eflags, eflags);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ OFFSET_EF(EFRAME_rsp, rsp);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ BLANK();
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+#undef OFFSET_EF
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
OFFSET(VCPU_processor, struct vcpu, processor);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
OFFSET(VCPU_domain, struct vcpu, domain);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
OFFSET(VCPU_vcpu_info, struct vcpu, vcpu_info_area.map);
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
index fcc3a721f147..cb473f08eebd 100644
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
--- a/xen/arch/x86/x86_64/compat/entry.S
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+++ b/xen/arch/x86/x86_64/compat/entry.S
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -15,7 +15,7 @@ ENTRY(entry_int82)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $HYPERCALL_VECTOR, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $HYPERCALL_VECTOR, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SAVE_ALL compat=1 /* DPL1 gate, restricted to 32bit PV guests only. */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo, %rdx=0, Clob: acd */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
index 9a7b129aa7e4..968da9d727b1 100644
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
--- a/xen/arch/x86/x86_64/entry.S
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+++ b/xen/arch/x86/x86_64/entry.S
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -190,15 +190,15 @@ restore_all_guest:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SPEC_CTRL_EXIT_TO_PV /* Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
RESTORE_ALL
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- testw $TRAP_syscall,4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ testw $TRAP_syscall, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jz iret_exit_to_guest
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movq 24(%rsp),%r11 # RFLAGS
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ mov EFRAME_eflags(%rsp), %r11
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
andq $~(X86_EFLAGS_IOPL | X86_EFLAGS_VM), %r11
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
orq $X86_EFLAGS_IF,%r11
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
/* Don't use SYSRET path if the return address is not canonical. */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movq 8(%rsp),%rcx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ mov EFRAME_rip(%rsp), %rcx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
sarq $47,%rcx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
incl %ecx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
cmpl $1,%ecx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -213,20 +213,20 @@ restore_all_guest:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ALTERNATIVE "", rag_clrssbsy, X86_FEATURE_XEN_SHSTK
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movq 8(%rsp), %rcx # RIP
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- cmpw $FLAT_USER_CS32,16(%rsp)# CS
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movq 32(%rsp),%rsp # RSP
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ mov EFRAME_rip(%rsp), %rcx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ cmpw $FLAT_USER_CS32, EFRAME_cs(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ mov EFRAME_rsp(%rsp), %rsp
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
je 1f
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
sysretq
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
1: sysretl
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ALIGN
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
.Lrestore_rcx_iret_exit_to_guest:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movq 8(%rsp), %rcx # RIP
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ mov EFRAME_rip(%rsp), %rcx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
/* No special register assumptions. */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
iret_exit_to_guest:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- andl $~(X86_EFLAGS_IOPL | X86_EFLAGS_VM), 24(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- orl $X86_EFLAGS_IF,24(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ andl $~(X86_EFLAGS_IOPL | X86_EFLAGS_VM), EFRAME_eflags(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ orl $X86_EFLAGS_IF, EFRAME_eflags(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
addq $8,%rsp
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
.Lft0: iretq
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
_ASM_PRE_EXTABLE(.Lft0, handle_exception)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -257,7 +257,7 @@ ENTRY(lstar_enter)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $FLAT_KERNEL_CS64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq %rcx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $TRAP_syscall, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $TRAP_syscall, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SAVE_ALL
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo, %rdx=0, Clob: acd */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -294,7 +294,7 @@ ENTRY(cstar_enter)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $FLAT_USER_CS32
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq %rcx
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $TRAP_syscall, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $TRAP_syscall, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SAVE_ALL
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo, %rdx=0, Clob: acd */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -335,7 +335,7 @@ GLOBAL(sysenter_eflags_saved)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $3 /* ring 3 null cs */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0 /* null rip */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $TRAP_syscall, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $TRAP_syscall, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SAVE_ALL
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo, %rdx=0, Clob: acd */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -389,7 +389,7 @@ ENTRY(int80_direct_trap)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $0x80, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $0x80, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SAVE_ALL
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo, %rdx=0, Clob: acd */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -649,7 +649,7 @@ ret_from_intr:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
.section .init.text, "ax", @progbits
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(early_page_fault)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_PF, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_PF, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SAVE_ALL
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
movq %rsp, %rdi
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
call do_early_page_fault
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -716,7 +716,7 @@ ENTRY(common_interrupt)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_PF)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_PF, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_PF, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
/* No special register assumptions. */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
GLOBAL(handle_exception)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -890,90 +890,90 @@ FATAL_exception_with_ints_disabled:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_DE)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_DE, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_DE, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_MF)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_MF, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_MF, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_XM)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_XM, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_XM, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_NM)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_NM, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_NM, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_DB)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_DB, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_DB, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_ist_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_BP)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_BP, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_BP, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_OF)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_OF, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_OF, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_BR)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_BR, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_BR, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_UD)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_UD, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_UD, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_TS)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_TS, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_TS, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_NP)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_NP, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_NP, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_SS)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_SS, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_SS, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_GP)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_GP, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_GP, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_AC)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_AC, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_AC, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_CP)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_CP, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_CP, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_DF)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_DF, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_DF, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
/* Set AC to reduce chance of further SMAP faults */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ALTERNATIVE "", stac, X86_FEATURE_XEN_SMAP
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SAVE_ALL
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -998,7 +998,7 @@ ENTRY(entry_DF)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_NMI)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_NMI, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_NMI, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
handle_ist_exception:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
SAVE_ALL
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -1130,7 +1130,7 @@ handle_ist_exception:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENTRY(entry_MC)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movl $X86_EXC_MC, 4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movl $X86_EXC_MC, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_ist_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
/* No op trap handler. Required for kexec crash path. */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -1167,7 +1167,7 @@ autogen_stubs: /* Automatically generated stubs. */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
1:
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
ENDBR64
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
- movb $vec,4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+ movb $vec, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp common_interrupt
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
entrypoint 1b
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
@@ -1181,7 +1181,7 @@ autogen_stubs: /* Automatically generated stubs. */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
test $8,%spl /* 64bit exception frames are 16 byte aligned, but the word */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jz 2f /* size is 8 bytes. Check whether the processor gave us an */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
pushq $0 /* error code, and insert an empty one if not. */
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
-2: movb $vec,4(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
+2: movb $vec, EFRAME_entry_vector(%rsp)
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
jmp handle_exception
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
|
|
![](https://seccdn.libravatar.org/avatar/f1a0ddfc363b14e167bf8548e95f340032d1964ae5b6ea4f235e351fd948008e?s=16&d=retro) |
4d6e2c0 |
entrypoint 1b
|