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 larger must be specified for OSSetSaveRegion. It is not necessary to align to 32 bytes.
This function does not support NAND applications.

See Also

OSExecl/OSExecv
OSRestart
OSGetSaveRegion
OSGetSavedRegion

Revision History

2009/07/13 Explained that NAND applications are not supported.
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