-
pget_mpf
ipget_mpf
-
Acquire fixed-sized memory block (polling).
ER pget_mpf (ID mpfid, VP *p_blk);
ER ipget_mpf (ID mpfid, VP *p_blk);
|
|
|
|
ID mpfid;
|
ID number of the fixed-sized memory pool.
|
|
VP *p_blk;
|
Start address of the acquired memory block.
|
This service call acquires the fixed-sized memory block from the fixed-sized memory pool specified by parameter
mpfid and stores the start address in the area specified by parameter
p_blk.
If a fixed-sized memory block could not be acquired from the target fixed-sized memory pool (no available fixed-sized memory blocks exist) when this service call is issued, fixed-sized memory block acquisition processing is not performed but "E_TMOUT" is returned.
Note 1 The contents of the block are undefined.
Note 2 The alignment number of memory block is 1. Please perform the following, in order to enlarge the alignment number of memory blocks.
- Specify the memory block size to a multiple of the desired alignment number at creating the fixed-sized memory pool.
- Make the start address of the fixed-sized memory pool area into the address of the desired alignment number.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- This service call was issued in the CPU locked state.
- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
Note When the ipget_mpf is issued from task or the pget_mpf is issued from non-task, the context error is not detected and normal operation of the system is not guaranteed.
|
|
|
Memory access violation. (only for pget_mpf)
- Stack pointer points out of user stack for invoking task.
- The operand-write access to the area indicated by p_blk has not been permitted to the invoking task.
|
|
|
- The fixed-sized memory pool specified by mpfid does not exist.
|
|
|
|