Initial A15 system model

Registered by Michael Hope on 2011-09-21

It is possible to model a Cortex-A15 without support for the Virtualization Extensions or LPAE. Although this does not correspond to real hardware, the kernels from www.arm.com/linux will boot on this configuration. The board model would be a Versatile Express with the "Cortex-A Series" memory map (as opposed to the "legacy" memory map which is used by the Cortex-A9 VE board). If you're running an A15 guest under a hypervisor on A15 hardware, this configuration is a fairly plausible view for the hypervisor to expose to the guest. So it makes some sense to implement it in QEMU.

KVM will want the A15 device models and Versatile Express non-legacy memory map anyway, so the work is also useful there.

As with existing QEMU CPU models, the aim would be "close enough for Linux to boot" rather than a detailed attempt to implement all possible device-specific functionality.

Acceptance criteria: A15 vexpress working on TCG QEMU to at least the 'boots a kernel' level

NB: since this blueprint is part of the KVM/A15 work, the TCG side would not be advertised as a "supported platform".

Partly depends on the cp15-rework blueprint. Does not include generic timer model.

Blueprint information

Status:
Complete
Approver:
Michael Hope
Priority:
High
Drafter:
Peter Maydell
Direction:
Approved
Assignee:
Peter Maydell
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2012.02
Started by
Peter Maydell on 2011-12-06
Completed by
Peter Maydell on 2012-01-18

Related branches

Sprints

Whiteboard

Meta:
Headline: n/a, this is an internal engineering milestone
Acceptance: A15 vexpress working on TCG QEMU to at least the 'boots a kernel' level
Roadmap id: TCWG2011-A15-KVM

(?)

Work Items

Work items:
Source the A15 TRM: DONE
Refactor existing 11MPCore/A9 private peripheral model sources to split them up: DONE
Add A15 private peripheral models: DONE
Modify the Versatile Express board model following new memory map: DONE
Configure and build the kernel: DONE
Add enough cp15 register tweaks for Linux to boot: DONE
Submit patches upstream: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.