Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jul 2018 15:08:02 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r336971 - in head/sys: arm64/arm64 arm64/include dev/psci
Message-ID:  <201807311508.w6VF82vN047838@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Tue Jul 31 15:08:02 2018
New Revision: 336971
URL: https://svnweb.freebsd.org/changeset/base/336971

Log:
  Use int for the pcpu_ssbd argument. This is included from userland and may
  not include the needed headers to get the bool definition.
  
  Reported by:	manu
  Pointy hat to:	andrew
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/arm64/arm64/cpu_errata.c
  head/sys/arm64/include/pcpu.h
  head/sys/dev/psci/smccc.c
  head/sys/dev/psci/smccc.h

Modified: head/sys/arm64/arm64/cpu_errata.c
==============================================================================
--- head/sys/arm64/arm64/cpu_errata.c	Tue Jul 31 14:14:41 2018	(r336970)
+++ head/sys/arm64/arm64/cpu_errata.c	Tue Jul 31 15:08:02 2018	(r336971)
@@ -126,10 +126,10 @@ install_ssbd_workaround(void)
 
 	switch(ssbd_method) {
 	case SSBD_FORCE_ON:
-		smccc_arch_workaround_2(true);
+		smccc_arch_workaround_2(1);
 		break;
 	case SSBD_FORCE_OFF:
-		smccc_arch_workaround_2(false);
+		smccc_arch_workaround_2(0);
 		break;
 	case SSBD_KERNEL:
 	default:

Modified: head/sys/arm64/include/pcpu.h
==============================================================================
--- head/sys/arm64/include/pcpu.h	Tue Jul 31 14:14:41 2018	(r336970)
+++ head/sys/arm64/include/pcpu.h	Tue Jul 31 15:08:02 2018	(r336971)
@@ -36,7 +36,7 @@
 #define	ALT_STACK_SIZE	128
 
 typedef int (*pcpu_bp_harden)(void);
-typedef int (*pcpu_ssbd)(bool);
+typedef int (*pcpu_ssbd)(int);
 
 #define	PCPU_MD_FIELDS							\
 	u_int	pc_acpi_id;	/* ACPI CPU id */		\

Modified: head/sys/dev/psci/smccc.c
==============================================================================
--- head/sys/dev/psci/smccc.c	Tue Jul 31 14:14:41 2018	(r336970)
+++ head/sys/dev/psci/smccc.c	Tue Jul 31 15:08:02 2018	(r336971)
@@ -93,10 +93,10 @@ smccc_arch_workaround_1(void)
 }
 
 int
-smccc_arch_workaround_2(bool enable)
+smccc_arch_workaround_2(int enable)
 {
 
 	KASSERT(smccc_version != SMCCC_VERSION_1_0,
 	    ("SMCCC arch workaround 2 called with an invalid SMCCC interface"));
-	return (psci_call(SMCCC_ARCH_WORKAROUND_2, enable ? 1 : 0, 0, 0));
+	return (psci_call(SMCCC_ARCH_WORKAROUND_2, enable, 0, 0));
 }

Modified: head/sys/dev/psci/smccc.h
==============================================================================
--- head/sys/dev/psci/smccc.h	Tue Jul 31 14:14:41 2018	(r336970)
+++ head/sys/dev/psci/smccc.h	Tue Jul 31 15:08:02 2018	(r336971)
@@ -69,7 +69,7 @@
 
 int32_t smccc_arch_features(uint32_t);
 int smccc_arch_workaround_1(void);
-int smccc_arch_workaround_2(bool);
+int smccc_arch_workaround_2(int);
 
 
 #endif /* _PSCI_SMCCC_H_ */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807311508.w6VF82vN047838>