Datasheet

The C and C++ Libraries
4-70 Copyright © 1999-2001 ARM Limited. All rights reserved. ARM DUI 0067D
Returns
The values returned in r0 to r3 depend on whether you are using the one or two region
model:
One region (r0,r1) is the single stack and heap region. r1 is greater than r0. r2 and r3
are ignored.
Two regions (r0, r2) is the initial heap and (r3, r1) is the initial stack. r2 is greater than
or equal to r0. r3 is less than r1.
4.9.5 __user_heap_extend()
This function can be defined to return extra blocks of memory, separate from the initial
one, to be used by the heap. If defined, this function must return the size and base
address of an 8-byte aligned heap extension block.
Syntax
unsigned __user_heap_extend(int 0, unsigned requested_size, void **base)
Implementation
There is no default implementation of this function. If youdefine this function, it must
have the following characteristics:
The returned size must be either:
a multiple of eight bytes of at least the requested size
0, denoting that the request cannot be honored.
Size is measured in bytes.
The function is subject only to ATPCS constraints.
The first argument must be zero on entry. The base is returned in the register
holding this argument.
The returned base address must be aligned on an 8-byte boundary.
4.9.6 __user_heap_extent()
If defined, this function returns the base address and maximum range of the heap.