News for hackers. Stuff that matters.
Re:The Heart of RISC-V Development Is Unmatched by AnthonyMouse on Thursday October 29, 2020 @08:35PM (#24937840)
> It "doesn't work" on ARM simply do to the extreme heterogenity. To ask for otherwise would be asking for AMD drivers to work for an Nvidia graphics card.

If what you're saying is that on ARM there are 15,000 different kinds of USB controller that all need their own driver, that's one thing. But if all you're saying is that there are 25 different USB controllers and 25 different drive controllers and 25 different network controllers and that means you get 15,000 different possible combinations, the fact that every combination needs its own separate drivers is the bug. Even if various controllers are combined into one SoC.

> They paper over it with ACPI which is based around a VM that has to be run in the kernel that's basically a giant binary blob, in contrast to device tree's description of the components and how they're connected.

It seems to be doing a useful thing in abstracting away the various binary blobs into a stable interface that allows them to continue operating with newer kernel versions.

Getting rid of the binary blobs entirely is a separate fight, presumably related to getting open source firmware (rather than drivers).

Re:The Heart of RISC-V Development Is Unmatched by numpad0 on Friday October 30, 2020 @04:02AM (#24940077)
It’s not the matter of combinatorial explosion or binary blobs...

On many non-PC platforms, you’re given a thousand “pins” to which you’re free to connect whatever circuit that you conceived for your product, be it green and red buttons, or backlight control circuits, or temperature sensing inputs, or SATA controllers, or 4 bit 74 series counter repurposed to switch pin 567 between SATA controller configuration interface output and battery temperature gauge input and laser ranging sensor power modulation output and self destruction device detonation cord output.

There’s no way or even motivation to describe those board specific miscellanies in such way that Linux Kernel drivers can dynamically consume and adapt to, or decide how to behave.

This is not an issue for x86 PC platform, because every x86/x64 PC is either a 100% clone of IBM 5170 “PC/AT” to run IBM DOS 5.0 or Microsoft MS-DOS 5.0 binary without ever catching fire, or a Microsoft Windows Logo Program certified product that boots into Windows of the same era from binary installer disc/USB key.

Re:The Heart of RISC-V Development Is Unmatched by AnthonyMouse on Friday October 30, 2020 @09:31PM (#24948391)
> There’s no way or even motivation to describe those board specific miscellanies in such way that Linux Kernel drivers can dynamically consume and adapt to, or decide how to behave.

It doesn't seem like an intractable problem to standardize and document this sort of thing. Once you know that pin 45 is connected to a model ABC123 backlight controller, you know to communicate with it on pin 45 using the ABC123 backlight controller driver. If the same pin is used for multiple outputs, no problem, standardize the method for switching between outputs and describe which pins are switched to which devices using which control pins in a machine-readable table.

Apparently they haven't done this, so how do we get them to start?

Re:The Heart of RISC-V Development Is Unmatched by monocasa on Friday October 30, 2020 @10:26PM (#24948670)
They have done this; you're describing device tree.

It's not a combinatorial problem, but just pure number of different devices.