aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-06-16 05:19:53 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-16 05:19:53 -0400
commit064a32d82c20cdcb0119a8b316eb520608d8c647 (patch)
treec67d534bd4458b1482c11f11c724fe93beca4f80 /include/asm-powerpc
parent0327318445d55808991a63137cfb698a90ab6adf (diff)
parent066519068ad2fbe98c7f45552b1f592903a9c8c8 (diff)
Merge branch 'linus' into x86/memtest
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r--include/asm-powerpc/io.h12
-rw-r--r--include/asm-powerpc/kvm_ppc.h1
-rw-r--r--include/asm-powerpc/mmu-hash64.h1
-rw-r--r--include/asm-powerpc/mpic.h3
-rw-r--r--include/asm-powerpc/pgtable-ppc64.h10
-rw-r--r--include/asm-powerpc/uaccess.h4
6 files changed, 17 insertions, 14 deletions
diff --git a/include/asm-powerpc/io.h b/include/asm-powerpc/io.h
index e0062d73db1c..89189488e286 100644
--- a/include/asm-powerpc/io.h
+++ b/include/asm-powerpc/io.h
@@ -100,7 +100,7 @@ static inline type name(const volatile type __iomem *addr) \
100{ \ 100{ \
101 type ret; \ 101 type ret; \
102 __asm__ __volatile__("sync;" insn ";twi 0,%0,0;isync" \ 102 __asm__ __volatile__("sync;" insn ";twi 0,%0,0;isync" \
103 : "=r" (ret) : "r" (addr), "m" (*addr)); \ 103 : "=r" (ret) : "r" (addr), "m" (*addr) : "memory"); \
104 return ret; \ 104 return ret; \
105} 105}
106 106
@@ -108,8 +108,8 @@ static inline type name(const volatile type __iomem *addr) \
108static inline void name(volatile type __iomem *addr, type val) \ 108static inline void name(volatile type __iomem *addr, type val) \
109{ \ 109{ \
110 __asm__ __volatile__("sync;" insn \ 110 __asm__ __volatile__("sync;" insn \
111 : "=m" (*addr) : "r" (val), "r" (addr)); \ 111 : "=m" (*addr) : "r" (val), "r" (addr) : "memory"); \
112 IO_SET_SYNC_FLAG(); \ 112 IO_SET_SYNC_FLAG(); \
113} 113}
114 114
115 115
@@ -333,7 +333,8 @@ static inline unsigned int name(unsigned int port) \
333 " .long 3b,5b\n" \ 333 " .long 3b,5b\n" \
334 ".previous" \ 334 ".previous" \
335 : "=&r" (x) \ 335 : "=&r" (x) \
336 : "r" (port + _IO_BASE)); \ 336 : "r" (port + _IO_BASE) \
337 : "memory"); \
337 return x; \ 338 return x; \
338} 339}
339 340
@@ -350,7 +351,8 @@ static inline void name(unsigned int val, unsigned int port) \
350 " .long 0b,2b\n" \ 351 " .long 0b,2b\n" \
351 " .long 1b,2b\n" \ 352 " .long 1b,2b\n" \
352 ".previous" \ 353 ".previous" \
353 : : "r" (val), "r" (port + _IO_BASE)); \ 354 : : "r" (val), "r" (port + _IO_BASE) \
355 : "memory"); \
354} 356}
355 357
356__do_in_asm(_rec_inb, "lbzx") 358__do_in_asm(_rec_inb, "lbzx")
diff --git a/include/asm-powerpc/kvm_ppc.h b/include/asm-powerpc/kvm_ppc.h
index b35a7e3ef978..5a21115228af 100644
--- a/include/asm-powerpc/kvm_ppc.h
+++ b/include/asm-powerpc/kvm_ppc.h
@@ -57,6 +57,7 @@ extern int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
57 57
58extern int kvmppc_emulate_instruction(struct kvm_run *run, 58extern int kvmppc_emulate_instruction(struct kvm_run *run,
59 struct kvm_vcpu *vcpu); 59 struct kvm_vcpu *vcpu);
60extern int kvmppc_emulate_mmio(struct kvm_run *run, struct kvm_vcpu *vcpu);
60 61
61extern void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 gvaddr, gfn_t gfn, 62extern void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 gvaddr, gfn_t gfn,
62 u64 asid, u32 flags); 63 u64 asid, u32 flags);
diff --git a/include/asm-powerpc/mmu-hash64.h b/include/asm-powerpc/mmu-hash64.h
index 0dff76776044..39c5c5f62bf5 100644
--- a/include/asm-powerpc/mmu-hash64.h
+++ b/include/asm-powerpc/mmu-hash64.h
@@ -177,6 +177,7 @@ extern struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT];
177extern int mmu_linear_psize; 177extern int mmu_linear_psize;
178extern int mmu_virtual_psize; 178extern int mmu_virtual_psize;
179extern int mmu_vmalloc_psize; 179extern int mmu_vmalloc_psize;
180extern int mmu_vmemmap_psize;
180extern int mmu_io_psize; 181extern int mmu_io_psize;
181extern int mmu_kernel_ssize; 182extern int mmu_kernel_ssize;
182extern int mmu_highuser_ssize; 183extern int mmu_highuser_ssize;
diff --git a/include/asm-powerpc/mpic.h b/include/asm-powerpc/mpic.h
index 943c5a3fac8a..a4d0f876b427 100644
--- a/include/asm-powerpc/mpic.h
+++ b/include/asm-powerpc/mpic.h
@@ -428,12 +428,11 @@ extern void mpic_init(struct mpic *mpic);
428 */ 428 */
429 429
430 430
431/* Change/Read the priority of an interrupt. Default is 8 for irqs and 431/* Change the priority of an interrupt. Default is 8 for irqs and
432 * 10 for IPIs. You can call this on both IPIs and IRQ numbers, but the 432 * 10 for IPIs. You can call this on both IPIs and IRQ numbers, but the
433 * IPI number is then the offset'ed (linux irq number mapped to the IPI) 433 * IPI number is then the offset'ed (linux irq number mapped to the IPI)
434 */ 434 */
435extern void mpic_irq_set_priority(unsigned int irq, unsigned int pri); 435extern void mpic_irq_set_priority(unsigned int irq, unsigned int pri);
436extern unsigned int mpic_irq_get_priority(unsigned int irq);
437 436
438/* Setup a non-boot CPU */ 437/* Setup a non-boot CPU */
439extern void mpic_setup_this_cpu(void); 438extern void mpic_setup_this_cpu(void);
diff --git a/include/asm-powerpc/pgtable-ppc64.h b/include/asm-powerpc/pgtable-ppc64.h
index 27f18695f7d6..cc6a43ba41d0 100644
--- a/include/asm-powerpc/pgtable-ppc64.h
+++ b/include/asm-powerpc/pgtable-ppc64.h
@@ -65,15 +65,15 @@
65 65
66#define VMALLOC_REGION_ID (REGION_ID(VMALLOC_START)) 66#define VMALLOC_REGION_ID (REGION_ID(VMALLOC_START))
67#define KERNEL_REGION_ID (REGION_ID(PAGE_OFFSET)) 67#define KERNEL_REGION_ID (REGION_ID(PAGE_OFFSET))
68#define VMEMMAP_REGION_ID (0xfUL)
68#define USER_REGION_ID (0UL) 69#define USER_REGION_ID (0UL)
69 70
70/* 71/*
71 * Defines the address of the vmemap area, in the top 16th of the 72 * Defines the address of the vmemap area, in its own region
72 * kernel region.
73 */ 73 */
74#define VMEMMAP_BASE (ASM_CONST(CONFIG_KERNEL_START) + \ 74#define VMEMMAP_BASE (VMEMMAP_REGION_ID << REGION_SHIFT)
75 (0xfUL << (REGION_SHIFT - 4))) 75#define vmemmap ((struct page *)VMEMMAP_BASE)
76#define vmemmap ((struct page *)VMEMMAP_BASE) 76
77 77
78/* 78/*
79 * Common bits in a linux-style PTE. These match the bits in the 79 * Common bits in a linux-style PTE. These match the bits in the
diff --git a/include/asm-powerpc/uaccess.h b/include/asm-powerpc/uaccess.h
index 8e798e3758bc..1a0736f8803f 100644
--- a/include/asm-powerpc/uaccess.h
+++ b/include/asm-powerpc/uaccess.h
@@ -380,7 +380,7 @@ static inline unsigned long __copy_from_user_inatomic(void *to,
380 const void __user *from, unsigned long n) 380 const void __user *from, unsigned long n)
381{ 381{
382 if (__builtin_constant_p(n) && (n <= 8)) { 382 if (__builtin_constant_p(n) && (n <= 8)) {
383 unsigned long ret; 383 unsigned long ret = 1;
384 384
385 switch (n) { 385 switch (n) {
386 case 1: 386 case 1:
@@ -406,7 +406,7 @@ static inline unsigned long __copy_to_user_inatomic(void __user *to,
406 const void *from, unsigned long n) 406 const void *from, unsigned long n)
407{ 407{
408 if (__builtin_constant_p(n) && (n <= 8)) { 408 if (__builtin_constant_p(n) && (n <= 8)) {
409 unsigned long ret; 409 unsigned long ret = 1;
410 410
411 switch (n) { 411 switch (n) {
412 case 1: 412 case 1: