Module Name:    src
Committed By:   riastradh
Date:           Sun Apr  9 08:17:56 UTC 2023

Modified Files:
        src/sys/arch/amd64/include: cpu.h

Log Message:
amd64: Make curlwp and curcpu() flushable.

The only effect of the `volatile' qualifier on an asm block with
outputs is to force the instructions to appear in the generated code,
even if the outputs end up being unused.  Since these instructions
have no (architectural) side effects -- provided %gs is set
correctly, which must be the case here -- there's no need for the
volatile qualifier, so nix it.


To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 src/sys/arch/amd64/include/cpu.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/include/cpu.h
diff -u src/sys/arch/amd64/include/cpu.h:1.70 src/sys/arch/amd64/include/cpu.h:1.71
--- src/sys/arch/amd64/include/cpu.h:1.70	Tue Nov  2 11:26:03 2021
+++ src/sys/arch/amd64/include/cpu.h	Sun Apr  9 08:17:56 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.h,v 1.70 2021/11/02 11:26:03 ryo Exp $	*/
+/*	$NetBSD: cpu.h,v 1.71 2023/04/09 08:17:56 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -53,7 +53,7 @@ x86_curcpu(void)
 {
 	struct cpu_info *ci;
 
-	__asm volatile("movq %%gs:%1, %0" :
+	__asm("movq %%gs:%1, %0" :
 	    "=r" (ci) :
 	    "m"
 	    (*(struct cpu_info * const *)offsetof(struct cpu_info, ci_self)));
@@ -65,7 +65,7 @@ x86_curlwp(void)
 {
 	lwp_t *l;
 
-	__asm volatile("movq %%gs:%1, %0" :
+	__asm("movq %%gs:%1, %0" :
 	    "=r" (l) :
 	    "m"
 	    (*(struct cpu_info * const *)offsetof(struct cpu_info, ci_curlwp)));

Reply via email to