Exemplo n.º 1
0
void Shutdown() {
    u32 flags = 0;
    MemoryMap_Shutdown(g_views, kNumMemViews, flags, &arena);
    arena.ReleaseSpace();
    MemBlock_Shutdown();

    g_base = nullptr;
    g_exefs_code = nullptr;
    g_system_mem = nullptr;
    g_heap = nullptr;
    g_heap_linear = nullptr;
    g_vram = nullptr;
    g_shared_mem = nullptr;
    g_dsp_mem = nullptr;
    g_kernel_mem = nullptr;

    physical_bootrom = nullptr;
    uncached_bootrom = nullptr;
    physical_exefs_code = nullptr;
    physical_system_mem = nullptr;
    physical_fcram = nullptr;
    physical_heap_gsp = nullptr;
    physical_vram = nullptr;
    physical_shared_mem = nullptr;
    physical_dsp_mem = nullptr;
    physical_kernel_mem = nullptr;

    LOG_DEBUG(HW_Memory, "shutdown OK");
}
Exemplo n.º 2
0
void Shutdown()
{
	u32 flags = 0;
	MemoryMap_Shutdown(views, num_views, flags, &g_arena);
	g_arena.ReleaseSpace();
	base = NULL;
	DEBUG_LOG(MEMMAP, "Memory system shut down.");
}
Exemplo n.º 3
0
void Shutdown() {
    u32 flags = 0;
    MemoryMap_Shutdown(g_views, kNumMemViews, flags, &g_arena);
    
    g_arena.ReleaseSpace();
    g_base = NULL;

    NOTICE_LOG(MEMMAP, "shutdown OK");
}
Exemplo n.º 4
0
void MemoryMap_Shutdown(u32 flags) {
	for (int i = 0; i < num_views; i++) {
		if (views[i].size == 0)
			continue;
		SKIP(flags, views[i].flags);
		if (*views[i].out_ptr)
			g_arena.ReleaseView(*views[i].out_ptr, views[i].size);
		*views[i].out_ptr = nullptr;
	}
	g_arena.ReleaseSpace();

#if PPSSPP_PLATFORM(UWP)
	VirtualFree(base, 0, MEM_RELEASE);
#endif
}
Exemplo n.º 5
0
void MemoryMap_Shutdown(u32 flags)
{
#ifdef __SYMBIAN32__
	memmap->Decommit(0, memmap->MaxSize());
	memmap->Close();
	delete memmap;
#else
	for (int i = 0; i < num_views; i++)
	{
		if (views[i].size == 0)
			continue;
		SKIP(flags, views[i].flags);
		if (views[i].out_ptr_low && *views[i].out_ptr_low)
			g_arena.ReleaseView(*views[i].out_ptr_low, views[i].size);
		if (*views[i].out_ptr && (!views[i].out_ptr_low || *views[i].out_ptr != *views[i].out_ptr_low))
			g_arena.ReleaseView(*views[i].out_ptr, views[i].size);
		*views[i].out_ptr = NULL;
		if (views[i].out_ptr_low)
			*views[i].out_ptr_low = NULL;
	}
	g_arena.ReleaseSpace();
#endif
}