Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/aarch64/aarch64 modifying curlwp->l_md_ktf, curlwp-...



details:   https://anonhg.NetBSD.org/src/rev/ea7c21d0cc68
branches:  trunk
changeset: 995112:ea7c21d0cc68
user:      ryo <ryo%NetBSD.org@localhost>
date:      Fri Dec 07 18:27:03 2018 +0000

description:
modifying curlwp->l_md_ktf, curlwp->l_md_cpacr, and curlwp should be protected by a critical section.

diffstat:

 sys/arch/aarch64/aarch64/cpuswitch.S |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (34 lines):

diff -r 0ebd8b1c6924 -r ea7c21d0cc68 sys/arch/aarch64/aarch64/cpuswitch.S
--- a/sys/arch/aarch64/aarch64/cpuswitch.S      Fri Dec 07 17:58:29 2018 +0000
+++ b/sys/arch/aarch64/aarch64/cpuswitch.S      Fri Dec 07 18:27:03 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cpuswitch.S,v 1.6 2018/11/08 08:28:07 maxv Exp $ */
+/* $NetBSD: cpuswitch.S,v 1.7 2018/12/07 18:27:03 ryo Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
 #include "opt_ddb.h"
 #include "opt_kasan.h"
 
-RCSID("$NetBSD: cpuswitch.S,v 1.6 2018/11/08 08:28:07 maxv Exp $")
+RCSID("$NetBSD: cpuswitch.S,v 1.7 2018/12/07 18:27:03 ryo Exp $")
 
 /*
  * At IPL_SCHED:
@@ -76,6 +76,7 @@
        /* We are done with the old lwp */
 
 .Lrestore_lwp:
+       DISABLE_INTERRUPT
 #if L_MD_KTF + 8 == L_MD_CPACR
        ldp     x4, x5, [x1, #L_MD_KTF] /* get trapframe ptr and cpacr_el1 */
 #else
@@ -87,6 +88,7 @@
 
        mrs     x3, tpidr_el1
        str     x1, [x3, #CI_CURLWP]    /* switch curlwp to new lwp */
+       ENABLE_INTERRUPT
 
        /*
         * Restore callee save registers.



Home | Main Index | Thread Index | Old Index