Commit 6775e45
LoongArch: Fix kdump failure on v40 interface specification
LoongArch inclusion
category: feature
--------------------------------
The old memory should be reserved after efi_runtime_init() to avoid destroying
the EFI space and causing failure when executing svam().
Fix the following problems when executing kdump:
[ 0.000000] The BIOS Version: Loongson-UDK2018-V2.0.04082-beta7
[ 0.000000] CPU 0 Unable to handle kernel paging request at virtual address 00000000fdeb0e7c, era == 00000000fdeb0e7c, ra == 90000000dae6585c
[ 0.000000] Oops[#1]:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.10.137+ torvalds#86
[ 0.000000] Hardware name: Loongson Loongson-3A5000-7A1000-1w-A2101/Loongson-LS3A5000-7A1000-1w-A2101, BIOS vUDK2018-LoongArch-V2.0.pre-beta8 06/15/2022
[ 0.000000] $ 0 : 0000000000000000 90000000dae6585c 90000000db200000 90000000db203840
[ 0.000000] $ 4 : 0000000000000078 0000000000000028 0000000000000001 00000000db203860
[ 0.000000] $ 8 : 0000000000000000 0000000000000040 90000000db203680 0000000000000000
[ 0.000000] $12 : 00000000fdeb0e7c ffffffffffffffc0 00000000fbffffff 0000000020000000
[ 0.000000] $16 : 000000000003e780 0000000020000000 90000000dad8c348 0000000000003fff
[ 0.000000] $20 : 0000000000000018 90000000dad8bdd0 90000000db203850 0000000000000040
[ 0.000000] $24 : 000000000000000f 90000000db21a570 90000000daeb07a0 90000000db217000
[ 0.000000] $28 : 90000000db203858 0000000001ffffff 90000000db2171b0 0000000000000040
[ 0.000000] era : 00000000fdeb0e7c 0xfdeb0e7c
[ 0.000000] ra : 90000000dae6585c set_virtual_map.isra.0+0x23c/0x394
[ 0.000000] CSR crmd: 90000000db21a570
[ 0.000000] CSR prmd: 00000000
[ 0.000000] CSR euen: 00000000
[ 0.000000] CSR ecfg: 90000000db203850
[ 0.000000] CSR estat: 90000000dae65800
[ 0.000000] ExcCode : 26 (SubCode 16b)
[ 0.000000] PrId : 0014c012 (Loongson-64bit)
[ 0.000000] Modules linked in:
[ 0.000000] Process swapper (pid: 0, threadinfo=(____ptrval____), task=(____ptrval____))
[ 0.000000] Stack : 0000000000000001 00000000fdeb0e7c 0000000000036780 000000000003e780
[ 0.000000] 0000000000000006 0000000010000000 8000000010000000 0000000000010000
[ 0.000000] 8000000000000001 0000000000000005 00000000fde40000 90000000fde40000
[ 0.000000] 0000000000000100 800000000000000f 0000000000000006 00000000fdf40000
[ 0.000000] 90000000fdf40000 0000000000000300 800000000000000f 00000000000000b0
[ 0.000000] 0000000000000001 90000000da094cf0 0000000000000000 ffffffffffffffea
[ 0.000000] 90000000db2039b8 ffff0a1000000609 0000000000000035 0000000000000030
[ 0.000000] 90000000dad7b258 0000000000000400 00000000000000b0 ffff0a1000000609
[ 0.000000] 90000000db2039a8 90000000db095730 000000007fffffff ffff0a1000000609
[ 0.000000] 90000000db203a90 90000000db203a30 90000000db2039d8 90000000db09570b
[ 0.000000] ...
[ 0.000000] Call Trace:
[ 0.000000]
[ 0.000000] Code: (Bad address in era)
[ 0.000000]
[ 0.000000]
Signed-off-by: Youling Tang <tangyouling@loongson.cn>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>1 parent 9a0bd93 commit 6775e45
1 file changed
+4
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | 375 | | |
380 | 376 | | |
381 | 377 | | |
| |||
413 | 409 | | |
414 | 410 | | |
415 | 411 | | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
416 | 416 | | |
417 | 417 | | |
418 | 418 | | |
| |||
0 commit comments