It happens because the OS calls the SetVariable function which exists for this purpose
-
-
If you allow EFI code from system or peripheral firmware to run on the metal, it can happen any time they decide they want to. That's the problem. It should _only_ be possible when OS does it.
1 reply 0 retweets 0 likes -
No. It can only happen when the OS calls into said EFI code. Functions don't just call themselves
1 reply 0 retweets 1 like -
Like when some hardware driver calls into firmware on the metal in ring0 with unrestricted memory access rather than actually implementing the functionality itself.
1 reply 0 retweets 0 likes -
The only times the kernel calls into UEFI are To exit boot services mode To ger/set firmware variables As a last ditch way of rebooting As a last ditch way of getting/setting the time (no RTC driver) To set wake from power off timers
2 replies 0 retweets 0 likes -
Replying to @erincandescent @RichFelker and
There is also ACPI byte code needed on modern x86 systems, but that's already in an interpreter
1 reply 0 retweets 1 like -
Exactly. Doing it as bytecode is the right way - it inherently invites the OS kernel to control access as it sees fit without a costly emulation/virtualization layer that incentivizes omitting it.
3 replies 0 retweets 0 likes -
You may be the first person I've encountered to describe ACPI byte code as 'how it should be'
1 reply 0 retweets 3 likes -
Well no code at all would be preferable (documented mmio interfaces represented in device tree) but if you're going to have code, bytecode is the way to go.
1 reply 0 retweets 1 like -
Replying to @RichFelker @erincandescent and
Yeah, I was gonna say, isn’t it better to just have all hardware of a certain class work the same way?
1 reply 0 retweets 0 likes
Yes. USB device classes with standard protocols, no drivers at all, is how ALL hardware should work.
-
-
Replying to @RichFelker @pcwalton and
yessss, please lock the bad decisions of some shitty committee EVEN FURTHER into the stack
0 replies 0 retweets 1 likeThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.