diff options
-rw-r--r-- | arch/powerpc/include/asm/asm-compat.h | 9 | ||||
-rw-r--r-- | arch/powerpc/include/asm/ppc_asm.h | 3 | ||||
-rw-r--r-- | arch/powerpc/kernel/entry_64.S | 11 | ||||
-rw-r--r-- | arch/powerpc/kernel/lparcfg.c | 9 | ||||
-rw-r--r-- | arch/powerpc/kernel/paca.c | 10 | ||||
-rw-r--r-- | arch/powerpc/kernel/time.c | 16 | ||||
-rw-r--r-- | arch/powerpc/kvm/book3s_64_slb.S | 4 | ||||
-rw-r--r-- | arch/powerpc/kvm/book3s_hv_rmhandlers.S | 4 | ||||
-rw-r--r-- | arch/powerpc/lib/locks.c | 4 | ||||
-rw-r--r-- | arch/powerpc/mm/fault.c | 6 | ||||
-rw-r--r-- | arch/powerpc/mm/slb.c | 9 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/dtl.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/lpar.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/processor_idle.c | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/setup.c | 2 |
15 files changed, 65 insertions, 32 deletions
diff --git a/arch/powerpc/include/asm/asm-compat.h b/arch/powerpc/include/asm/asm-compat.h index 6e82f5f9a6fd..4b237aa35660 100644 --- a/arch/powerpc/include/asm/asm-compat.h +++ b/arch/powerpc/include/asm/asm-compat.h | |||
@@ -32,6 +32,15 @@ | |||
32 | #define PPC_MTOCRF(FXM, RS) MTOCRF((FXM), RS) | 32 | #define PPC_MTOCRF(FXM, RS) MTOCRF((FXM), RS) |
33 | #define PPC_LR_STKOFF 16 | 33 | #define PPC_LR_STKOFF 16 |
34 | #define PPC_MIN_STKFRM 112 | 34 | #define PPC_MIN_STKFRM 112 |
35 | |||
36 | #ifdef __BIG_ENDIAN__ | ||
37 | #define LDX_BE stringify_in_c(ldx) | ||
38 | #define STDX_BE stringify_in_c(stdx) | ||
39 | #else | ||
40 | #define LDX_BE stringify_in_c(ldbrx) | ||
41 | #define STDX_BE stringify_in_c(stdbrx) | ||
42 | #endif | ||
43 | |||
35 | #else /* 32-bit */ | 44 | #else /* 32-bit */ |
36 | 45 | ||
37 | /* operations for longs and pointers */ | 46 | /* operations for longs and pointers */ |
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h index b5c85f18faee..4ebb4f8f4188 100644 --- a/arch/powerpc/include/asm/ppc_asm.h +++ b/arch/powerpc/include/asm/ppc_asm.h | |||
@@ -54,7 +54,8 @@ BEGIN_FW_FTR_SECTION; \ | |||
54 | /* from user - see if there are any DTL entries to process */ \ | 54 | /* from user - see if there are any DTL entries to process */ \ |
55 | ld r10,PACALPPACAPTR(r13); /* get ptr to VPA */ \ | 55 | ld r10,PACALPPACAPTR(r13); /* get ptr to VPA */ \ |
56 | ld r11,PACA_DTL_RIDX(r13); /* get log read index */ \ | 56 | ld r11,PACA_DTL_RIDX(r13); /* get log read index */ \ |
57 | ld r10,LPPACA_DTLIDX(r10); /* get log write index */ \ | 57 | addi r10,r10,LPPACA_DTLIDX; \ |
58 | LDX_BE r10,0,r10; /* get log write index */ \ | ||
58 | cmpd cr1,r11,r10; \ | 59 | cmpd cr1,r11,r10; \ |
59 | beq+ cr1,33f; \ | 60 | beq+ cr1,33f; \ |
60 | bl .accumulate_stolen_time; \ | 61 | bl .accumulate_stolen_time; \ |
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index c1055a150b88..707fbfde1324 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S | |||
@@ -102,7 +102,8 @@ BEGIN_FW_FTR_SECTION | |||
102 | /* if from user, see if there are any DTL entries to process */ | 102 | /* if from user, see if there are any DTL entries to process */ |
103 | ld r10,PACALPPACAPTR(r13) /* get ptr to VPA */ | 103 | ld r10,PACALPPACAPTR(r13) /* get ptr to VPA */ |
104 | ld r11,PACA_DTL_RIDX(r13) /* get log read index */ | 104 | ld r11,PACA_DTL_RIDX(r13) /* get log read index */ |
105 | ld r10,LPPACA_DTLIDX(r10) /* get log write index */ | 105 | addi r10,r10,LPPACA_DTLIDX |
106 | LDX_BE r10,0,r10 /* get log write index */ | ||
106 | cmpd cr1,r11,r10 | 107 | cmpd cr1,r11,r10 |
107 | beq+ cr1,33f | 108 | beq+ cr1,33f |
108 | bl .accumulate_stolen_time | 109 | bl .accumulate_stolen_time |
@@ -531,9 +532,11 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT) | |||
531 | */ | 532 | */ |
532 | ld r9,PACA_SLBSHADOWPTR(r13) | 533 | ld r9,PACA_SLBSHADOWPTR(r13) |
533 | li r12,0 | 534 | li r12,0 |
534 | std r12,SLBSHADOW_STACKESID(r9) /* Clear ESID */ | 535 | std r12,SLBSHADOW_STACKESID(r9) /* Clear ESID */ |
535 | std r7,SLBSHADOW_STACKVSID(r9) /* Save VSID */ | 536 | li r12,SLBSHADOW_STACKVSID |
536 | std r0,SLBSHADOW_STACKESID(r9) /* Save ESID */ | 537 | STDX_BE r7,r12,r9 /* Save VSID */ |
538 | li r12,SLBSHADOW_STACKESID | ||
539 | STDX_BE r0,r12,r9 /* Save ESID */ | ||
537 | 540 | ||
538 | /* No need to check for MMU_FTR_NO_SLBIE_B here, since when | 541 | /* No need to check for MMU_FTR_NO_SLBIE_B here, since when |
539 | * we have 1TB segments, the only CPUs known to have the errata | 542 | * we have 1TB segments, the only CPUs known to have the errata |
diff --git a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c index e6024c2ed5c7..0204089ebdd4 100644 --- a/arch/powerpc/kernel/lparcfg.c +++ b/arch/powerpc/kernel/lparcfg.c | |||
@@ -387,8 +387,8 @@ static void pseries_cmo_data(struct seq_file *m) | |||
387 | return; | 387 | return; |
388 | 388 | ||
389 | for_each_possible_cpu(cpu) { | 389 | for_each_possible_cpu(cpu) { |
390 | cmo_faults += lppaca_of(cpu).cmo_faults; | 390 | cmo_faults += be64_to_cpu(lppaca_of(cpu).cmo_faults); |
391 | cmo_fault_time += lppaca_of(cpu).cmo_fault_time; | 391 | cmo_fault_time += be64_to_cpu(lppaca_of(cpu).cmo_fault_time); |
392 | } | 392 | } |
393 | 393 | ||
394 | seq_printf(m, "cmo_faults=%lu\n", cmo_faults); | 394 | seq_printf(m, "cmo_faults=%lu\n", cmo_faults); |
@@ -406,8 +406,9 @@ static void splpar_dispatch_data(struct seq_file *m) | |||
406 | unsigned long dispatch_dispersions = 0; | 406 | unsigned long dispatch_dispersions = 0; |
407 | 407 | ||
408 | for_each_possible_cpu(cpu) { | 408 | for_each_possible_cpu(cpu) { |
409 | dispatches += lppaca_of(cpu).yield_count; | 409 | dispatches += be32_to_cpu(lppaca_of(cpu).yield_count); |
410 | dispatch_dispersions += lppaca_of(cpu).dispersion_count; | 410 | dispatch_dispersions += |
411 | be32_to_cpu(lppaca_of(cpu).dispersion_count); | ||
411 | } | 412 | } |
412 | 413 | ||
413 | seq_printf(m, "dispatches=%lu\n", dispatches); | 414 | seq_printf(m, "dispatches=%lu\n", dispatches); |
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c index f8f24685f10a..3fc16e3beb9f 100644 --- a/arch/powerpc/kernel/paca.c +++ b/arch/powerpc/kernel/paca.c | |||
@@ -34,10 +34,10 @@ extern unsigned long __toc_start; | |||
34 | */ | 34 | */ |
35 | struct lppaca lppaca[] = { | 35 | struct lppaca lppaca[] = { |
36 | [0 ... (NR_LPPACAS-1)] = { | 36 | [0 ... (NR_LPPACAS-1)] = { |
37 | .desc = 0xd397d781, /* "LpPa" */ | 37 | .desc = cpu_to_be32(0xd397d781), /* "LpPa" */ |
38 | .size = sizeof(struct lppaca), | 38 | .size = cpu_to_be16(sizeof(struct lppaca)), |
39 | .fpregs_in_use = 1, | 39 | .fpregs_in_use = 1, |
40 | .slb_count = 64, | 40 | .slb_count = cpu_to_be16(64), |
41 | .vmxregs_in_use = 0, | 41 | .vmxregs_in_use = 0, |
42 | .page_ins = 0, | 42 | .page_ins = 0, |
43 | }, | 43 | }, |
@@ -101,8 +101,8 @@ static inline void free_lppacas(void) { } | |||
101 | */ | 101 | */ |
102 | struct slb_shadow slb_shadow[] __cacheline_aligned = { | 102 | struct slb_shadow slb_shadow[] __cacheline_aligned = { |
103 | [0 ... (NR_CPUS-1)] = { | 103 | [0 ... (NR_CPUS-1)] = { |
104 | .persistent = SLB_NUM_BOLTED, | 104 | .persistent = cpu_to_be32(SLB_NUM_BOLTED), |
105 | .buffer_length = sizeof(struct slb_shadow), | 105 | .buffer_length = cpu_to_be32(sizeof(struct slb_shadow)), |
106 | }, | 106 | }, |
107 | }; | 107 | }; |
108 | 108 | ||
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index c863aa1f524a..b2bcd34f72d2 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c | |||
@@ -210,18 +210,18 @@ static u64 scan_dispatch_log(u64 stop_tb) | |||
210 | if (!dtl) | 210 | if (!dtl) |
211 | return 0; | 211 | return 0; |
212 | 212 | ||
213 | if (i == vpa->dtl_idx) | 213 | if (i == be64_to_cpu(vpa->dtl_idx)) |
214 | return 0; | 214 | return 0; |
215 | while (i < vpa->dtl_idx) { | 215 | while (i < be64_to_cpu(vpa->dtl_idx)) { |
216 | if (dtl_consumer) | 216 | if (dtl_consumer) |
217 | dtl_consumer(dtl, i); | 217 | dtl_consumer(dtl, i); |
218 | dtb = dtl->timebase; | 218 | dtb = be64_to_cpu(dtl->timebase); |
219 | tb_delta = dtl->enqueue_to_dispatch_time + | 219 | tb_delta = be32_to_cpu(dtl->enqueue_to_dispatch_time) + |
220 | dtl->ready_to_enqueue_time; | 220 | be32_to_cpu(dtl->ready_to_enqueue_time); |
221 | barrier(); | 221 | barrier(); |
222 | if (i + N_DISPATCH_LOG < vpa->dtl_idx) { | 222 | if (i + N_DISPATCH_LOG < be64_to_cpu(vpa->dtl_idx)) { |
223 | /* buffer has overflowed */ | 223 | /* buffer has overflowed */ |
224 | i = vpa->dtl_idx - N_DISPATCH_LOG; | 224 | i = be64_to_cpu(vpa->dtl_idx) - N_DISPATCH_LOG; |
225 | dtl = local_paca->dispatch_log + (i % N_DISPATCH_LOG); | 225 | dtl = local_paca->dispatch_log + (i % N_DISPATCH_LOG); |
226 | continue; | 226 | continue; |
227 | } | 227 | } |
@@ -269,7 +269,7 @@ static inline u64 calculate_stolen_time(u64 stop_tb) | |||
269 | { | 269 | { |
270 | u64 stolen = 0; | 270 | u64 stolen = 0; |
271 | 271 | ||
272 | if (get_paca()->dtl_ridx != get_paca()->lppaca_ptr->dtl_idx) { | 272 | if (get_paca()->dtl_ridx != be64_to_cpu(get_lppaca()->dtl_idx)) { |
273 | stolen = scan_dispatch_log(stop_tb); | 273 | stolen = scan_dispatch_log(stop_tb); |
274 | get_paca()->system_time -= stolen; | 274 | get_paca()->system_time -= stolen; |
275 | } | 275 | } |
diff --git a/arch/powerpc/kvm/book3s_64_slb.S b/arch/powerpc/kvm/book3s_64_slb.S index 4f0caecc0f9d..4f12e8f0c718 100644 --- a/arch/powerpc/kvm/book3s_64_slb.S +++ b/arch/powerpc/kvm/book3s_64_slb.S | |||
@@ -17,6 +17,10 @@ | |||
17 | * Authors: Alexander Graf <agraf@suse.de> | 17 | * Authors: Alexander Graf <agraf@suse.de> |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #ifdef __LITTLE_ENDIAN__ | ||
21 | #error Need to fix SLB shadow accesses in little endian mode | ||
22 | #endif | ||
23 | |||
20 | #define SHADOW_SLB_ESID(num) (SLBSHADOW_SAVEAREA + (num * 0x10)) | 24 | #define SHADOW_SLB_ESID(num) (SLBSHADOW_SAVEAREA + (num * 0x10)) |
21 | #define SHADOW_SLB_VSID(num) (SLBSHADOW_SAVEAREA + (num * 0x10) + 0x8) | 25 | #define SHADOW_SLB_VSID(num) (SLBSHADOW_SAVEAREA + (num * 0x10) + 0x8) |
22 | #define UNBOLT_SLB_ENTRY(num) \ | 26 | #define UNBOLT_SLB_ENTRY(num) \ |
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S index b02f91e4c70d..20e7fcdc4c95 100644 --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S | |||
@@ -29,6 +29,10 @@ | |||
29 | #include <asm/kvm_book3s_asm.h> | 29 | #include <asm/kvm_book3s_asm.h> |
30 | #include <asm/mmu-hash64.h> | 30 | #include <asm/mmu-hash64.h> |
31 | 31 | ||
32 | #ifdef __LITTLE_ENDIAN__ | ||
33 | #error Need to fix lppaca and SLB shadow accesses in little endian mode | ||
34 | #endif | ||
35 | |||
32 | /***************************************************************************** | 36 | /***************************************************************************** |
33 | * * | 37 | * * |
34 | * Real Mode handlers that need to be in the linear mapping * | 38 | * Real Mode handlers that need to be in the linear mapping * |
diff --git a/arch/powerpc/lib/locks.c b/arch/powerpc/lib/locks.c index bb7cfecf2788..0c9c8d7d0734 100644 --- a/arch/powerpc/lib/locks.c +++ b/arch/powerpc/lib/locks.c | |||
@@ -32,7 +32,7 @@ void __spin_yield(arch_spinlock_t *lock) | |||
32 | return; | 32 | return; |
33 | holder_cpu = lock_value & 0xffff; | 33 | holder_cpu = lock_value & 0xffff; |
34 | BUG_ON(holder_cpu >= NR_CPUS); | 34 | BUG_ON(holder_cpu >= NR_CPUS); |
35 | yield_count = lppaca_of(holder_cpu).yield_count; | 35 | yield_count = be32_to_cpu(lppaca_of(holder_cpu).yield_count); |
36 | if ((yield_count & 1) == 0) | 36 | if ((yield_count & 1) == 0) |
37 | return; /* virtual cpu is currently running */ | 37 | return; /* virtual cpu is currently running */ |
38 | rmb(); | 38 | rmb(); |
@@ -57,7 +57,7 @@ void __rw_yield(arch_rwlock_t *rw) | |||
57 | return; /* no write lock at present */ | 57 | return; /* no write lock at present */ |
58 | holder_cpu = lock_value & 0xffff; | 58 | holder_cpu = lock_value & 0xffff; |
59 | BUG_ON(holder_cpu >= NR_CPUS); | 59 | BUG_ON(holder_cpu >= NR_CPUS); |
60 | yield_count = lppaca_of(holder_cpu).yield_count; | 60 | yield_count = be32_to_cpu(lppaca_of(holder_cpu).yield_count); |
61 | if ((yield_count & 1) == 0) | 61 | if ((yield_count & 1) == 0) |
62 | return; /* virtual cpu is currently running */ | 62 | return; /* virtual cpu is currently running */ |
63 | rmb(); | 63 | rmb(); |
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 8726779e1409..76d8e7cc7805 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
@@ -443,8 +443,12 @@ good_area: | |||
443 | regs, address); | 443 | regs, address); |
444 | #ifdef CONFIG_PPC_SMLPAR | 444 | #ifdef CONFIG_PPC_SMLPAR |
445 | if (firmware_has_feature(FW_FEATURE_CMO)) { | 445 | if (firmware_has_feature(FW_FEATURE_CMO)) { |
446 | u32 page_ins; | ||
447 | |||
446 | preempt_disable(); | 448 | preempt_disable(); |
447 | get_lppaca()->page_ins += (1 << PAGE_FACTOR); | 449 | page_ins = be32_to_cpu(get_lppaca()->page_ins); |
450 | page_ins += 1 << PAGE_FACTOR; | ||
451 | get_lppaca()->page_ins = cpu_to_be32(page_ins); | ||
448 | preempt_enable(); | 452 | preempt_enable(); |
449 | } | 453 | } |
450 | #endif /* CONFIG_PPC_SMLPAR */ | 454 | #endif /* CONFIG_PPC_SMLPAR */ |
diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c index a538c80db2df..9d1d33cd2be5 100644 --- a/arch/powerpc/mm/slb.c +++ b/arch/powerpc/mm/slb.c | |||
@@ -66,8 +66,10 @@ static inline void slb_shadow_update(unsigned long ea, int ssize, | |||
66 | * we only update the current CPU's SLB shadow buffer. | 66 | * we only update the current CPU's SLB shadow buffer. |
67 | */ | 67 | */ |
68 | get_slb_shadow()->save_area[entry].esid = 0; | 68 | get_slb_shadow()->save_area[entry].esid = 0; |
69 | get_slb_shadow()->save_area[entry].vsid = mk_vsid_data(ea, ssize, flags); | 69 | get_slb_shadow()->save_area[entry].vsid = |
70 | get_slb_shadow()->save_area[entry].esid = mk_esid_data(ea, ssize, entry); | 70 | cpu_to_be64(mk_vsid_data(ea, ssize, flags)); |
71 | get_slb_shadow()->save_area[entry].esid = | ||
72 | cpu_to_be64(mk_esid_data(ea, ssize, entry)); | ||
71 | } | 73 | } |
72 | 74 | ||
73 | static inline void slb_shadow_clear(unsigned long entry) | 75 | static inline void slb_shadow_clear(unsigned long entry) |
@@ -112,7 +114,8 @@ static void __slb_flush_and_rebolt(void) | |||
112 | } else { | 114 | } else { |
113 | /* Update stack entry; others don't change */ | 115 | /* Update stack entry; others don't change */ |
114 | slb_shadow_update(get_paca()->kstack, mmu_kernel_ssize, lflags, 2); | 116 | slb_shadow_update(get_paca()->kstack, mmu_kernel_ssize, lflags, 2); |
115 | ksp_vsid_data = get_slb_shadow()->save_area[2].vsid; | 117 | ksp_vsid_data = |
118 | be64_to_cpu(get_slb_shadow()->save_area[2].vsid); | ||
116 | } | 119 | } |
117 | 120 | ||
118 | /* We need to do this all in asm, so we're sure we don't touch | 121 | /* We need to do this all in asm, so we're sure we don't touch |
diff --git a/arch/powerpc/platforms/pseries/dtl.c b/arch/powerpc/platforms/pseries/dtl.c index 0cc0ac07a55d..238240e02ef8 100644 --- a/arch/powerpc/platforms/pseries/dtl.c +++ b/arch/powerpc/platforms/pseries/dtl.c | |||
@@ -87,7 +87,7 @@ static void consume_dtle(struct dtl_entry *dtle, u64 index) | |||
87 | barrier(); | 87 | barrier(); |
88 | 88 | ||
89 | /* check for hypervisor ring buffer overflow, ignore this entry if so */ | 89 | /* check for hypervisor ring buffer overflow, ignore this entry if so */ |
90 | if (index + N_DISPATCH_LOG < vpa->dtl_idx) | 90 | if (index + N_DISPATCH_LOG < be64_to_cpu(vpa->dtl_idx)) |
91 | return; | 91 | return; |
92 | 92 | ||
93 | ++wp; | 93 | ++wp; |
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c index 60b6f4e8d63d..0b7c86e3d75d 100644 --- a/arch/powerpc/platforms/pseries/lpar.c +++ b/arch/powerpc/platforms/pseries/lpar.c | |||
@@ -106,7 +106,7 @@ void vpa_init(int cpu) | |||
106 | lppaca_of(cpu).dtl_idx = 0; | 106 | lppaca_of(cpu).dtl_idx = 0; |
107 | 107 | ||
108 | /* hypervisor reads buffer length from this field */ | 108 | /* hypervisor reads buffer length from this field */ |
109 | dtl->enqueue_to_dispatch_time = DISPATCH_LOG_BYTES; | 109 | dtl->enqueue_to_dispatch_time = cpu_to_be32(DISPATCH_LOG_BYTES); |
110 | ret = register_dtl(hwcpu, __pa(dtl)); | 110 | ret = register_dtl(hwcpu, __pa(dtl)); |
111 | if (ret) | 111 | if (ret) |
112 | pr_err("WARNING: DTL registration of cpu %d (hw %d) " | 112 | pr_err("WARNING: DTL registration of cpu %d (hw %d) " |
diff --git a/arch/powerpc/platforms/pseries/processor_idle.c b/arch/powerpc/platforms/pseries/processor_idle.c index 92db881be27e..14899b1db1e9 100644 --- a/arch/powerpc/platforms/pseries/processor_idle.c +++ b/arch/powerpc/platforms/pseries/processor_idle.c | |||
@@ -45,7 +45,11 @@ static inline void idle_loop_prolog(unsigned long *in_purr) | |||
45 | 45 | ||
46 | static inline void idle_loop_epilog(unsigned long in_purr) | 46 | static inline void idle_loop_epilog(unsigned long in_purr) |
47 | { | 47 | { |
48 | get_lppaca()->wait_state_cycles += mfspr(SPRN_PURR) - in_purr; | 48 | u64 wait_cycles; |
49 | |||
50 | wait_cycles = be64_to_cpu(get_lppaca()->wait_state_cycles); | ||
51 | wait_cycles += mfspr(SPRN_PURR) - in_purr; | ||
52 | get_lppaca()->wait_state_cycles = cpu_to_be64(wait_cycles); | ||
49 | get_lppaca()->idle = 0; | 53 | get_lppaca()->idle = 0; |
50 | } | 54 | } |
51 | 55 | ||
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index b19cd8334630..33d619665cb7 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -323,7 +323,7 @@ static int alloc_dispatch_logs(void) | |||
323 | get_paca()->lppaca_ptr->dtl_idx = 0; | 323 | get_paca()->lppaca_ptr->dtl_idx = 0; |
324 | 324 | ||
325 | /* hypervisor reads buffer length from this field */ | 325 | /* hypervisor reads buffer length from this field */ |
326 | dtl->enqueue_to_dispatch_time = DISPATCH_LOG_BYTES; | 326 | dtl->enqueue_to_dispatch_time = cpu_to_be32(DISPATCH_LOG_BYTES); |
327 | ret = register_dtl(hard_smp_processor_id(), __pa(dtl)); | 327 | ret = register_dtl(hard_smp_processor_id(), __pa(dtl)); |
328 | if (ret) | 328 | if (ret) |
329 | pr_err("WARNING: DTL registration of cpu %d (hw %d) failed " | 329 | pr_err("WARNING: DTL registration of cpu %d (hw %d) failed " |