Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

ARM Community: One question about the address space when implemented the Security Extensions of ARMv7-A architecture - ARM Community

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

One question about the address space when implemented the Security Extensions of ARMv7-A architecture Rate Topic: -----

#1 User is offline   0254081 

  • Member
  • Pip
  • Group: Members
  • Posts: 34
  • Joined: 23-February 09

Posted 06 July 2011 - 08:06 AM

Dear All,
In ARMv7-A architecture, When implemented, the Security Extensions provide two physical address spaces, a Secure physical address space and a Non-secure physical address space. We also know that 32-bit physical address provides 4GB address space. If we use 32-bit physical address, does the secure physical address space and the non-secure physical address space share the same 4GB address space? Or they both have a separated 4GB address space?

Anyone know it? Thanks.



Dong
0

#2 User is offline   isogen74 

  • Super Contributor
  • PipPipPipPip
  • Group: Members
  • Posts: 1104
  • Joined: 20-March 07

Posted 06 July 2011 - 09:22 AM

From the processors point of view you have a 4GB non-secure physical address space, and a 4GB secure physical address space,

The secure processor modes can see all 8GB of the physical address space, because the MMU pages contain a single bit which allows the secure world to select a non-secure physical address or a secure physical address for each virtual address currently mapped.

However the bus implementation the processor is attached to may choose to only allow a single physical address space, and use the "NS" bit on the bus to provide access control to each physical address rather than another "virtual address bit". I believe this is what most implementers have chosen to do, so you typically have a global 4GB address space and the non-secure processor can only see a subset of it.
When optimizing software, consider that the quickest code to run is the bit you removed from the call path.
1

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic