summaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/cpuid.h
diff options
context:
space:
mode:
authorChristian Ehrhardt <ehrhardt@linux.vnet.ibm.com>2009-04-14 15:36:16 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-04-14 15:37:21 +0200
commit25097bf153391f7be4c591d47061b3dc4990dac2 (patch)
treee6fce72c43759d97eb80f0af1ae08c0e6058e6bc /arch/s390/include/asm/cpuid.h
parentb21597d0268983f8f9e8b563494f75490403e948 (diff)
downloadop-kernel-dev-25097bf153391f7be4c591d47061b3dc4990dac2.zip
op-kernel-dev-25097bf153391f7be4c591d47061b3dc4990dac2.tar.gz
[S390] s390: move machine flags to lowcore
Currently the storage of the machine flags is a globally exported unsigned long long variable. By moving the storage location into the lowcore struct we allow assembler code to check machine_flags directly even without needing a register. Addtionally the lowcore and therefore the machine flags too will be in cache most of the time. Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/cpuid.h')
-rw-r--r--arch/s390/include/asm/cpuid.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/s390/include/asm/cpuid.h b/arch/s390/include/asm/cpuid.h
new file mode 100644
index 0000000..07836a2
--- /dev/null
+++ b/arch/s390/include/asm/cpuid.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright IBM Corp. 2000,2009
+ * Author(s): Hartmut Penner <hp@de.ibm.com>,
+ * Martin Schwidefsky <schwidefsky@de.ibm.com>
+ * Christian Ehrhardt <ehrhardt@de.ibm.com>
+ */
+
+#ifndef _ASM_S390_CPUID_H_
+#define _ASM_S390_CPUID_H_
+
+/*
+ * CPU type and hardware bug flags. Kept separately for each CPU.
+ * Members of this structure are referenced in head.S, so think twice
+ * before touching them. [mj]
+ */
+
+typedef struct
+{
+ unsigned int version : 8;
+ unsigned int ident : 24;
+ unsigned int machine : 16;
+ unsigned int unused : 16;
+} __attribute__ ((packed)) cpuid_t;
+
+#endif /* _ASM_S390_CPUID_H_ */
OpenPOWER on IntegriCloud