|
|
|
|
|
by anyfoo
1477 days ago
|
|
You also have to have the abstractions and hooks at the right places, though. Linux had that problem: The AIC (interrupt controller) is sufficiently different from the standard ARM GIC that ARMv8 Linux had to receive more fundamental patches before AIC support could be cleanly added. To illustrate the issue with a silly example, imagine the Windows kernel assumes that every interrupt controller speaks Spanish, but suddenly AIC comes along and speaks Portuguese. The driver is going to have a hard time communicating. A sibling commenter, gjsman-1000, explains that the idea is apparently to instead have a very lightweight hypervisor that actually presents a GIC to Windows, instead of trying to add an AIC driver, which might also have needed further kernel changes if Windows even has the concept of interrupt controller support being abstracted away enough to support interrupt controller "drivers" in its HAL. (I am not a Windows person at all, I don't know.) Basically not only having someone in between that seamlessly translates between Portuguese and Spanish, but actually pretending to be the interrupt controller itself. |
|