Skip to content

[Bug]: 5 Level Paging is Broken #35

@os-d

Description

@os-d

Is there an existing issue for this?

  • I have searched existing issues

Current Behavior

When running QemuQ35Pkg with the GraniteRapids CPU model (to get HW support for 5 level paging) along with some cherry-picks from OVMF to support 5 level paging, the system crashes because the currently executing code is not mapped after we install the page table created from the paging crate. This behavior is seen with or without the self-map.

This is not a high priority at this point because no platforms consuming this crate use 5 level paging, but will need to be fixed up. It is entirely possible that I did not get the platform support right for 5 level paging, however, the PEI created page table was able to use 5 level paging.

Expected Behavior

5 level paging should work.

Steps To Reproduce

Manually cherry-pick tianocore/edk2@49b7fab adapting to QemuQ35Pkg. Change cpu model to GraniteRapids in QemuRunner.py. Set gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable|TRUE in QemuQ35Pkg.dsc.

Run build, observe triple fault when installing page table.

Build Environment

- OS(s):
- Tool Chain(s):
- Targets Impacted:

Version Information

Top of tree.

Urgency

Low

Are you going to fix this?

I will fix it

Do you need maintainer feedback?

No maintainer feedback needed

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    state:needs-triageNeeds to triaged to determine next stepstype:bugSomething isn't working

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions