Skip to content

Commit 7b1a526

Browse files
Alexander Zilberkantdanny4478
authored andcommitted
Update docs/porting/psa/spm.md
Fixing CR comments
1 parent 3a82ffe commit 7b1a526

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

docs/porting/psa/spm.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ These is demonstrated in the example below:
5858

5959
#### Memory layout
6060

61-
Typically, PSA platforms share the same RAM and flash between secure and nonsecure cores. To provide PSA isolation level 1 or higher, you need to partition both RAM and flash in a way the following image describes:
61+
Typically, PSA platforms share the same RAM and flash between secure and nonsecure cores. To provide PSA isolation level 1 or higher, you need to partition both RAM and flash to secure and nonsecure parts, in a way the following image describes:
6262

6363
```text
6464
RAM
@@ -77,6 +77,8 @@ Typically, PSA platforms share the same RAM and flash between secure and nonsecu
7777

7878
To achieve RAM and flash partitioning, you must add start and size values to a target configuration in `targets.json` as in the example above.
7979

80+
Note that for isolation levels higher than 1, on top of the partitioning between secure and nonsecure parts, secure flash and RAM must have an inner level of partitioning, creating sections per secure partition.
81+
8082
### Linker scripts
8183

8284
Linker scripts must include `MBED_ROM_START`, `MBED_ROM_SIZE`, `MBED_RAM_START` and `MBED_RAM_START` macros for defining memory regions. You can define a shared memory region by reserving RAM space for shared memory use. The shared memory location is target specific and depends on the memory protection scheme applied.
@@ -187,7 +189,7 @@ define symbol __ICFEDIT_region_IROM1_end__ = (MBED_ROM_START + MBED_ROM_SIZE);
187189

188190
### Mailbox
189191

190-
Mailbox is the SPM mechanism in charge of IPC, and is **relevant for multicore systems only**.
192+
Mailbox is the mechanism used to implement Inter Processor Communication and **only relevant for multicore systems**. Mailbox is used by SPM for communicating with secure partitions from nonsecure processing environment.
191193

192194
#### Concepts
193195

@@ -205,9 +207,8 @@ The SPM mailbox mechanism requires the platform to have the following capabiliti
205207
These are the guidelines you should follow if you have multicore systems:
206208

207209
- For each core, initialize, configure and enable the a mailbox event (usually an interrupt) at `SystemInit()`.
208-
- For each core, implement the mailbox event handler (usually interrupt handler):
209-
- This handler must call an Arm callback function. The [HAL functions section](#hal-functions) explains this in more detail.
210-
- It is your responsibility to clear the mailbox event. You can do this in the event handler.
210+
- For each core, implement the IPC event handler (usually interrupt handler):
211+
- The handler must call an Arm callback function. Refer to [HAL functions section](#hal-functions) for more details.
211212
- For each core, implement the HAL function that notifies the peer processor about a mailbox event occurrence. This is a part of the HAL, and the section below explains this in more detail.
212213
- For each core, add the "SPM_MAILBOX" component field for its target node in mbed-os/targets/targets.json file.
213214

@@ -216,7 +217,7 @@ These are the guidelines you should follow if you have multicore systems:
216217
Target specific code of silicon partners who wish to have SPM capabilities must:
217218

218219
- Implement a list of functions which are being called by SPM code.
219-
- Call other functions supplied by ARM.
220+
- Call Arm callback functions declared and documented in the HAL header files.
220221

221222
The HAL can be logically divided into two different fields:
222223

0 commit comments

Comments
 (0)