We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Does anyone have details of the current situation in this area? For example, has ARM recently announced any related product(s)? What products are available for the Cortex -A17, for example? In particular, what are the non-proprietary options, if any?
Thank you, Matt! A lot of the confusion here stems from the fact that the vast majority of Internet sites are obsessed with this Intel-centric view (NOT what we ARMaholics want to see!). So, at present, ARM is hiding its light under a bushel; can I put in a plea for the inclusion of stuff like yours (accompanied, perhaps, by a couple of diagrams) in the likes of Technical/Architecture Reference Manuals?
And which components/capabilities were added, as Alban says, with the Cortex -A15? What does that give the -A15 that is not available on the dear old ARM1176JZF-S?
Hi Mike,
Mike Clark wrote:
ARM has a many-thousand page set of architecture specifications which define the capabilities already - granted, they are very hard to read as a treatise on virtualization capability as the information is scattered around the architectures (in plural, ARM, GIC, SMMU and others). You could check out the Cortex-A Series Programmer's Guide - chapter 22 covers Virtualization from the point of view of the Cortex-A7, Cortex-A15 & Cortex-A17 (i.e. ARMv7VE cores). It is not a full list of features but it goes quite a good way to describe the capabilities in some depth, in a very readable manner.
The main differences from ARM1176 et al. is the Hyp mode which gives the core an extra level of privilege to virtualize a Guest OS. Note that it is not impossible to implement virtualization on ARM without Virtualization Extensions - the Security Extensions (TrustZone) contains SOME of the features (although with a different purpose) which allow some level of virtualization to be implemented. It would also be possible to implement a virtualized operating system in User mode on ARM1176 - using SVC mode to trap "privileged" accesses. However this subverts several other features of the Architecture and makes There would need to be far, far more support code implemented in the Privileged modes (SVC) or Secure environment (Mon, Secure SVC) to support the Guest OS than on cores with the Virtualization Extensions - and some of the security-oriented features TrustZone is used for in the field can actually be implemented using Virtualization Extensions. The key is that higher privilege level, but the functionality within those higher privilege levels is what really defines how successful (and performant) your Hypervisor would be.
Ta,
Matt
Thanks again, Matt. The Programmers Guide is an absolute Treasure Trove! I'm off for a process of total immersion. I can't help wondering, though, if there are any plans to start a "Virtualisation" Community; at the moment, the subject has gravitated toward "Arm Processors", but it is equally relevant to IoT, Embedded, and Wearables, among others. How do new Communities get started?