diff options
| -rw-r--r-- | arch/powerpc/Kconfig | 4 | ||||
| -rw-r--r-- | arch/powerpc/boot/div64.S | 3 | ||||
| -rw-r--r-- | arch/powerpc/kernel/setup_64.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/mm/hash_utils_64.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/mm/tlb_low_64e.S | 5 | ||||
| -rw-r--r-- | arch/powerpc/mm/tlb_nohash.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/platforms/pseries/Kconfig | 6 | ||||
| -rw-r--r-- | arch/powerpc/platforms/pseries/eeh.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/platforms/pseries/pci_dlpar.c | 2 |
9 files changed, 20 insertions, 11 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index b6447190e1a2..e625e9e034ae 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
| @@ -4,6 +4,10 @@ config PPC32 | |||
| 4 | bool | 4 | bool |
| 5 | default y if !PPC64 | 5 | default y if !PPC64 |
| 6 | 6 | ||
| 7 | config 32BIT | ||
| 8 | bool | ||
| 9 | default y if PPC32 | ||
| 10 | |||
| 7 | config 64BIT | 11 | config 64BIT |
| 8 | bool | 12 | bool |
| 9 | default y if PPC64 | 13 | default y if PPC64 |
diff --git a/arch/powerpc/boot/div64.S b/arch/powerpc/boot/div64.S index 722f360a32a9..d271ab542673 100644 --- a/arch/powerpc/boot/div64.S +++ b/arch/powerpc/boot/div64.S | |||
| @@ -33,9 +33,10 @@ __div64_32: | |||
| 33 | cntlzw r0,r5 # we are shifting the dividend right | 33 | cntlzw r0,r5 # we are shifting the dividend right |
| 34 | li r10,-1 # to make it < 2^32, and shifting | 34 | li r10,-1 # to make it < 2^32, and shifting |
| 35 | srw r10,r10,r0 # the divisor right the same amount, | 35 | srw r10,r10,r0 # the divisor right the same amount, |
| 36 | add r9,r4,r10 # rounding up (so the estimate cannot | 36 | addc r9,r4,r10 # rounding up (so the estimate cannot |
| 37 | andc r11,r6,r10 # ever be too large, only too small) | 37 | andc r11,r6,r10 # ever be too large, only too small) |
| 38 | andc r9,r9,r10 | 38 | andc r9,r9,r10 |
| 39 | addze r9,r9 | ||
| 39 | or r11,r5,r11 | 40 | or r11,r5,r11 |
| 40 | rotlw r9,r9,r0 | 41 | rotlw r9,r9,r0 |
| 41 | rotlw r11,r11,r0 | 42 | rotlw r11,r11,r0 |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 2a178b0ebcdf..ce6f61c6f871 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
| @@ -497,9 +497,8 @@ static void __init emergency_stack_init(void) | |||
| 497 | } | 497 | } |
| 498 | 498 | ||
| 499 | /* | 499 | /* |
| 500 | * Called into from start_kernel, after lock_kernel has been called. | 500 | * Called into from start_kernel this initializes bootmem, which is used |
| 501 | * Initializes bootmem, which is unsed to manage page allocation until | 501 | * to manage page allocation until mem_init is called. |
| 502 | * mem_init is called. | ||
| 503 | */ | 502 | */ |
| 504 | void __init setup_arch(char **cmdline_p) | 503 | void __init setup_arch(char **cmdline_p) |
| 505 | { | 504 | { |
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 83f534d862db..5e9584405c45 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
| @@ -1123,7 +1123,7 @@ void hash_preload(struct mm_struct *mm, unsigned long ea, | |||
| 1123 | else | 1123 | else |
| 1124 | #endif /* CONFIG_PPC_HAS_HASH_64K */ | 1124 | #endif /* CONFIG_PPC_HAS_HASH_64K */ |
| 1125 | rc = __hash_page_4K(ea, access, vsid, ptep, trap, local, ssize, | 1125 | rc = __hash_page_4K(ea, access, vsid, ptep, trap, local, ssize, |
| 1126 | subpage_protection(pgdir, ea)); | 1126 | subpage_protection(mm, ea)); |
| 1127 | 1127 | ||
| 1128 | /* Dump some info in case of hash insertion failure, they should | 1128 | /* Dump some info in case of hash insertion failure, they should |
| 1129 | * never happen so it is really useful to know if/when they do | 1129 | * never happen so it is really useful to know if/when they do |
diff --git a/arch/powerpc/mm/tlb_low_64e.S b/arch/powerpc/mm/tlb_low_64e.S index 8b04c54e596f..8526bd9d2aa3 100644 --- a/arch/powerpc/mm/tlb_low_64e.S +++ b/arch/powerpc/mm/tlb_low_64e.S | |||
| @@ -138,8 +138,11 @@ | |||
| 138 | cmpldi cr0,r15,0 /* Check for user region */ | 138 | cmpldi cr0,r15,0 /* Check for user region */ |
| 139 | std r14,EX_TLB_ESR(r12) /* write crazy -1 to frame */ | 139 | std r14,EX_TLB_ESR(r12) /* write crazy -1 to frame */ |
| 140 | beq normal_tlb_miss | 140 | beq normal_tlb_miss |
| 141 | |||
| 142 | li r11,_PAGE_PRESENT|_PAGE_BAP_SX /* Base perm */ | ||
| 143 | oris r11,r11,_PAGE_ACCESSED@h | ||
| 141 | /* XXX replace the RMW cycles with immediate loads + writes */ | 144 | /* XXX replace the RMW cycles with immediate loads + writes */ |
| 142 | 1: mfspr r10,SPRN_MAS1 | 145 | mfspr r10,SPRN_MAS1 |
| 143 | cmpldi cr0,r15,8 /* Check for vmalloc region */ | 146 | cmpldi cr0,r15,8 /* Check for vmalloc region */ |
| 144 | rlwinm r10,r10,0,16,1 /* Clear TID */ | 147 | rlwinm r10,r10,0,16,1 /* Clear TID */ |
| 145 | mtspr SPRN_MAS1,r10 | 148 | mtspr SPRN_MAS1,r10 |
diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c index 36c0c449a899..2a030d89bbc6 100644 --- a/arch/powerpc/mm/tlb_nohash.c +++ b/arch/powerpc/mm/tlb_nohash.c | |||
| @@ -585,6 +585,6 @@ void setup_initial_memory_limit(phys_addr_t first_memblock_base, | |||
| 585 | ppc64_rma_size = min_t(u64, first_memblock_size, 0x40000000); | 585 | ppc64_rma_size = min_t(u64, first_memblock_size, 0x40000000); |
| 586 | 586 | ||
| 587 | /* Finally limit subsequent allocations */ | 587 | /* Finally limit subsequent allocations */ |
| 588 | memblock_set_current_limit(ppc64_memblock_base + ppc64_rma_size); | 588 | memblock_set_current_limit(first_memblock_base + ppc64_rma_size); |
| 589 | } | 589 | } |
| 590 | #endif /* CONFIG_PPC64 */ | 590 | #endif /* CONFIG_PPC64 */ |
diff --git a/arch/powerpc/platforms/pseries/Kconfig b/arch/powerpc/platforms/pseries/Kconfig index c667f0f02c34..3139814f6439 100644 --- a/arch/powerpc/platforms/pseries/Kconfig +++ b/arch/powerpc/platforms/pseries/Kconfig | |||
| @@ -47,6 +47,12 @@ config LPARCFG | |||
| 47 | config PPC_PSERIES_DEBUG | 47 | config PPC_PSERIES_DEBUG |
| 48 | depends on PPC_PSERIES && PPC_EARLY_DEBUG | 48 | depends on PPC_PSERIES && PPC_EARLY_DEBUG |
| 49 | bool "Enable extra debug logging in platforms/pseries" | 49 | bool "Enable extra debug logging in platforms/pseries" |
| 50 | help | ||
| 51 | Say Y here if you want the pseries core to produce a bunch of | ||
| 52 | debug messages to the system log. Select this if you are having a | ||
| 53 | problem with the pseries core and want to see more of what is | ||
| 54 | going on. This does not enable debugging in lpar.c, which must | ||
| 55 | be manually done due to its verbosity. | ||
| 50 | default y | 56 | default y |
| 51 | 57 | ||
| 52 | config PPC_SMLPAR | 58 | config PPC_SMLPAR |
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c index 34b7dc12e731..17a11c82e6f8 100644 --- a/arch/powerpc/platforms/pseries/eeh.c +++ b/arch/powerpc/platforms/pseries/eeh.c | |||
| @@ -21,8 +21,6 @@ | |||
| 21 | * Please address comments and feedback to Linas Vepstas <linas@austin.ibm.com> | 21 | * Please address comments and feedback to Linas Vepstas <linas@austin.ibm.com> |
| 22 | */ | 22 | */ |
| 23 | 23 | ||
| 24 | #undef DEBUG | ||
| 25 | |||
| 26 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
| 27 | #include <linux/init.h> | 25 | #include <linux/init.h> |
| 28 | #include <linux/list.h> | 26 | #include <linux/list.h> |
diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c b/arch/powerpc/platforms/pseries/pci_dlpar.c index 4b7a062dee15..5fcc92a12d3e 100644 --- a/arch/powerpc/platforms/pseries/pci_dlpar.c +++ b/arch/powerpc/platforms/pseries/pci_dlpar.c | |||
| @@ -25,8 +25,6 @@ | |||
| 25 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 25 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 26 | */ | 26 | */ |
| 27 | 27 | ||
| 28 | #undef DEBUG | ||
| 29 | |||
| 30 | #include <linux/pci.h> | 28 | #include <linux/pci.h> |
| 31 | #include <asm/pci-bridge.h> | 29 | #include <asm/pci-bridge.h> |
| 32 | #include <asm/ppc-pci.h> | 30 | #include <asm/ppc-pci.h> |
