-/* $OpenBSD: vector.S,v 1.95 2024/02/12 01:18:17 guenther Exp $ */
+/* $OpenBSD: vector.S,v 1.96 2024/07/21 16:19:25 deraadt Exp $ */
/* $NetBSD: vector.S,v 1.5 2004/06/28 09:13:11 fvdl Exp $ */
/*
SMAP_CLAC
movq %rsp,%rdi
call kerntrap
+ movq $0,-8(%rsp)
movl $MSR_GSBASE,%ecx # restore GS.base
movq %r12,%rax
movq %r13,%rdx
wrmsr
CODEPATCH_END(CPTAG_IBPB_NOP)
call pku_xonly
+ movq $0,-8(%rsp)
popq %rdi
popq %rsi
popq %rdx
leaq dt_prov_kprobe, %rdi
movq %rsp, %rsi
call dt_prov_kprobe_hook
+ movq $0,-8(%rsp)
cmpl $0, %eax
je .Lreal_kern_trap
recall_trap:
movq %rsp, %rdi
call usertrap
+ movq $0,-8(%rsp)
cli
jmp intr_user_exit
END(alltraps)
#endif /* DIAGNOSTIC */
movq %rsp, %rdi
call kerntrap
+ movq $0,-8(%rsp)
2: cli
#ifndef DIAGNOSTIC
INTRFASTEXIT
movl %ebx,%edx
xorq %rax,%rax
call printf
+ movq $0,-8(%rsp)
#ifdef DDB
int $3
#endif /* DDB */
SMAP_CLAC
movq %rbx,IF_PPL(%rsp)
call x86_ipi_handler
+ movq $0,-8(%rsp)
jmp Xdoreti
2:
movq $(1 << LIR_IPI),%rax
movq %rbx,IF_PPL(%rsp)
xorq %rdi,%rdi
call lapic_clockintr
+ movq $0,-8(%rsp)
jmp Xdoreti
2:
movq $(1 << LIR_TIMER),%rax
IDTVEC(intr_xen_upcall)
INTRENTRY(intr_xen_upcall)
call xen_intr_ack
+ movq $0,-8(%rsp)
movl CPUVAR(ILEVEL),%ebx
cmpl $IPL_NET,%ebx
jae 2f
SMAP_CLAC
movq %rbx,IF_PPL(%rsp)
call xen_intr
+ movq $0,-8(%rsp)
jmp Xdoreti
2:
movq $(1 << LIR_XEN),%rax
SMAP_CLAC
movq %rbx,IF_PPL(%rsp)
call hv_intr
+ movq $0,-8(%rsp)
jmp Xdoreti
2:
movq $(1 << LIR_HYPERV),%rax
movq %rbx, %rsi ;\
movq %rsp, %rdi ;\
call intr_handler /* call it */ ;\
+ movq $0,-8(%rsp) ;\
orl %eax,%eax /* should it be counted? */ ;\
jz 4f /* no, skip it */ ;\
incq IH_COUNT(%rbx) /* count the intrs */ ;\
incl CPUVAR(IDEPTH)
movl $X86_SOFTINTR_SOFTTTY,%edi
call softintr_dispatch
+ movq $0,-8(%rsp)
decl CPUVAR(IDEPTH)
CODEPATCH_START
jmp retpoline_r13
incl CPUVAR(IDEPTH)
movl $X86_SOFTINTR_SOFTNET,%edi
call softintr_dispatch
+ movq $0,-8(%rsp)
decl CPUVAR(IDEPTH)
CODEPATCH_START
jmp retpoline_r13
incl CPUVAR(IDEPTH)
movl $X86_SOFTINTR_SOFTCLOCK,%edi
call softintr_dispatch
+ movq $0,-8(%rsp)
decl CPUVAR(IDEPTH)
CODEPATCH_START
jmp retpoline_r13