On Mon, 13 Feb 2023 at 22:32, Marvin Häuser <[email protected]> wrote: > > Without wanting to blow up your RFC with another one - I discussed this with > various people, including Bret when he was still at Project Mu, and there was > a consensus among them that integrating the whole CPU arch code right into > DxeCore would be a good idea. This would especially remove the hack that > queues permission applications till CpuDxe loads for good, rather than > requiring pro-active consumption of a library that proves this "fallback". > For most of the architectural protocols, especially SecurityStubDxe, I never > got the gist why you would want them to be separate from DxeCore. Obviously > there should be a level of customizability for IBVs and OEMs, though that can > be done statically-linked as well. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3223 > > What's your take on this? >
My take is that page table manipulation should not be part of the CPU arch protocol. The DXE core loads images and dispatches them, which also involves cache maintenance, for instance, as code pages need to be invalidated from the I-cache before you can execute a newly loaded image. I think it makes perfect sense for the DXE core to be in charge of updating the page table descriptors as well. In my approach, the library version is only used before the CPU arch protocol appears, so it addresses some of the concerns regarding multiple owners. But I'd prefer to see this removed from the CPU arch protocol entirely, or at least for the CPU arch protocol interface to be deprecated, and redefined in terms of a new DXE services, for instance, that is implemented by the DXE core itself. That way, all existing users would still see the same protocols, but the way they depend on each other would be inverted. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100137): https://edk2.groups.io/g/devel/message/100137 Mute This Topic: https://groups.io/mt/96937485/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
