Add support for A15's new user-level instructions to QEMU

Registered by Peter Maydell on 2011-05-26

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:
milestone icon 2011.11
Started by
Peter Maydell on 2011-09-16
Completed by
Peter Maydell on 2011-10-26

Related branches

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.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.