AnsweredAssumed Answered

MPC5784G Memory Protection issue:

Question asked by Bhagyashri Rathod on Aug 8, 2016
Latest reply on Aug 18, 2016 by Peter Vlna

We are using MPC5748G and implemented memory protection for SMPU0 and SMPU1 using PID. In that we have provided two modes, one is Supervisory mode and another is user mode.
In supervisory mode we are providing full access to SMPU0 and SMPU1 address range with fixed PID. In user mode we are providng limited access to SMPU0 and SMPU1 address range
depends on PID set for that application. Now we want to limit the access of some section of SMPU1 address range in Supervisory Mode  for Some function and SMPU0 has full access , but we are facing some issues in accessing as PID is common for
SMPU0 and SMPU1 address range. Following example will explain the issue.

Example.
Mode: Supervisory
PID: 0XFF
SMPU0 Address range :
Start Address: 0x00000000
End Address:   0x3FFFFFFF
PID : 0XFF

Peripheral Access:
Start Address: 0xF0000000
End Address:   0xFFFFFFFF
PID : 0XFF

SMPU1 Address range:
Start Address: 0x4000F000
End Address:   0x400BFFFF
PID : 0XFF

Limited access block :
Start Address: 0x40000000
End Address:   0x4000EFFF
PID : 0X0F

Now In supervisory mode Fun_1() should have full access to All memory range and Fun_2() should have acess to all blocks except Limited access block.
As in hardware only one register 48 is provided for accessing regions. We tried it but facing issues in accessing SMPU0 as PID set for region is 0XFF.
Is it possible to provide this kind of access? Plese let us know more information on the same issue.

Outcomes