svn commit: r336971 - in head/sys: arm64/arm64 arm64/include dev/psci

Andrew Turner andrew at FreeBSD.org
Tue Jul 31 15:08:04 UTC 2018


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_ */


More information about the svn-src-all mailing list