John David Anglin
1138b6718f
parisc: Fix address in HPMC IVA
...
Helge noticed that the address of the os_hpmc handler was not being
correctly calculated in the hpmc macro. As a result, PDCE_CHECK would
fail to call os_hpmc:
<Cpu2> e800009802e00000 0000000000000000 CC_ERR_CHECK_HPMC
<Cpu2> 37000f7302e00000 8040004000000000 CC_ERR_CPU_CHECK_SUMMARY
<Cpu2> f600105e02e00000 fffffff0f0c00000 CC_MC_HPMC_MONARCH_SELECTED
<Cpu2> 140003b202e00000 000000000000000b CC_ERR_HPMC_STATE_ENTRY
<Cpu2> 5600100b02e00000 00000000000001a0 CC_MC_OS_HPMC_LEN_ERR
<Cpu2> 5600106402e00000 fffffff0f0438e70 CC_MC_BR_TO_OS_HPMC_FAILED
<Cpu2> e800009802e00000 0000000000000000 CC_ERR_CHECK_HPMC
<Cpu2> 37000f7302e00000 8040004000000000 CC_ERR_CPU_CHECK_SUMMARY
<Cpu2> 4000109f02e00000 0000000000000000 CC_MC_HPMC_INITIATED
<Cpu2> 4000101902e00000 0000000000000000 CC_MC_MULTIPLE_HPMCS
<Cpu2> 030010d502e00000 0000000000000000 CC_CPU_STOP
The address problem can be seen by dumping the fault vector:
0000000040159000 <fault_vector_20>:
40159000: 63 6f 77 73 stb r15,-2447(dp)
40159004: 20 63 61 6e ldil L%b747000,r3
40159008: 20 66 6c 79 ldil L%-1c3b3000,r3
...
40159020: 08 00 02 40 nop
40159024: 20 6e 60 02 ldil L%15d000,r3
40159028: 34 63 00 00 ldo 0(r3),r3
4015902c: e8 60 c0 02 bv,n r0(r3)
40159030: 08 00 02 40 nop
40159034: 00 00 00 00 break 0,0
40159038: c0 00 70 00 bb,*< r0,sar,40159840 <fault_vector_20+0x840>
4015903c: 00 00 00 00 break 0,0
Location 40159038 should contain the physical address of os_hpmc:
000000004015d000 <os_hpmc>:
4015d000: 08 1a 02 43 copy r26,r3
4015d004: 01 c0 08 a4 mfctl iva,r4
4015d008: 48 85 00 68 ldw 34(r4),r5
This patch moves the address setup into initialize_ivt to resolve the
above problem. I tested the change by dumping the HPMC entry after setup:
0000000040209020: 8000240
0000000040209024: 206a2004
0000000040209028: 34630ac0
000000004020902c: e860c002
0000000040209030: 8000240
0000000040209034: 1bdddce6
0000000040209038: 15d000
000000004020903c: 1a0
Signed-off-by: John David Anglin <dave.anglin@bell.net>
Cc: <stable@vger.kernel.org>
Signed-off-by: Helge Deller <deller@gmx.de>
2018-10-17 08:18:01 +02:00
..
2008-10-10 16:32:28 +00:00
2017-05-10 17:46:13 +02:00
2017-11-02 11:10:55 +01:00
2018-10-17 08:18:00 +02:00
2017-11-02 11:10:55 +01:00
2018-06-28 17:14:44 +02:00
2018-10-17 08:18:01 +02:00
2017-09-22 19:46:44 +02:00
2017-11-02 11:10:55 +01:00
2018-03-27 18:52:21 +02:00
2018-03-02 10:04:46 +01:00
2018-10-17 08:18:01 +02:00
2017-05-12 09:14:15 +02:00
2017-07-31 08:41:26 +02:00
2018-04-14 11:17:59 +02:00
2018-01-09 10:45:38 +01:00
2017-11-02 11:10:55 +01:00
2018-08-13 09:54:17 +02:00
2017-10-19 08:48:45 +02:00
2018-08-13 09:30:32 +02:00
2018-05-02 21:47:35 +02:00
2018-05-16 07:23:35 +02:00
2017-11-21 15:57:05 -08:00
2018-01-23 12:17:42 -06:00
2008-06-13 10:49:45 -04:00
2017-08-22 16:34:33 +02:00
2018-08-13 09:54:17 +02:00
2018-08-21 14:46:26 +02:00
2018-08-13 09:30:50 +02:00
2018-08-13 09:54:17 +02:00
2018-08-13 09:30:32 +02:00
2018-01-15 19:56:20 -06:00
2018-01-15 19:56:20 -06:00
2017-11-17 11:54:55 -08:00
2018-05-18 16:21:49 +02:00
2018-08-17 17:00:08 +02:00
2017-11-02 11:10:55 +01:00
2018-08-17 16:45:24 +02:00
2018-06-28 17:43:00 +02:00
2018-10-17 08:18:01 +02:00
2018-04-20 20:18:21 +02:00
2017-11-17 15:27:22 +01:00
2018-10-17 08:18:01 +02:00
2018-04-25 10:44:06 -05:00
2018-08-21 14:32:44 +02:00
2018-01-09 10:45:38 +01:00