4 ms·
Fascinating! I've been running the laptop version-ish of this experiment with the 14M9610, and my major complaint is Device Tree sucks. It's been explained to m
by fragmede 4mo ago
Fascinating! I've been running the laptop version-ish of this experiment with the 14M9610, and my major complaint is Device Tree sucks. It's been explained to me why all of ARM can't just enumerate devices like PCs do, but it still sucks. This means every ARM device starts off in custom kernel territory, which makes all sorts of hacks okay to begin with, since you need a custom kernel anyway.
- bpye 4mo agoACPI does exist for Aarch64, but is only really used for Windows client devices, and server hardware - though I think the Ampere hardware in the article would use ACPI not DT. If you want to run Linux on one of the modern Qualcomm Windows laptops, you still generally end up needing to use device tree.
- bestouff 4mo agoThis is not completely true. You can use a generic kernel with a custom device tree. The only problem is that distributions currently tend to package them together, but that shouldn't be obligatory.
- dezgeg 4mo agoYou can't if the firmware provided DTB doesn't follow any upstream Linux approved bindings and instead uses some vendor kernel specific bindings.
- M95D 4mo ago> my major complaint is Device Tree sucks Why? Device tree is great. You can patch it yourself if something doesn't work, add overlays, etc.
- rwmj 4mo agoIt's a bad solution compared to having the hardware just enumerate itself like PCI does. (No one uses the firmware supplied DTs because they're usually broken.)
- jdub 4mo agoTake a look at how modern PCs enumerate all of their non-PCI hardware. I'll put a bucket over here.
- deleted 4mo ago[deleted]
- M95D 4mo agoAll IBM PC clones had (or emulated) the same 8253 timer, 8259 PIC, 8237 DMA controller, 8042 keyboard controller, CMOS RTC, 8250/16550 serial port, standard IDE/PATA, standard framebuffer addresses, standard PCI and ISA register addresses, FPU was always at IRQ13, mouse at IRQ12, RTC at IRQ8, LPT at 0x378, PC speaker at 0x61, etc. All this doesn't require any enumeration and was still standard until BIOS/CSM was removed. PCs could use the same IDE driver for 30 years of hardware! All chipsets were compatible, from 386 to today's SATA in compatibility mode. ARM made the mistake of not standardizing anything beside CPU instructions (and even those aren't always the same - see the mess armv7 created with thumb, thumb-ee, simd, neon, crypto acceleration, etc.). Of course it needs enumeration. But x86 is now catching up with the mess. Just wait... Enumeration instead of standardized hw is bad, but I prefer the least worse device tree.
- pjmlp 4mo agoIBM PC is the exception here, because how clones came to be, actually. So ARM did what everyone else has always have done.