err("warning: uppermem @ %08x overflows by %d bytes\n",
offset, umem + length - umem_end);
- dbg("upper mem @ %08x %d\n", offset, length);
+ dbg("upper mem @ %08x %x = %p\n", offset, length, umem);
return umem;
}
return MAP_FAILED;
}
+int emu_do_munmap(void *addr, unsigned int length)
+{
+ u8 *p = addr;
+
+ // don't allow to unmap upper mem
+ if ((u8 *)mmsp2.umem <= p && p < (u8 *)mmsp2.umem + 0x2000000) {
+ dbg("ignoring munmap: %p %x\n", addr, length);
+ return 0;
+ }
+
+ return -EAGAIN;
+}
+
static void emu_sound_open(int fd)
{
#ifdef PND