| 679 | } |
| 680 | |
| 681 | void KMemory::unlockMemory(U8* lockedPointer) { |
| 682 | BOXEDWINE_CRITICAL_SECTION_WITH_MUTEX(lockedMemoryMutex); |
| 683 | std::shared_ptr<LockedMemory> p = lockedMemory.get(lockedPointer); |
| 684 | if (p) { |
| 685 | if (!p->readOnly) { |
| 686 | memcpy(p->address, p->p, p->len); |
| 687 | } |
| 688 | lockedMemory.remove(lockedPointer); |
| 689 | } |
| 690 | } |
| 691 | |
| 692 | U8* KMemory::lockReadWriteMemory(U32 address, U32 len) { |
| 693 | U32 pageIndex = address >> K_PAGE_SHIFT; |
no test coverage detected