diff options
Diffstat (limited to 'include/asm-s390')
-rw-r--r-- | include/asm-s390/Kbuild | 1 | ||||
-rw-r--r-- | include/asm-s390/hugetlb.h | 3 | ||||
-rw-r--r-- | include/asm-s390/kvm_host.h | 38 | ||||
-rw-r--r-- | include/asm-s390/kvm_virtio.h | 10 | ||||
-rw-r--r-- | include/asm-s390/namei.h | 21 | ||||
-rw-r--r-- | include/asm-s390/page.h | 3 | ||||
-rw-r--r-- | include/asm-s390/semaphore.h | 1 | ||||
-rw-r--r-- | include/asm-s390/thread_info.h | 5 |
8 files changed, 32 insertions, 50 deletions
diff --git a/include/asm-s390/Kbuild b/include/asm-s390/Kbuild index bb5e9edb9825..63a23415fba6 100644 --- a/include/asm-s390/Kbuild +++ b/include/asm-s390/Kbuild | |||
@@ -7,7 +7,6 @@ header-y += tape390.h | |||
7 | header-y += ucontext.h | 7 | header-y += ucontext.h |
8 | header-y += vtoc.h | 8 | header-y += vtoc.h |
9 | header-y += zcrypt.h | 9 | header-y += zcrypt.h |
10 | header-y += kvm.h | ||
11 | header-y += chsc.h | 10 | header-y += chsc.h |
12 | 11 | ||
13 | unifdef-y += cmb.h | 12 | unifdef-y += cmb.h |
diff --git a/include/asm-s390/hugetlb.h b/include/asm-s390/hugetlb.h index 600a776f8f75..670a1d1745d2 100644 --- a/include/asm-s390/hugetlb.h +++ b/include/asm-s390/hugetlb.h | |||
@@ -22,7 +22,8 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, | |||
22 | * If the arch doesn't supply something else, assume that hugepage | 22 | * If the arch doesn't supply something else, assume that hugepage |
23 | * size aligned regions are ok without further preparation. | 23 | * size aligned regions are ok without further preparation. |
24 | */ | 24 | */ |
25 | static inline int prepare_hugepage_range(unsigned long addr, unsigned long len) | 25 | static inline int prepare_hugepage_range(struct file *file, |
26 | unsigned long addr, unsigned long len) | ||
26 | { | 27 | { |
27 | if (len & ~HPAGE_MASK) | 28 | if (len & ~HPAGE_MASK) |
28 | return -EINVAL; | 29 | return -EINVAL; |
diff --git a/include/asm-s390/kvm_host.h b/include/asm-s390/kvm_host.h index 18cbd8a39796..3c55e4107dcc 100644 --- a/include/asm-s390/kvm_host.h +++ b/include/asm-s390/kvm_host.h | |||
@@ -62,7 +62,7 @@ struct sca_block { | |||
62 | #define CPUSTAT_J 0x00000002 | 62 | #define CPUSTAT_J 0x00000002 |
63 | #define CPUSTAT_P 0x00000001 | 63 | #define CPUSTAT_P 0x00000001 |
64 | 64 | ||
65 | struct sie_block { | 65 | struct kvm_s390_sie_block { |
66 | atomic_t cpuflags; /* 0x0000 */ | 66 | atomic_t cpuflags; /* 0x0000 */ |
67 | __u32 prefix; /* 0x0004 */ | 67 | __u32 prefix; /* 0x0004 */ |
68 | __u8 reserved8[32]; /* 0x0008 */ | 68 | __u8 reserved8[32]; /* 0x0008 */ |
@@ -111,7 +111,7 @@ struct kvm_vcpu_stat { | |||
111 | u32 exit_validity; | 111 | u32 exit_validity; |
112 | u32 exit_instruction; | 112 | u32 exit_instruction; |
113 | u32 instruction_lctl; | 113 | u32 instruction_lctl; |
114 | u32 instruction_lctg; | 114 | u32 instruction_lctlg; |
115 | u32 exit_program_interruption; | 115 | u32 exit_program_interruption; |
116 | u32 exit_instr_and_program; | 116 | u32 exit_instr_and_program; |
117 | u32 deliver_emergency_signal; | 117 | u32 deliver_emergency_signal; |
@@ -140,14 +140,14 @@ struct kvm_vcpu_stat { | |||
140 | u32 diagnose_44; | 140 | u32 diagnose_44; |
141 | }; | 141 | }; |
142 | 142 | ||
143 | struct io_info { | 143 | struct kvm_s390_io_info { |
144 | __u16 subchannel_id; /* 0x0b8 */ | 144 | __u16 subchannel_id; /* 0x0b8 */ |
145 | __u16 subchannel_nr; /* 0x0ba */ | 145 | __u16 subchannel_nr; /* 0x0ba */ |
146 | __u32 io_int_parm; /* 0x0bc */ | 146 | __u32 io_int_parm; /* 0x0bc */ |
147 | __u32 io_int_word; /* 0x0c0 */ | 147 | __u32 io_int_word; /* 0x0c0 */ |
148 | }; | 148 | }; |
149 | 149 | ||
150 | struct ext_info { | 150 | struct kvm_s390_ext_info { |
151 | __u32 ext_params; | 151 | __u32 ext_params; |
152 | __u64 ext_params2; | 152 | __u64 ext_params2; |
153 | }; | 153 | }; |
@@ -160,22 +160,22 @@ struct ext_info { | |||
160 | #define PGM_SPECIFICATION 0x06 | 160 | #define PGM_SPECIFICATION 0x06 |
161 | #define PGM_DATA 0x07 | 161 | #define PGM_DATA 0x07 |
162 | 162 | ||
163 | struct pgm_info { | 163 | struct kvm_s390_pgm_info { |
164 | __u16 code; | 164 | __u16 code; |
165 | }; | 165 | }; |
166 | 166 | ||
167 | struct prefix_info { | 167 | struct kvm_s390_prefix_info { |
168 | __u32 address; | 168 | __u32 address; |
169 | }; | 169 | }; |
170 | 170 | ||
171 | struct interrupt_info { | 171 | struct kvm_s390_interrupt_info { |
172 | struct list_head list; | 172 | struct list_head list; |
173 | u64 type; | 173 | u64 type; |
174 | union { | 174 | union { |
175 | struct io_info io; | 175 | struct kvm_s390_io_info io; |
176 | struct ext_info ext; | 176 | struct kvm_s390_ext_info ext; |
177 | struct pgm_info pgm; | 177 | struct kvm_s390_pgm_info pgm; |
178 | struct prefix_info prefix; | 178 | struct kvm_s390_prefix_info prefix; |
179 | }; | 179 | }; |
180 | }; | 180 | }; |
181 | 181 | ||
@@ -183,35 +183,35 @@ struct interrupt_info { | |||
183 | #define ACTION_STORE_ON_STOP 1 | 183 | #define ACTION_STORE_ON_STOP 1 |
184 | #define ACTION_STOP_ON_STOP 2 | 184 | #define ACTION_STOP_ON_STOP 2 |
185 | 185 | ||
186 | struct local_interrupt { | 186 | struct kvm_s390_local_interrupt { |
187 | spinlock_t lock; | 187 | spinlock_t lock; |
188 | struct list_head list; | 188 | struct list_head list; |
189 | atomic_t active; | 189 | atomic_t active; |
190 | struct float_interrupt *float_int; | 190 | struct kvm_s390_float_interrupt *float_int; |
191 | int timer_due; /* event indicator for waitqueue below */ | 191 | int timer_due; /* event indicator for waitqueue below */ |
192 | wait_queue_head_t wq; | 192 | wait_queue_head_t wq; |
193 | atomic_t *cpuflags; | 193 | atomic_t *cpuflags; |
194 | unsigned int action_bits; | 194 | unsigned int action_bits; |
195 | }; | 195 | }; |
196 | 196 | ||
197 | struct float_interrupt { | 197 | struct kvm_s390_float_interrupt { |
198 | spinlock_t lock; | 198 | spinlock_t lock; |
199 | struct list_head list; | 199 | struct list_head list; |
200 | atomic_t active; | 200 | atomic_t active; |
201 | int next_rr_cpu; | 201 | int next_rr_cpu; |
202 | unsigned long idle_mask [(64 + sizeof(long) - 1) / sizeof(long)]; | 202 | unsigned long idle_mask [(64 + sizeof(long) - 1) / sizeof(long)]; |
203 | struct local_interrupt *local_int[64]; | 203 | struct kvm_s390_local_interrupt *local_int[64]; |
204 | }; | 204 | }; |
205 | 205 | ||
206 | 206 | ||
207 | struct kvm_vcpu_arch { | 207 | struct kvm_vcpu_arch { |
208 | struct sie_block *sie_block; | 208 | struct kvm_s390_sie_block *sie_block; |
209 | unsigned long guest_gprs[16]; | 209 | unsigned long guest_gprs[16]; |
210 | s390_fp_regs host_fpregs; | 210 | s390_fp_regs host_fpregs; |
211 | unsigned int host_acrs[NUM_ACRS]; | 211 | unsigned int host_acrs[NUM_ACRS]; |
212 | s390_fp_regs guest_fpregs; | 212 | s390_fp_regs guest_fpregs; |
213 | unsigned int guest_acrs[NUM_ACRS]; | 213 | unsigned int guest_acrs[NUM_ACRS]; |
214 | struct local_interrupt local_int; | 214 | struct kvm_s390_local_interrupt local_int; |
215 | struct timer_list ckc_timer; | 215 | struct timer_list ckc_timer; |
216 | union { | 216 | union { |
217 | cpuid_t cpu_id; | 217 | cpuid_t cpu_id; |
@@ -228,8 +228,8 @@ struct kvm_arch{ | |||
228 | unsigned long guest_memsize; | 228 | unsigned long guest_memsize; |
229 | struct sca_block *sca; | 229 | struct sca_block *sca; |
230 | debug_info_t *dbf; | 230 | debug_info_t *dbf; |
231 | struct float_interrupt float_int; | 231 | struct kvm_s390_float_interrupt float_int; |
232 | }; | 232 | }; |
233 | 233 | ||
234 | extern int sie64a(struct sie_block *, __u64 *); | 234 | extern int sie64a(struct kvm_s390_sie_block *, unsigned long *); |
235 | #endif | 235 | #endif |
diff --git a/include/asm-s390/kvm_virtio.h b/include/asm-s390/kvm_virtio.h index 5c871a990c29..146100224def 100644 --- a/include/asm-s390/kvm_virtio.h +++ b/include/asm-s390/kvm_virtio.h | |||
@@ -50,4 +50,14 @@ struct kvm_vqconfig { | |||
50 | #define KVM_S390_VIRTIO_RESET 1 | 50 | #define KVM_S390_VIRTIO_RESET 1 |
51 | #define KVM_S390_VIRTIO_SET_STATUS 2 | 51 | #define KVM_S390_VIRTIO_SET_STATUS 2 |
52 | 52 | ||
53 | #ifdef __KERNEL__ | ||
54 | /* early virtio console setup */ | ||
55 | #ifdef CONFIG_VIRTIO_CONSOLE | ||
56 | extern void s390_virtio_console_init(void); | ||
57 | #else | ||
58 | static inline void s390_virtio_console_init(void) | ||
59 | { | ||
60 | } | ||
61 | #endif /* CONFIG_VIRTIO_CONSOLE */ | ||
62 | #endif /* __KERNEL__ */ | ||
53 | #endif | 63 | #endif |
diff --git a/include/asm-s390/namei.h b/include/asm-s390/namei.h deleted file mode 100644 index 3e286bdde4b0..000000000000 --- a/include/asm-s390/namei.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-s390/namei.h | ||
3 | * | ||
4 | * S390 version | ||
5 | * | ||
6 | * Derived from "include/asm-i386/namei.h" | ||
7 | * | ||
8 | * Included from linux/fs/namei.c | ||
9 | */ | ||
10 | |||
11 | #ifndef __S390_NAMEI_H | ||
12 | #define __S390_NAMEI_H | ||
13 | |||
14 | /* This dummy routine maybe changed to something useful | ||
15 | * for /usr/gnemul/ emulation stuff. | ||
16 | * Look at asm-sparc/namei.h for details. | ||
17 | */ | ||
18 | |||
19 | #define __emul_prefix() NULL | ||
20 | |||
21 | #endif /* __S390_NAMEI_H */ | ||
diff --git a/include/asm-s390/page.h b/include/asm-s390/page.h index 12fd9c4f0f15..991ba939408c 100644 --- a/include/asm-s390/page.h +++ b/include/asm-s390/page.h | |||
@@ -138,9 +138,6 @@ void arch_alloc_page(struct page *page, int order); | |||
138 | 138 | ||
139 | #endif /* !__ASSEMBLY__ */ | 139 | #endif /* !__ASSEMBLY__ */ |
140 | 140 | ||
141 | /* to align the pointer to the (next) page boundary */ | ||
142 | #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) | ||
143 | |||
144 | #define __PAGE_OFFSET 0x0UL | 141 | #define __PAGE_OFFSET 0x0UL |
145 | #define PAGE_OFFSET 0x0UL | 142 | #define PAGE_OFFSET 0x0UL |
146 | #define __pa(x) (unsigned long)(x) | 143 | #define __pa(x) (unsigned long)(x) |
diff --git a/include/asm-s390/semaphore.h b/include/asm-s390/semaphore.h deleted file mode 100644 index d9b2034ed1d2..000000000000 --- a/include/asm-s390/semaphore.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <linux/semaphore.h> | ||
diff --git a/include/asm-s390/thread_info.h b/include/asm-s390/thread_info.h index 99bbed99a3b2..91a8f93ad355 100644 --- a/include/asm-s390/thread_info.h +++ b/include/asm-s390/thread_info.h | |||
@@ -78,10 +78,7 @@ static inline struct thread_info *current_thread_info(void) | |||
78 | return (struct thread_info *)((*(unsigned long *) __LC_KERNEL_STACK)-THREAD_SIZE); | 78 | return (struct thread_info *)((*(unsigned long *) __LC_KERNEL_STACK)-THREAD_SIZE); |
79 | } | 79 | } |
80 | 80 | ||
81 | /* thread information allocation */ | 81 | #define THREAD_SIZE_ORDER THREAD_ORDER |
82 | #define alloc_thread_info(tsk) ((struct thread_info *) \ | ||
83 | __get_free_pages(GFP_KERNEL,THREAD_ORDER)) | ||
84 | #define free_thread_info(ti) free_pages((unsigned long) (ti),THREAD_ORDER) | ||
85 | 82 | ||
86 | #endif | 83 | #endif |
87 | 84 | ||