3 ms·
Have you wrote drivers? Writing a driver off documentation is: a) very hard, how do you debug anything without JTAG ports and simulators? and b) not correct on
by pandaman 3y ago
Have you wrote drivers? Writing a driver off documentation is: a) very hard, how do you debug anything without JTAG ports and simulators? and b) not correct on principle because the documentation is not the hardware, there are errata in the hardware so what documentation says is not always what the hardware does and there are mistakes in the documentation for the same outcome.
>The only ones in trouble would be the vendors of crap SoCs who ship extremely buggy hardware and make up for the lack of QA in software quirks instead.
I.e. the every single vendor currently on the market...
- mschuster91 3y ago> Writing a driver off documentation is: a) very hard, how do you debug anything without JTAG ports and simulators? and b) not correct on principle because the documentation is not the hardware, there are errata in the hardware so what documentation says is not always what the hardware does and there are mistakes in the documentation for the same outcome. I agree with you, no system (particularly not something as complex as an entire SoC) is free of bugs. > I.e. the every single vendor currently on the market... And yet, we have Apple, whose hardware quality alone is good enough for a dedicated team to reverse engineer and write drivers for, with almost zero documentation available. The problem, as I expanded below, is the complete lack of competition in the SoC space. Everyone gets away with mediocrity because the largest players in town (Apple and Samsung) refuse to sell their chips to externals. The result is that the mobile ecosystem as a whole suffers, because that is what happens in markets where entities get too large.
- pandaman 3y ago>And yet, we have Apple, whose hardware quality alone is good enough for a dedicated team to reverse engineer and write drivers for, with almost zero documentation available. Apple own software is pretty janky, my current MacBook cannot bring up GPU after sleep about once a month and needs a reboot to begin drawing GUI correctly again, used to be dying completely waking up before it was fixed couple OS updates back. My previous MacBook could not stay on WiFi for more than a couple hours straight, never had been fixed. Also, reversing an existing working driver is different from writing a driver from scratch. In one case you just need to repeat the functionality, produce the same outputs for the same inputs, the quality of hardware is orthogonal here since it's already worked around in the existing driver. It's orders of magnitude easier than writing the thing from scratch.