u-boot/arch/arm/lib
Janne Grunau dabaa4ae32 dm: Add dm_remove_devices_active() for ordered device removal
This replaces dm_remove_devices_flags() calls in all boot
implementations to ensure non vital devices are consistently removed
first. All boot implementation except arch/arm/lib/bootm.c currently
just call dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL). This can result
in crashes when dependencies between devices exists. The driver model's
design document describes DM_FLAG_VITAL as "indicates that the device is
'vital' to the operation of other devices". Device removal at boot
should follow this.

Instead of adding dm_remove_devices_flags() with (DM_REMOVE_ACTIVE_ALL |
DM_REMOVE_NON_VITAL) everywhere add dm_remove_devices_active() which
does this.

Fixes a NULL pointer deref in the apple dart IOMMU driver during EFI
boot. The xhci-pci (driver which depends on the IOMMU to work) removes
its mapping on removal. This explodes when the IOMMU device was removed
first.

dm_remove_devices_flags() is kept since it is used for testing of
device_remove() calls in dm.

Signed-off-by: Janne Grunau <j@jannau.net>
2024-11-24 15:41:28 -06:00
..
acpi_table.c arm: cpu: Add ACPI parking protocol support 2024-10-27 17:24:13 -06:00
ashldi3.S
ashrdi3.S
asm-offsets.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
asmdefs.h arm64: arch/arm/lib: Add optimized memset/memcpy/memmove functions 2021-09-24 07:48:06 -04:00
bdinfo.c global_data: Reduce size of early-malloc vars 2024-08-26 14:06:08 -06:00
bitops.S arm: Use builtins for ffs/fls 2023-08-17 16:39:20 -04:00
bootm-fdt.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
bootm.c dm: Add dm_remove_devices_active() for ordered device removal 2024-11-24 15:41:28 -06:00
cache-cp15.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cache-pl310.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cache.c Merge patch series "Tidy up use of 'SPL' and CONFIG_SPL_BUILD" 2024-10-11 12:23:25 -06:00
ccn504.S WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
cmd_boot.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
crt0.S arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:47 -06:00
crt0_64.S arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:47 -06:00
crt0_aarch64_efi.S efi_loader: set IMAGE_DLLCHARACTERISTICS_NX_COMPAT 2024-02-28 14:37:46 +01:00
crt0_arm_efi.S arm: separate .data and .text sections of EFI binaries 2024-02-28 14:39:27 +01:00
debug.S arm: Drop CONFIG_MMU 2023-02-07 14:33:48 -05:00
div0.c
div64.S WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
eabi_compat.c arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:47 -06:00
elf_aarch64_efi.lds efi_loader: add .rela sections to .text on arm64 2023-01-13 09:09:07 +01:00
elf_arm_efi.lds arm: separate .data and .text sections of EFI binaries 2024-02-28 14:39:27 +01:00
gic-v2.c arm: lib: Add GICV2 driver 2024-10-27 17:24:13 -06:00
gic-v3-its.c drivers/arm: Implement acpi_fill_madt 2024-10-27 17:24:13 -06:00
gic_64.S arm64: gic: Add power up sequence for GIC-600 2024-03-19 18:40:46 -04:00
image.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
interrupts.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
interrupts_64.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
interrupts_m.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
lib1funcs.S arm: lib: add __gnu_thumb1_case_si 2023-04-06 19:10:08 -04:00
lshrdi3.S
Makefile Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
memcpy-arm64.S arm64: arch/arm/lib: Add optimized memset/memcpy/memmove functions 2021-09-24 07:48:06 -04:00
memcpy.S arm: ARMv4 assembly compatibility 2022-09-02 13:40:42 -04:00
memset-arm64.S arm64: memset-arm64: Use simple memset when cache is disabled 2021-09-24 07:48:06 -04:00
memset.S
muldi3.S
psci-dt.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
reloc_aarch64_efi.c
reloc_arm_efi.c
relocate.S arm: Use the WEAK assembly entry point consistently 2022-12-06 15:30:30 -05:00
relocate_64.S Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
reset.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
save_prev_bl_data.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
sections.c arm: Fix up a stale comment in sections.c 2024-10-03 11:52:16 -06:00
semihosting.S arm: semihosting: Fix returning from traps on ARMv6 and lower 2023-11-10 12:52:28 -05:00
setjmp.S arm: ARMv4 assembly compatibility 2022-09-02 13:40:42 -04:00
setjmp_aarch64.S
spl.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
stack.c arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:47 -06:00
uldivmod.S
vectors.S arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:47 -06:00
vectors_m.S Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.h 2022-06-06 12:09:19 -04:00
xferlist.c arm: Get bloblist from boot arguments 2024-02-29 09:24:22 -05:00
xferlist.h arm: Get bloblist from boot arguments 2024-02-29 09:24:22 -05:00
zimage.c arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:47 -06:00