On 01.08.2017 16:49, Peter Stuge wrote:
Note that PM != paging. Neither coreboot nor proprietary BIOS products used paging traditionally. Ron pushed for paging, there was a bit of support. I don't know the current situation though.
Also note that PM != "flat real mode" or "32-bit real mode", it's not really documented as a feature, so I don't know if it has an official name.
What you do is prepare a GDT with most or all entries having base 0 size 4GB, then enable PM in CR0, ldgdt, set at least cs and ds (usually more) to the 4GB GDT selectors, then disable PM in CR0 - *and do not reload cs, ds and other selectors/segment registers* once back in RM. This then allows 32-bit memory access in RM on 386 up.
Why would I want to address memory in RM with 32 Bits? I don't see any difference to using PM without Paging enabled.