summaryrefslogtreecommitdiff
path: root/pcr/reicast-git/error-mem.txt
diff options
context:
space:
mode:
authorcoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2016-05-16 14:53:10 -0300
committercoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2016-05-16 14:53:10 -0300
commit9af32ede5ef44b868c3939e4d24da0e2d63cf7d8 (patch)
treef5348888311225bc2e7c344afd7447af19a5d2a1 /pcr/reicast-git/error-mem.txt
parent6c883ccd0a476185e779672405e97714d36f8f45 (diff)
downloadabslibre-9af32ede5ef44b868c3939e4d24da0e2d63cf7d8.tar.gz
abslibre-9af32ede5ef44b868c3939e4d24da0e2d63cf7d8.tar.bz2
abslibre-9af32ede5ef44b868c3939e4d24da0e2d63cf7d8.zip
pcr/reicast-git: remove deprecated files and add microphone support
Diffstat (limited to 'pcr/reicast-git/error-mem.txt')
-rw-r--r--pcr/reicast-git/error-mem.txt168
1 files changed, 0 insertions, 168 deletions
diff --git a/pcr/reicast-git/error-mem.txt b/pcr/reicast-git/error-mem.txt
deleted file mode 100644
index 341d63e54..000000000
--- a/pcr/reicast-git/error-mem.txt
+++ /dev/null
@@ -1,168 +0,0 @@
-in fault_handler -> ../../core/linux/common.cpp : 99
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
-core/linux/common.cpp
--------------------------------------------------------------------------------------------------
-#if !defined(TARGET_NO_EXCEPTIONS)
-bool ngen_Rewrite(unat& addr,unat retadr,unat acc);
-u32* ngen_readm_fail_v2(u32* ptr,u32* regs,u32 saddr);
-bool VramLockedWrite(u8* address);
-bool BM_LockedWrite(u8* address);
-
-#if HOST_OS == OS_DARWIN
-void sigill_handler(int sn, siginfo_t * si, void *segfault_ctx) {
-
- rei_host_context_t ctx;
-
- context_from_segfault(&ctx, segfault_ctx);
-
- unat pc = (unat)ctx.pc;
- bool dyna_cde = (pc>(unat)CodeCache) && (pc<(unat)(CodeCache + CODE_SIZE));
-
- printf("SIGILL @ %08X, fault_handler+0x%08X ... %08X -> was not in vram, %d\n", pc, pc - (unat)sigill_handler, (unat)si->si_addr, dyna_cde);
-
- printf("Entering infiniloop");
-
- for (;;);
- printf("PC is used here %08X\n", pc);
-}
-#endif
-
-#if !defined(TARGET_NO_EXCEPTIONS)
-void fault_handler (int sn, siginfo_t * si, void *segfault_ctx)
-{
- rei_host_context_t ctx;
-
- context_from_segfault(&ctx, segfault_ctx);
-
- bool dyna_cde = ((unat)ctx.pc>(unat)CodeCache) && ((unat)ctx.pc<(unat)(CodeCache + CODE_SIZE));
-
- //ucontext_t* ctx=(ucontext_t*)ctxr;
- //printf("mprot hit @ ptr 0x%08X @@ code: %08X, %d\n",si->si_addr,ctx->uc_mcontext.arm_pc,dyna_cde);
-
-
- if (VramLockedWrite((u8*)si->si_addr) || BM_LockedWrite((u8*)si->si_addr))
- return;
- #if FEAT_SHREC == DYNAREC_JIT
- #if HOST_CPU==CPU_ARM
- else if (dyna_cde)
- {
- ctx.pc = (u32)ngen_readm_fail_v2((u32*)ctx.pc, ctx.r, (unat)si->si_addr);
-
- context_to_segfault(&ctx, segfault_ctx);
- }
- #elif HOST_CPU==CPU_X86
- else if (ngen_Rewrite((unat&)ctx.pc, *(unat*)ctx.esp, ctx.eax))
- {
- //remove the call from call stack
- ctx.esp += 4;
- //restore the addr from eax to ecx so it's valid again
- ctx.ecx = ctx.eax;
-
- context_to_segfault(&ctx, segfault_ctx);
- }
- #elif HOST_CPU == CPU_X64
- //x64 has no rewrite support
- #else
- #error JIT: Not supported arch
- #endif
- #endif
- else
- {
- printf("SIGSEGV @ %p (fault_handler+0x%p) ... %p -> was not in vram\n", ctx.pc, ctx.pc - (unat)fault_handler, si->si_addr);
- die("segfault");
- signal(SIGSEGV, SIG_DFL);
- }
-}
-#endif
--------------------------------------------------------------------------------------------------
-Error on : VramLockedWrite (video-ram - 8MB) || BM_LockedWrite (motherboard-ram - 16MB)
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
-core/hw/mem/_vmem.cpp
--------------------------------------------------------------------------------------------------
-bool BM_LockedWrite(u8* address)
-{
- if (!_nvmem_enabled())
- return false;
-
-#if FEAT_SHREC != DYNAREC_NONE
- u32 addr=address-(u8*)p_sh4rcb->fpcb;
-
- address=(u8*)p_sh4rcb->fpcb+ (addr&~PAGE_MASK);
-
- if (addr<sizeof(p_sh4rcb->fpcb))
- {
- //printf("Allocated %d PAGES [%08X]\n",++pagecnt,addr);
-
-#if HOST_OS==OS_WINDOWS
- verify(VirtualAlloc(address,PAGE_SIZE,MEM_COMMIT,PAGE_READWRITE));
-#else
- mprotect (address, PAGE_SIZE, PROT_READ | PROT_WRITE);
-#endif
-
- bm_vmem_pagefill((void**)address,PAGE_SIZE);
-
- return true;
- }
-#else
-die("BM_LockedWrite and NO REC");
-#endif
- return false;
-}
--------------------------------------------------------------------------------------------------
-core/rend/TexCache.cpp
--------------------------------------------------------------------------------------------------
-bool VramLockedWrite(u8* address)
-{
- size_t offset=address-vram.data;
-
- if (offset<VRAM_SIZE)
- {
-
- size_t addr_hash = offset/PAGE_SIZE;
- vector<vram_block*>* list=&VramLocks[addr_hash];
-
- {
- vramlist_lock.Lock();
-
- for (size_t i=0;i<list->size();i++)
- {
- if ((*list)[i])
- {
- libPvr_LockedBlockWrite((*list)[i],(u32)offset);
-
- if ((*list)[i])
- {
- msgboxf("Error : pvr is supposed to remove lock",MBX_OK);
- dbgbreak;
- }
-
- }
- }
- list->clear();
-
- vram.UnLockRegion((u32)offset&(~(PAGE_SIZE-1)),PAGE_SIZE);
-
- //TODO: Fix this for 32M wrap as well
- if (_nvmem_enabled() && VRAM_SIZE == 0x800000) {
- vram.UnLockRegion((u32)offset&(~(PAGE_SIZE-1)) + VRAM_SIZE,PAGE_SIZE);
- }
-
- vramlist_lock.Unlock();
- }
-
- return true;
- }
- else
- return false;
-}
--------------------------------------------------------------------------------------------------
-core/rend/TexCache.h
--------------------------------------------------------------------------------------------------
-void vram_LockedWrite(u32 offset64);
--------------------------------------------------------------------------------------------------
-core/stdclass.cpp
--------------------------------------------------------------------------------------------------
-bool VramLockedWrite(u8* address);
-bool RamLockedWrite(u8* address,u32* sp);