Date: Thu, 5 Oct 2017 11:00:05 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r324299 - in stable/11/sys/i386: i386 include Message-ID: <201710051100.v95B05G2002079@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kib Date: Thu Oct 5 11:00:04 2017 New Revision: 324299 URL: https://svnweb.freebsd.org/changeset/base/324299 Log: MFC r324079: Do not return from interrupt using the POP_FRAME;iret instruction sequence, always jump to doreti. Modified: stable/11/sys/i386/i386/apic_vector.s stable/11/sys/i386/include/asmacros.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/i386/i386/apic_vector.s ============================================================================== --- stable/11/sys/i386/i386/apic_vector.s Thu Oct 5 10:47:04 2017 (r324298) +++ stable/11/sys/i386/i386/apic_vector.s Thu Oct 5 11:00:04 2017 (r324299) @@ -189,8 +189,7 @@ IDTVEC(xen_intr_upcall) SUPERALIGN_TEXT invltlb_ret: call as_lapic_eoi - POP_FRAME - iret + jmp doreti SUPERALIGN_TEXT IDTVEC(invltlb) @@ -274,10 +273,8 @@ IDTVEC(cpustop) call as_lapic_eoi call cpustop_handler + jmp doreti - POP_FRAME - iret - /* * Executed by a CPU when it receives an IPI_SUSPEND from another CPU. */ @@ -290,10 +287,8 @@ IDTVEC(cpususpend) call as_lapic_eoi call cpususpend_handler + jmp doreti - POP_FRAME - jmp doreti_iret - /* * Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU. * @@ -314,7 +309,6 @@ IDTVEC(rendezvous) call smp_rendezvous_action call as_lapic_eoi - POP_FRAME - iret + jmp doreti #endif /* SMP */ Modified: stable/11/sys/i386/include/asmacros.h ============================================================================== --- stable/11/sys/i386/include/asmacros.h Thu Oct 5 10:47:04 2017 (r324298) +++ stable/11/sys/i386/include/asmacros.h Thu Oct 5 11:00:04 2017 (r324299) @@ -153,13 +153,6 @@ pushl $0 ; \ movw %fs,(%esp) -#define POP_FRAME \ - popl %fs ; \ - popl %es ; \ - popl %ds ; \ - popal ; \ - addl $4+4,%esp - /* * Access per-CPU data. */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710051100.v95B05G2002079>