Verify the Cortex A9 Versatile PBX support
QEMU currently claims to support A8 and A9, and is believed to work with A9MP. However we haven't tested it and there may be bugs or missing pieces. Verify support of the Versatile PBX.
Blueprint information
- Status:
- Complete
- Approver:
- Michael Hope
- Priority:
- Medium
- Drafter:
- Peter Maydell
- Direction:
- Needs approval
- Assignee:
- Dr. David Alan Gilbert
- Definition:
- Approved
- Series goal:
- Accepted for 11.05
- Implementation:
- Implemented
- Milestone target:
- 11.05-final
- Started by
- Michael Hope
- Completed by
- Michael Hope
Related branches
Related bugs
Sprints
Whiteboard
Effort: 1-2M
The report is here:
https:/
and is based off this whiteboard. The report supersedes the whiteboard.
NB: this report is now slightly out of date because we've added support for the SD card. It should also probably mention that we do now have Versatile Express support -- PMM.
Dave has looked into this. He took the current upstream qemu, built a kernel for it, and
used this to boot the current Linaro test head. The model does have Cortex-A9, SMP, and
basic Realview PBX support but is lacking in other areas.
PENDING: Add versions and locations.
Source used:
QEmu from git git://git.
Linux kernel from git git://git.
Filesystem based on Linaro headless (linaro-
According to the source, the model includes:
* A PL050 keyboard/mouse controller
* Four PL011 UARTs
* A PL081 DMA controller
* Two SP804 dual timers
* A PL110 LDC display
* A PL181 MMC interface
* A PL031 RTC
* A LAN9118 Ethernet interface
In practice though, he found:
* There's no block device (such as a SD card or hard disk)
* There's no display
making the current model unusable for an end developer. Both are probably fixable, but Dave noted that he'd rather emulating something more mainstream than fix up the PBX emulation.
A fundamental issue with QEMU is that all emulated cores run in one host thread, so a dual
core emulation will run twice as slow as a single core. Dave also noted that QEMU is an
application emulator, and isn't suitable for validating low level applications due to how
the memory systems and timings are different from the target.
Work Items
Work items:
Investigate current state: DONE
Build an SMP kernel for PBX A9: DONE
Run the kernel with the current Linaro test head: DONE
[michaelh1] Report: DONE
Dependency tree
* Blueprints in grey have been implemented.