The main core of linux enforces a strict abstraction of the hardware, and drivers have to convert the vagaries of real hardware into the abstraction that linux expects.
I remember an article by Linus where he said taking that approach actually results in cleaner, more efficient code. If the theoretical best way to do something is X, it is better for the kernel to assume X and have a shim compensate for defective hardware, than to actually make the kernel aware of what is really going on.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds