OSSetSaveRegion

Syntax

#include <revolution/os.h>

void OSSetSaveRegion( void* start, void* end );

Arguments

start Start address of uncleared memory when the system is started using OSExecl, OSExecv, or OSRestart. Must be either at or above the address 0x8070_0000, or NULL.
end End address of uncleared memory when the system is started using OSExecl, OSExecv, or OSRestart. Must be either at or below the address 0x8120_0000, or NULL.

Return Values

None.

Description

Set the memory region that should not be cleared by calling OSInit after OSExecl, OSExecv, or OSRestart. By default, OSInit clears all the arena, but if you call this function, you can leave [start, end) uncleared. Be aware that this function only affects the OSInit function after OSExecl, OSExecv, or OSRestart.

[ (start, end must be included in the area [MAX(0x8070_0000, program size), 0x8120_0000]. (That is, start must be greater than or equal to either 0x8070_0000 or [0x8070_0000 + program size], and end must be less than or equal to 0x8120_0000. ) If both are specified to be NULL, the default action will be taken. In other words, the OSInit function will clear all arenas.

Note: A memory region of 32 bytes or more must be specified to OSSetSaveRegion. 32-byte alignment is not required.

See Also

OSExecl/OSExecv, OSRestart, OSGetSaveRegion, OSGetSavedRegion

Revision History

2008/05/13 Added mention of the restriction on the memory region size that can be specified.
2008/05/12 Added mention of effective function information.
2006/03/01 Initial version.


CONFIDENTIAL