Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/i386 Declare INTRFASTEXIT as a function, like amd64...



details:   https://anonhg.NetBSD.org/src/rev/36910c8a6f85
branches:  trunk
changeset: 826622:36910c8a6f85
user:      maxv <maxv%NetBSD.org@localhost>
date:      Sun Sep 17 09:59:23 2017 +0000

description:
Declare INTRFASTEXIT as a function, like amd64; will be expanded soon.

diffstat:

 sys/arch/i386/i386/locore.S      |  21 +++++++++++++++++++--
 sys/arch/i386/include/frameasm.h |  19 ++-----------------
 2 files changed, 21 insertions(+), 19 deletions(-)

diffs (73 lines):

diff -r c28970cff00d -r 36910c8a6f85 sys/arch/i386/i386/locore.S
--- a/sys/arch/i386/i386/locore.S       Sun Sep 17 09:41:35 2017 +0000
+++ b/sys/arch/i386/i386/locore.S       Sun Sep 17 09:59:23 2017 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.S,v 1.151 2017/08/12 07:21:57 maxv Exp $        */
+/*     $NetBSD: locore.S,v 1.152 2017/09/17 09:59:23 maxv Exp $        */
 
 /*
  * Copyright-o-rama!
@@ -128,7 +128,7 @@
  */
 
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.151 2017/08/12 07:21:57 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.152 2017/09/17 09:59:23 maxv Exp $");
 
 #include "opt_copy_symtab.h"
 #include "opt_ddb.h"
@@ -1367,3 +1367,20 @@
        popl    %ebp
        ret
 END(sse2_idlezero_page)
+
+ENTRY(intrfastexit)
+       movw    TF_GS(%esp),%gs
+       movw    TF_FS(%esp),%fs
+       movw    TF_ES(%esp),%es
+       movw    TF_DS(%esp),%ds
+       movl    TF_EDI(%esp),%edi
+       movl    TF_ESI(%esp),%esi
+       movl    TF_EBP(%esp),%ebp
+       movl    TF_EBX(%esp),%ebx
+       movl    TF_EDX(%esp),%edx
+       movl    TF_ECX(%esp),%ecx
+       movl    TF_EAX(%esp),%eax
+       addl    $(TF_PUSHSIZE+8),%esp
+       iret
+END(intrfastexit)
+
diff -r c28970cff00d -r 36910c8a6f85 sys/arch/i386/include/frameasm.h
--- a/sys/arch/i386/include/frameasm.h  Sun Sep 17 09:41:35 2017 +0000
+++ b/sys/arch/i386/include/frameasm.h  Sun Sep 17 09:59:23 2017 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: frameasm.h,v 1.17 2017/09/17 09:04:51 maxv Exp $       */
+/*     $NetBSD: frameasm.h,v 1.18 2017/09/17 09:59:23 maxv Exp $       */
 
 #ifndef _I386_FRAMEASM_H_
 #define _I386_FRAMEASM_H_
@@ -51,23 +51,8 @@
        movl    %eax,%fs        ; \
        cld
 
-/*
- * INTRFASTEXIT should be in sync with trap(), resume_iret and friends.
- */
 #define        INTRFASTEXIT \
-       movw    TF_GS(%esp),%gs ; \
-       movw    TF_FS(%esp),%fs ; \
-       movw    TF_ES(%esp),%es ; \
-       movw    TF_DS(%esp),%ds ; \
-       movl    TF_EDI(%esp),%edi       ; \
-       movl    TF_ESI(%esp),%esi       ; \
-       movl    TF_EBP(%esp),%ebp       ; \
-       movl    TF_EBX(%esp),%ebx       ; \
-       movl    TF_EDX(%esp),%edx       ; \
-       movl    TF_ECX(%esp),%ecx       ; \
-       movl    TF_EAX(%esp),%eax       ; \
-       addl    $(TF_PUSHSIZE+8),%esp   ; \
-       iret
+       jmp     intrfastexit
 
 #define        DO_DEFERRED_SWITCH \
        cmpl    $0, CPUVAR(WANT_PMAPLOAD)               ; \



Home | Main Index | Thread Index | Old Index