Add support for A15's new user-level instructions to QEMU
The A15 supports a couple of new (or at least new for A-profile) instructions. Make sure these are implemented in QEMU and available for programs run under user-mode emulation.
We're going to implement this as user-mode-only support for the new instructions defined by the architecture, so we don't need to be explicitly define an A15 CPU that you can select in QEMU.
Dependency: version of ARM ARM defining VFPv4 and UDIV/SDIV.
Blueprint information
- Status:
- Complete
- Approver:
- Michael Hope
- Priority:
- Medium
- Drafter:
- Peter Maydell
- Direction:
- Needs approval
- Assignee:
- Peter Maydell
- Definition:
- Approved
- Series goal:
- Accepted for trunk
- Implementation:
-
Implemented
- Milestone target:
-
2011.11
- Started by
- Peter Maydell
- Completed by
- Peter Maydell
Related branches
Related bugs
Sprints
Whiteboard
Meta:
Headline: Implement the new A15 instructions in QEMU and make them available for programs run under user-mode emulation.
Acceptance: Make sure the new A15 instructions are translated correctly and check that QEMU produced the correct results when fed a large set of randomly generated test cases. In this implementation only user space is supported, so the test has to cover user space only.
Roadmap id: TCWG2011-A15-QEMU
Note that binutils can assemble the new instructions but doesn't describe the functionality.
Work Items
Work items:
Get documentation on instructions from ARM: DONE
Check that UDIV,SDIV match the M profile definitions of them: DONE
Implement fused-multiply (FMAC) in softfloat and add decode, helper to use it: DONE
Test and upstream patches: DONE
Handle any issues raised in review: DONE
Dependency tree

* Blueprints in grey have been implemented.