On Wed, Aug 2, 2017 at 1:36 PM, ron minnich rminnich@gmail.com wrote:
On Wed, Aug 2, 2017 at 12:08 PM Zoran Stojsavljevic zoran.stojsavljevic@gmail.com wrote:
So, turning on the Virtual Mode (paging ON), you'll also imply that Coreboot will initialize and use MMU, don't you?
sure.
Am I correct, or you can use paging without MMU?!
MMU must be on.
I doubt that, perhaps. So, then, I would like to see this code in Coreboot where MMU is initialized. And how it is initialized (maybe there is a some over-simplified mode of operation using 2MB pages).
yep.
And my question is: what for? Or I did not get the idea... Who really needs to use paging in boot-loaders? Even INTEL, which (on purpose) makes things way over-dimensioned and over-complicated, does NOT use paging in UEFI BIOSes, so far???
it's trivial to turn on paging. In harvey I've got it down to 160 lines, including comments and white space. I made it much more compact in my CL from 1/2014.
If you turn on paging you can capture null pointer derefs, and all other out of range address references. And relocatable modules are much easier..
My question is, why not do it? I don't see any harm. All the other platforms in coreboot use paging. What's so special about x86 that it should not use paging?
You can't use it for CAR so that sorta throws out romstage and before. It's up to the implementation of how CAR works within the hierarchy, but with hardware page walkers that pull things through the cache things can go badly. So then you could enable paging for ramstage. Need to locate storage for the page tables, but that's not an impossible thing either.
ron
-- coreboot mailing list: coreboot@coreboot.org https://mail.coreboot.org/mailman/listinfo/coreboot