4 ms·
Whatever happened to having chips that didn't have all this secretive scummy nonsense behind it? I feel like we should just roll back to the 68k era at this poi
by coldacid 5y ago
Whatever happened to having chips that didn't have all this secretive scummy nonsense behind it? I feel like we should just roll back to the 68k era at this point.
- tenebrisalietum 5y agoACPI is to blame because it specifically enabled laptop manufacturers to hide platform hardware details behind a shitty firmware interface instead of providing OS drivers/hardware details to driver developers, and it was around that time that SMI became a thing on Intel CPUs and platform firmware started to use that for fan control, instead of depending on the OS to do that.
- StillBored 5y agoACPI is a huge part of the reason that linux works at all on x86, and in many cases is as popular as it is. If it acted more like arm boards where pretty much nothing works right, no one would use it for general purpose computing. There are literally hundreds and hundreds of drivers for PMICs, clock dividers, GPIO pin muxing/etc for the hundred or so boards that sorta work, and each one needs customization that takes months/years every time something gets tweaked on the board/etc. ACPI allows random x86 board vendors to literally have hundreds of products themselves that not only boot linux, but a pile of other OS's because they aren't wasting their time writing drivers for every single board and voltage regulator. So, call it shitty, but understand that its the reason you can boot a single linux image on everything from an atomicPi, to HP superdome flex, and the thousands of desktops/etc being customized by people in their bedrooms. Its also largely the reason why linux works on 20 year old PC's that no one is actually testing on anymore. The alternative is a monoculture where the HW is basically provided by a single vendor that doesn't change much and provides a half dozen supported configurations. I would point to the zseries here because that is effectively how it works, but it also has a huge hw/firmware abstract machine that allows IBM to change the underlying HW details without having to rewrite all this low value garbage.
- tenebrisalietum 5y ago> There are literally hundreds and hundreds of drivers for PMICs and voltage dividors, GPIO pin muxing/etc for the hundred or so boards that sorta work, and each one needs customization that takes months/years everytime something gets tweaked on the board/etc. There's literally tens of thousands of devices for the PC platform and Linux has no problem supporting them if the hardware can be documented. Why can't the vendor document that instead of hiding this stuff behind opaque binary blobs that can have security vulnerabilities? Whether this is ARM or x86 doesn't matter. > ACPI OTOH allows random x86 board vendors to literally have hundreds of products themselves that not only boot linux, but a pile of other OS's because they aren't wasting their time writing drivers for every single board and voltage regulator. I'm parsing this as "ACPI OTOH allows random x86 board vendors to develop shitty hardware, cut corners on documenting it, and not care as long as Microsoft OS's boot on it." > they aren't wasting their time writing drivers for every single board and voltage regulator. Document the damn registers and hardware interfaces and then someone out there will write it for them. > Its also largely the reason why linux works on 20 year old PC's that no one is actually testing on anymore. Well Linux still supports hardware that predates ACPI, like floppy drives, so this is making a connection where there is none. > The alternative is a monoculture where the HW is basically provided by a single vendor that doesn't change much and provides a half dozen supported configurations. Wrong. Before ACPI, for example, there were many chipset vendors--Opti, VIA, etc. ACPI didn't kill these off but there wasn't a monoculture before ACPI. > I would point to the zseries here So ... do we want an IBM-mainframe like monoculture where you have to depend on IBM when the hardware changes? > allows IBM to change the underlying HW details The job of abstracting the hardware details is the operating system and operating system drivers. Literally that's 50% of the reason why you have an OS in the first place is to abstract I/O into things like open(), read(), write() or other interfaces that are portable because of underlying drivers. If the hardware is so different that existing I/O calls can't handle it, you need to develop new ones - that's what happened with Berkely sockets - NICs are not block or character devices. If the drivers are open source then they are bug-correctable and useable even well after the hardware manufacturer goes away. Embedding that in closed-source platform-firmware makes you dependent on that platform manufacturer. A strong contributor to the Wintel monopoly.