Module Name: src Committed By: ryo Date: Wed Apr 14 05:43:09 UTC 2021
Modified Files: src/sys/arch/aarch64/aarch64: bus_space.c trap.c Log Message: Fix the problem "pcictl pci0 list" causes "panic: trap_el1h_error" on rockpro64. The panic occures in bus_space_barrier() in rk3399_pcie.c:rkpcie_conf_read(). We expected bus_space_peek_4() to trap and recover in the path trap_el1h_sync() -> data_abort_handler(), but In fact, the read is delayed until bus_space_barrier(), and we get an SError interrupt (trap_el1h_error) instead of a Synchronous Exception (trap_el1h_sync). To catch this correctly, An implicit barrier in bus_space_peek have been added, and trap the SError interrupt to recover from. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/arch/aarch64/aarch64/bus_space.c cvs rdiff -u -r1.45 -r1.46 src/sys/arch/aarch64/aarch64/trap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.