Пример #1
0
u32 InitMem2Manager () 
{
	int size = (10*1024*1024);
	u32 level;
	_CPU_ISR_Disable(level);
	size &= ~0x1f; // round down, because otherwise we may exceed the area
	void *mem2_heap_ptr = (void *)((u32)SYS_GetArena2Hi()-size);
	SYS_SetArena2Hi(mem2_heap_ptr);
	_CPU_ISR_Restore(level);
	size = __lwp_heap_init(&mem2_heap, mem2_heap_ptr, size, 32);
	return size;
}
Пример #2
0
void InitMem2Manager()
{
  int size = (32*1024*1024)+(256*1024)+32;
  u32 level;
  _CPU_ISR_Disable(level);
  mem2_ptr = (u8*)((u32)SYS_GetArena2Hi()-size);
  SYS_SetArena2Hi(mem2_ptr); 
  _CPU_ISR_Restore(level);
  mem2_size = size;
  Mem2ManagerReset();

#ifdef WII_NETTRACE
  net_print_string( NULL, 0, "InitMem2Manager: %d, %u\n", mem2_size, mem2_ptr );
#endif
}
Пример #3
0
s32 USBStorage_Initialize()
{
	u32 level;

	if(__inited)
		return IPC_OK;

	_CPU_ISR_Disable(level);
	LWP_InitQueue(&__usbstorage_waitq);
	if(!arena_ptr) {
		arena_ptr = (u8*)ROUNDDOWN32(((u32)SYS_GetArena2Hi() - HEAP_SIZE));
		if((u32)arena_ptr < (u32)SYS_GetArena2Lo()) {
			_CPU_ISR_Restore(level);
			return IPC_ENOMEM;
		}
		SYS_SetArena2Hi(arena_ptr);
	}
	__lwp_heap_init(&__heap, arena_ptr, HEAP_SIZE, 32);
	__inited = true;
	_CPU_ISR_Restore(level);
	return IPC_OK;
}