Opened 3 years ago
Closed 2 years ago
#17309 closed bug (fixed)
Fix arm build, convert InterruptController, HardwareTimer to FDT bus.
Reported by: | kallisti5 | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | System/Kernel | Version: | R1/beta3 |
Keywords: | arm bus fdt | Cc: | |
Blocked By: | Blocking: | ||
Platform: | arm |
Description
The arm build is currently broken due to the new FDT bus.
Instead of being a custom bus implementation, the FDT bus was converted into a "real Haiku bus" as part of the riscv64 work.
Anything remaining referencing fdt_module_info, fdt_device_node (see ../haiku-git/src/system/kernel/arch/arm/soc*) needs converted to real(tm) references to the FDT bus.
An example leveraging the FDT bus can be found here: src/add-ons/kernel/bus_managers/pci/arch/riscv64/arch_pci_controller.cpp
example:
const char* compatible; if (gDeviceManager->get_attr_string(parent.Get(), "fdt/compatible", &compatible, false) < B_OK) return B_ERROR; dprintf("hostCtrlType: "); if (strcmp(compatible, "pci-host-ecam-generic") == 0) { static char buffer[sizeof(PCIEcam)]; gArchPCI = new(buffer) PCIEcam(); dprintf("ecam\n");
Change History (4)
comment:1 by , 2 years ago
comment:2 by , 2 years ago
hardware timer detection for OMAP3 and PXA merged in hrev56343
Therefore we can close this ticket.
comment:3 by , 2 years ago
davidkaroly: you should be able to close this ticket yourself by using the "Modify ticket" block now that you are a "developer".
comment:4 by , 2 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fix ARM build - done.
Detect InterruptController from FDT - done since hrev55699 - not exactly the FDT bus as interrupt controller initialization happens early in the kernel startup, before device manager is initialized.
HardwareTimer: Trying to address this in review #5522 with a similar logic as for the InterruptController.