[Skiboot] [PATCH] dt: Set new property length in dt_resize_property()
Vasant Hegde
hegdevasant at linux.vnet.ibm.com
Fri Jun 19 14:59:04 AEST 2020
On 6/19/20 8:27 AM, Thiago Jung Bauermann wrote:
> All callers of dt_resize_property() need to set the new property length
> after calling it. append_chip_id() wasn't doing it, which caused this
> assert when booting my machine:
>
> [ 136.387213258,3] Unable to use memory range 0 from MSAREA 0
> [ 136.387356677,3] Unable to use memory range 0 from MSAREA 2
> [ 136.387408390,3] ***********************************************
> [ 136.387454272,3] < assert failed at core/device.c:605 >
> [ 136.387493225,3] .
> [ 136.387512799,3] .
> [ 136.387534056,3] .
> [ 136.387550294,3] OO__)
> [ 136.387579530,3] <"__/
> [ 136.387605086,3] ^ ^
> [ 136.387719329,3] Fatal TRAP at 0000000030028a18 .dt_property_set_cell+0x34 MSR 9000000000021002
> [ 136.387801707,3] CFAR : 00000000300bfd3c MSR : 9000000000001000
> [ 136.387847032,3] SRR0 : 0000000030028a18 SRR1 : 9000000000021002
> [ 136.387893119,3] HSRR0: 0000000030012524 HSRR1: 9000000000001000
> [ 136.387936830,3] DSISR: 40000000 DAR : 00000002019df000
> [ 136.387983570,3] LR : 00000000300bfd40 CTR : 0000000000000000
> [ 136.388046031,3] CR : 20004202 XER : 00000000
> [ 136.388094553,3] GPR00: 00000000300bfd40 GPR16: 0000000000000001
> [ 136.388139862,3] GPR01: 0000000031e536e0 GPR17: 00000000300ca3c9
> [ 136.388181131,3] GPR02: 0000000030121200 GPR18: 0000000030103e1c
> [ 136.388224105,3] GPR03: 000000003053fc60 GPR19: 0000000000000008
> [ 136.388270356,3] GPR04: 0000000000000001 GPR20: 000000003053fba0
> [ 136.388313950,3] GPR05: 0000000000000008 GPR21: 0000000000000001
> [ 136.388363021,3] GPR06: 0000000031e50060 GPR22: 0000000000000001
> [ 136.388416754,3] GPR07: 0000000000000000 GPR23: 0000000000000000
> [ 136.388465729,3] GPR08: 0000000000000000 GPR24: 0000000000000000
> [ 136.388508156,3] GPR09: 0000000000000004 GPR25: 0000000031204060
> [ 136.388556203,3] GPR10: 0000000000000008 GPR26: 000000003120402c
> [ 136.388599076,3] GPR11: 0000000000000000 GPR27: 0000000030010000
> [ 136.388642108,3] GPR12: 0000000040004204 GPR28: 0000000000000002
> [ 136.388694064,3] GPR13: 0000000031e50000 GPR29: 0000000031203ee0
> [ 136.388743298,3] GPR14: 00000000300cbf03 GPR30: 0000000031202e80
> [ 136.388797131,3] GPR15: 00000000300cc01c GPR31: 0000000030103a33
> CPU 0048 Backtrace:
> S: 0000000031e539e0 R: 0000000030028874 .dt_resize_property+0x28
> S: 0000000031e53a60 R: 00000000300bfd40 .memory_parse+0xd84
> S: 0000000031e53c40 R: 00000000300bc4d8 .parse_hdat+0xed0
> S: 0000000031e53e30 R: 000000003001504c .main_cpu_entry+0x1ac
> S: 0000000031e53f00 R: 0000000030002760 boot_entry+0x1b0
>
> Avoid further appearances of the unidentified animal of doom by making
> dt_resize_property() do the length updating itself, freeing its callers
> from that need.
>
> Suggested-by: Oliver O'Halloran <oohall at gmail.com>
> Signed-off-by: Thiago Jung Bauermann <bauerman at linux.ibm.com>
Looks good.
Reviewed-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
-Vasant
More information about the Skiboot
mailing list