This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARM FULL VIRTUALISATION SOFTWARE

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?

Parents
  • 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?

Reply
  • 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?

Children
  • Hi Mike,

    Mike Clark wrote:

    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?

    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?