linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arch/powerpc: advertise ISA2.07, HTM, DSCR, EBB and ISEL bits in HWCAP2
@ 2013-05-03 23:19 Nishanth Aravamudan
  2013-05-03 23:23 ` Benjamin Herrenschmidt
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Nishanth Aravamudan @ 2013-05-03 23:19 UTC (permalink / raw)
  To: benh
  Cc: Michael Neuling, Michael R Meissner, sjmunroe, bergner,
	Ryan Arnold, linuxppc-dev

Now that we have AT_HWCAP2 support, start exposing some of the new
POWER8 features via it.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

---
Note: there are, I think, some Freescale processors that also should be
updated to indicate they support ISEL, but I don't know which ones.
Since this is a new feature bit (and vector), it seems like we can fix
that up in a follow-on patch. Also, this is my first patch trying to
manipulate these bits, so please let me know if I'm doing something
wrong (for instance, I don't see any particular order to the bits in
PPC_FEATURE_*)

diff --git a/arch/powerpc/include/uapi/asm/cputable.h b/arch/powerpc/include/uapi/asm/cputable.h
index ed9dd81..78db4e2 100644
--- a/arch/powerpc/include/uapi/asm/cputable.h
+++ b/arch/powerpc/include/uapi/asm/cputable.h
@@ -1,6 +1,7 @@
 #ifndef _UAPI__ASM_POWERPC_CPUTABLE_H
 #define _UAPI__ASM_POWERPC_CPUTABLE_H
 
+/* in AT_HWCAP */
 #define PPC_FEATURE_32			0x80000000
 #define PPC_FEATURE_64			0x40000000
 #define PPC_FEATURE_601_INSTR		0x20000000
@@ -33,4 +34,11 @@
 #define PPC_FEATURE_TRUE_LE		0x00000002
 #define PPC_FEATURE_PPC_LE		0x00000001
 
+/* in AT_HWCAP2 */
+#define PPC_FEATURE2_ARCH_2_07		0x80000000
+#define PPC_FEATURE2_HTM		0x40000000
+#define PPC_FEATURE2_DSCR		0x20000000
+#define PPC_FEATURE2_EBB		0x10000000
+#define PPC_FEATURE2_ISEL		0x08000000
+
 #endif /* _UAPI__ASM_POWERPC_CPUTABLE_H */
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index ae9f433..871c741 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -102,6 +102,9 @@ extern void __restore_cpu_e6500(void);
 				 PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | \
 				 PPC_FEATURE_TRUE_LE | \
 				 PPC_FEATURE_PSERIES_PERFMON_COMPAT)
+#define COMMON_USER2_POWER8	(PPC_FEATURE2_ARCH_2_07 | PPC_FEATURE2_HTM | \
+				 PPC_FEATURE2_DSCR | PPC_FEATURE2_EBB | \
+				 PPC_FEATURE2_ISEL)
 #define COMMON_USER_PA6T	(COMMON_USER_PPC64 | PPC_FEATURE_PA6T |\
 				 PPC_FEATURE_TRUE_LE | \
 				 PPC_FEATURE_HAS_ALTIVEC_COMP)
@@ -443,6 +446,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
 		.cpu_name		= "POWER8 (architected)",
 		.cpu_features		= CPU_FTRS_POWER8,
 		.cpu_user_features	= COMMON_USER_POWER8,
+		.cpu_user_features2	= COMMON_USER2_POWER8,
 		.mmu_features		= MMU_FTRS_POWER8,
 		.icache_bsize		= 128,
 		.dcache_bsize		= 128,
@@ -492,6 +496,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
 		.cpu_name		= "POWER8 (raw)",
 		.cpu_features		= CPU_FTRS_POWER8,
 		.cpu_user_features	= COMMON_USER_POWER8,
+		.cpu_user_features2	= COMMON_USER2_POWER8,
 		.mmu_features		= MMU_FTRS_POWER8,
 		.icache_bsize		= 128,
 		.dcache_bsize		= 128,

^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2013-05-20 23:41 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-03 23:19 [PATCH] arch/powerpc: advertise ISA2.07, HTM, DSCR, EBB and ISEL bits in HWCAP2 Nishanth Aravamudan
2013-05-03 23:23 ` Benjamin Herrenschmidt
2013-05-03 23:40   ` Nishanth Aravamudan
2013-05-06 14:38     ` Ryan Arnold
2013-05-06 21:37       ` Benjamin Herrenschmidt
2013-05-07 15:11         ` Ryan Arnold
2013-05-07 20:33         ` Nishanth Aravamudan
2013-05-07 20:49           ` Benjamin Herrenschmidt
2013-05-07 21:11             ` Nishanth Aravamudan
2013-05-03 23:26 ` Michael R Meissner
2013-05-04 21:42   ` Segher Boessenkool
2013-05-04  0:04 ` Michael Neuling
2013-05-04  0:47   ` [PATCH v2 1/4] powerpc/cputable: reserve bits in HWCAP2 for new features Nishanth Aravamudan
2013-05-04  0:48     ` [PATCH v2 2/4] powerpc/cputable: advertise DSCR support on P7/P7+ Nishanth Aravamudan
2013-05-04  0:49       ` [PATCH v2 3/4] powerpc/cputable: advertise ISEL support on appropriate embedded processors Nishanth Aravamudan
2013-05-04  0:49         ` [PATCH v2 4/4] powerpc/cputable: advertise support for ISEL/HTM/DSCR/TAR on POWER8 Nishanth Aravamudan
2013-05-05  2:01         ` [PATCH v3 3/4] powerpc/cputable: advertise ISEL support on appropriate embedded processors Nishanth Aravamudan
2013-05-20 15:04       ` [PATCH v2 2/4] powerpc/cputable: advertise DSCR support on P7/P7+ Will Schmidt
2013-05-20 23:41         ` Michael Neuling
2013-05-06 19:07     ` [PATCH v2 1/4] powerpc/cputable: reserve bits in HWCAP2 for new features Ryan Arnold
2013-05-06 21:41       ` Benjamin Herrenschmidt
2013-05-07 15:07         ` Ryan Arnold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).