diff options
| -rw-r--r-- | arch/s390/include/asm/cpu.h | 20 | ||||
| -rw-r--r-- | arch/s390/include/asm/cpuid.h | 25 | ||||
| -rw-r--r-- | arch/s390/include/asm/kvm_host.h | 6 | ||||
| -rw-r--r-- | arch/s390/include/asm/lowcore.h | 6 | ||||
| -rw-r--r-- | arch/s390/include/asm/processor.h | 4 | ||||
| -rw-r--r-- | drivers/s390/char/zcore.c | 2 | ||||
| -rw-r--r-- | drivers/s390/cio/css.c | 4 |
7 files changed, 31 insertions, 36 deletions
diff --git a/arch/s390/include/asm/cpu.h b/arch/s390/include/asm/cpu.h index 702ad46841c..471234b9057 100644 --- a/arch/s390/include/asm/cpu.h +++ b/arch/s390/include/asm/cpu.h | |||
| @@ -1,6 +1,26 @@ | |||
| 1 | /* | ||
| 2 | * Copyright IBM Corp. 2000,2009 | ||
| 3 | * Author(s): Hartmut Penner <hp@de.ibm.com>, | ||
| 4 | * Martin Schwidefsky <schwidefsky@de.ibm.com>, | ||
| 5 | * Christian Ehrhardt <ehrhardt@de.ibm.com>, | ||
| 6 | */ | ||
| 7 | |||
| 1 | #ifndef _ASM_S390_CPU_H | 8 | #ifndef _ASM_S390_CPU_H |
| 2 | #define _ASM_S390_CPU_H | 9 | #define _ASM_S390_CPU_H |
| 3 | 10 | ||
| 4 | #define MAX_CPU_ADDRESS 255 | 11 | #define MAX_CPU_ADDRESS 255 |
| 5 | 12 | ||
| 13 | #ifndef __ASSEMBLY__ | ||
| 14 | |||
| 15 | #include <linux/types.h> | ||
| 16 | |||
| 17 | struct cpuid | ||
| 18 | { | ||
| 19 | unsigned int version : 8; | ||
| 20 | unsigned int ident : 24; | ||
| 21 | unsigned int machine : 16; | ||
| 22 | unsigned int unused : 16; | ||
| 23 | } __packed; | ||
| 24 | |||
| 25 | #endif /* __ASSEMBLY__ */ | ||
| 6 | #endif /* _ASM_S390_CPU_H */ | 26 | #endif /* _ASM_S390_CPU_H */ |
diff --git a/arch/s390/include/asm/cpuid.h b/arch/s390/include/asm/cpuid.h deleted file mode 100644 index 07836a2e522..00000000000 --- a/arch/s390/include/asm/cpuid.h +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright IBM Corp. 2000,2009 | ||
| 3 | * Author(s): Hartmut Penner <hp@de.ibm.com>, | ||
| 4 | * Martin Schwidefsky <schwidefsky@de.ibm.com> | ||
| 5 | * Christian Ehrhardt <ehrhardt@de.ibm.com> | ||
| 6 | */ | ||
| 7 | |||
| 8 | #ifndef _ASM_S390_CPUID_H_ | ||
| 9 | #define _ASM_S390_CPUID_H_ | ||
| 10 | |||
| 11 | /* | ||
| 12 | * CPU type and hardware bug flags. Kept separately for each CPU. | ||
| 13 | * Members of this structure are referenced in head.S, so think twice | ||
| 14 | * before touching them. [mj] | ||
| 15 | */ | ||
| 16 | |||
| 17 | typedef struct | ||
| 18 | { | ||
| 19 | unsigned int version : 8; | ||
| 20 | unsigned int ident : 24; | ||
| 21 | unsigned int machine : 16; | ||
| 22 | unsigned int unused : 16; | ||
| 23 | } __attribute__ ((packed)) cpuid_t; | ||
| 24 | |||
| 25 | #endif /* _ASM_S390_CPUID_H_ */ | ||
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h index 1cd02f6073a..698988f6940 100644 --- a/arch/s390/include/asm/kvm_host.h +++ b/arch/s390/include/asm/kvm_host.h | |||
| @@ -17,7 +17,7 @@ | |||
| 17 | #include <linux/interrupt.h> | 17 | #include <linux/interrupt.h> |
| 18 | #include <linux/kvm_host.h> | 18 | #include <linux/kvm_host.h> |
| 19 | #include <asm/debug.h> | 19 | #include <asm/debug.h> |
| 20 | #include <asm/cpuid.h> | 20 | #include <asm/cpu.h> |
| 21 | 21 | ||
| 22 | #define KVM_MAX_VCPUS 64 | 22 | #define KVM_MAX_VCPUS 64 |
| 23 | #define KVM_MEMORY_SLOTS 32 | 23 | #define KVM_MEMORY_SLOTS 32 |
| @@ -217,8 +217,8 @@ struct kvm_vcpu_arch { | |||
| 217 | struct hrtimer ckc_timer; | 217 | struct hrtimer ckc_timer; |
| 218 | struct tasklet_struct tasklet; | 218 | struct tasklet_struct tasklet; |
| 219 | union { | 219 | union { |
| 220 | cpuid_t cpu_id; | 220 | struct cpuid cpu_id; |
| 221 | u64 stidp_data; | 221 | u64 stidp_data; |
| 222 | }; | 222 | }; |
| 223 | }; | 223 | }; |
| 224 | 224 | ||
diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h index 5046ad6b7a6..6bc9426a6fb 100644 --- a/arch/s390/include/asm/lowcore.h +++ b/arch/s390/include/asm/lowcore.h | |||
| @@ -132,7 +132,7 @@ | |||
| 132 | 132 | ||
| 133 | #ifndef __ASSEMBLY__ | 133 | #ifndef __ASSEMBLY__ |
| 134 | 134 | ||
| 135 | #include <asm/cpuid.h> | 135 | #include <asm/cpu.h> |
| 136 | #include <asm/ptrace.h> | 136 | #include <asm/ptrace.h> |
| 137 | #include <linux/types.h> | 137 | #include <linux/types.h> |
| 138 | 138 | ||
| @@ -275,7 +275,7 @@ struct _lowcore | |||
| 275 | __u32 user_exec_asce; /* 0x02ac */ | 275 | __u32 user_exec_asce; /* 0x02ac */ |
| 276 | 276 | ||
| 277 | /* SMP info area */ | 277 | /* SMP info area */ |
| 278 | cpuid_t cpu_id; /* 0x02b0 */ | 278 | struct cpuid cpu_id; /* 0x02b0 */ |
| 279 | __u32 cpu_nr; /* 0x02b8 */ | 279 | __u32 cpu_nr; /* 0x02b8 */ |
| 280 | __u32 softirq_pending; /* 0x02bc */ | 280 | __u32 softirq_pending; /* 0x02bc */ |
| 281 | __u32 percpu_offset; /* 0x02c0 */ | 281 | __u32 percpu_offset; /* 0x02c0 */ |
| @@ -380,7 +380,7 @@ struct _lowcore | |||
| 380 | __u64 user_exec_asce; /* 0x0318 */ | 380 | __u64 user_exec_asce; /* 0x0318 */ |
| 381 | 381 | ||
| 382 | /* SMP info area */ | 382 | /* SMP info area */ |
| 383 | cpuid_t cpu_id; /* 0x0320 */ | 383 | struct cpuid cpu_id; /* 0x0320 */ |
| 384 | __u32 cpu_nr; /* 0x0328 */ | 384 | __u32 cpu_nr; /* 0x0328 */ |
| 385 | __u32 softirq_pending; /* 0x032c */ | 385 | __u32 softirq_pending; /* 0x032c */ |
| 386 | __u64 percpu_offset; /* 0x0330 */ | 386 | __u64 percpu_offset; /* 0x0330 */ |
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h index c139fa7b8e8..cf8eed3fa77 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | #define __ASM_S390_PROCESSOR_H | 14 | #define __ASM_S390_PROCESSOR_H |
| 15 | 15 | ||
| 16 | #include <linux/linkage.h> | 16 | #include <linux/linkage.h> |
| 17 | #include <asm/cpuid.h> | 17 | #include <asm/cpu.h> |
| 18 | #include <asm/page.h> | 18 | #include <asm/page.h> |
| 19 | #include <asm/ptrace.h> | 19 | #include <asm/ptrace.h> |
| 20 | #include <asm/setup.h> | 20 | #include <asm/setup.h> |
| @@ -26,7 +26,7 @@ | |||
| 26 | */ | 26 | */ |
| 27 | #define current_text_addr() ({ void *pc; asm("basr %0,0" : "=a" (pc)); pc; }) | 27 | #define current_text_addr() ({ void *pc; asm("basr %0,0" : "=a" (pc)); pc; }) |
| 28 | 28 | ||
| 29 | static inline void get_cpu_id(cpuid_t *ptr) | 29 | static inline void get_cpu_id(struct cpuid *ptr) |
| 30 | { | 30 | { |
| 31 | asm volatile("stidp 0(%1)" : "=m" (*ptr) : "a" (ptr)); | 31 | asm volatile("stidp 0(%1)" : "=m" (*ptr) : "a" (ptr)); |
| 32 | } | 32 | } |
diff --git a/drivers/s390/char/zcore.c b/drivers/s390/char/zcore.c index 1bbae433fbd..c431198bdbc 100644 --- a/drivers/s390/char/zcore.c +++ b/drivers/s390/char/zcore.c | |||
| @@ -275,7 +275,7 @@ struct zcore_header { | |||
| 275 | u32 num_pages; | 275 | u32 num_pages; |
| 276 | u32 pad1; | 276 | u32 pad1; |
| 277 | u64 tod; | 277 | u64 tod; |
| 278 | cpuid_t cpu_id; | 278 | struct cpuid cpu_id; |
| 279 | u32 arch_id; | 279 | u32 arch_id; |
| 280 | u32 volnr; | 280 | u32 volnr; |
| 281 | u32 build_arch; | 281 | u32 build_arch; |
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 45858f3b731..e995123fd80 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c | |||
| @@ -657,8 +657,8 @@ css_generate_pgid(struct channel_subsystem *css, u32 tod_high) | |||
| 657 | css->global_pgid.pgid_high.cpu_addr = 0; | 657 | css->global_pgid.pgid_high.cpu_addr = 0; |
| 658 | #endif | 658 | #endif |
| 659 | } | 659 | } |
| 660 | css->global_pgid.cpu_id = ((cpuid_t *) __LC_CPUID)->ident; | 660 | css->global_pgid.cpu_id = S390_lowcore.cpu_id.ident; |
| 661 | css->global_pgid.cpu_model = ((cpuid_t *) __LC_CPUID)->machine; | 661 | css->global_pgid.cpu_model = S390_lowcore.cpu_id.machine; |
| 662 | css->global_pgid.tod_high = tod_high; | 662 | css->global_pgid.tod_high = tod_high; |
| 663 | 663 | ||
| 664 | } | 664 | } |
