Lv2 Cond/Mutex rewritten, bugfixes

This commit is contained in:
Nekotekina 2015-03-07 01:10:04 +03:00
parent 48c1f0f03d
commit ef65299dff
35 changed files with 425 additions and 507 deletions

View file

@ -226,7 +226,7 @@ int _sys_heap_create_heap(const u32 heap_addr, const u32 align, const u32 size)
sysPrxForUser.Warning("_sys_heap_create_heap(heap_addr=0x%x, align=0x%x, size=0x%x)", heap_addr, align, size);
std::shared_ptr<HeapInfo> heap(new HeapInfo(heap_addr, align, size));
u32 heap_id = sysPrxForUser.GetNewId(heap);
u32 heap_id = Emu.GetIdManager().GetNewID(heap);
sysPrxForUser.Warning("*** sys_heap created: id = %d", heap_id);
return heap_id;
}
@ -236,7 +236,7 @@ u32 _sys_heap_malloc(const u32 heap_id, const u32 size)
sysPrxForUser.Warning("_sys_heap_malloc(heap_id=%d, size=0x%x)", heap_id, size);
std::shared_ptr<HeapInfo> heap;
if(!sysPrxForUser.CheckId(heap_id, heap)) return CELL_ESRCH;
if(!Emu.GetIdManager().GetIDData(heap_id, heap)) return CELL_ESRCH;
return (u32)Memory.Alloc(size, 1);
}
@ -246,7 +246,7 @@ u32 _sys_heap_memalign(u32 heap_id, u32 align, u32 size)
sysPrxForUser.Warning("_sys_heap_memalign(heap_id=%d, align=0x%x, size=0x%x)", heap_id, align, size);
std::shared_ptr<HeapInfo> heap;
if(!sysPrxForUser.CheckId(heap_id, heap)) return CELL_ESRCH;
if(!Emu.GetIdManager().GetIDData(heap_id, heap)) return CELL_ESRCH;
return (u32)Memory.Alloc(size, align);
}
@ -267,9 +267,7 @@ s32 sys_interrupt_thread_disestablish(PPUThread& CPU, u32 ih)
{
sysPrxForUser.Todo("sys_interrupt_thread_disestablish(ih=%d)", ih);
vm::stackvar<u64> r13(CPU);
return _sys_interrupt_thread_disestablish(ih, r13);
return _sys_interrupt_thread_disestablish(ih, vm::stackvar<u64>(CPU));
}
int sys_process_is_stack(u32 p)