-
sac_mem
-
Change access permission vector for memory object.
ER sac_mem ( VP base, ACVCT *p_acvct );
|
|
|
|
VP base;
|
Memory object start address.
|
|
ACVCT *p_acvct;
|
Pointer to the packet containing the access permission vector.
|
[Access permission vector : ACVCT]
typedef struct acvct {
ACPTN acptn1; /*Access permission pattern for operand-read*/
ACPTN acptn2; /*Access permission pattern for operand-write*/
ACPTN acptn3; /*Access permission pattern for execution*/
} ACVCT;
|
This service call can be called from tasks that belong to
Trusted Domain.
This service call changes the access permission vector for the memory object started from the address specified by
base to the content indicated by
p_acvct.
|
|
|
|
|
|
|
|
- acptn1 == acptn2 == acptn3 == 0
- Either of bits corresponding to the domain ID that is larger than the maximum domain ID ( VTMAX_DOMAIN) of either acptn1, acptn2 or acptn3 is 1.
|
|
|
- This service call was issued in the CPU locked state.
- This service call was issued from non-task.
- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
|
|
|
- Stack pointer points out of user stack for invoking task.
- The operand-read access to the area indicated by p_acvct has not been permitted to the invoking task.
|
|
|
- The invoking task does not belong to trusted domain.
- The number of memory objects from which the access is permitted to one domain exceeds 7.
|
|
|
- The memory object started from the address specified by base has already been registered.
|