[PATCH v3 0/2] MR777: ntoskrnl: MmAllocateContiguousMemorySpecifyCache semi-stub
This should help to get the nox android emulator to run fixes bug https://bugs.winehq.org/show_bug.cgi?id=46760 -- v3: Apply 1 suggestion(s) to 1 file(s) https://gitlab.winehq.org/wine/wine/-/merge_requests/777
From: Etaash Mathamsetty <etaash.mathamsetty(a)gmail.com> use NULL for lpAddress --- dlls/ntoskrnl.exe/ntoskrnl.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 031e9900544..8d97f3ae46d 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2777,8 +2777,23 @@ PVOID WINAPI MmAllocateContiguousMemorySpecifyCache( SIZE_T size, PHYSICAL_ADDRESS BoundaryAddressMultiple, MEMORY_CACHING_TYPE CacheType ) { - FIXME(": stub\n"); - return NULL; + DWORD protect = PAGE_READWRITE; + FIXME( ": ( %Iu %s %s %s %x ) semi-stub\n", size, wine_dbgstr_longlong(lowest_valid_address.QuadPart), + wine_dbgstr_longlong(highest_valid_address.QuadPart), + wine_dbgstr_longlong(BoundaryAddressMultiple.QuadPart), CacheType ); + switch (CacheType) + { + case MmNonCached: + protect |= PAGE_NOCACHE; + break; + case MmWriteCombined: + protect |= PAGE_NOCACHE; + protect |= PAGE_WRITECOMBINE; + break; + default: + break; + } + return VirtualAlloc( NULL, size, MEM_RESERVE|MEM_COMMIT, protect ); } /*********************************************************************** -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/777
From: Jinoh Kang <jinoh.kang.kr(a)gmail.com> --- dlls/ntoskrnl.exe/ntoskrnl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 8d97f3ae46d..86f4eccdee2 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2787,7 +2787,6 @@ PVOID WINAPI MmAllocateContiguousMemorySpecifyCache( SIZE_T size, protect |= PAGE_NOCACHE; break; case MmWriteCombined: - protect |= PAGE_NOCACHE; protect |= PAGE_WRITECOMBINE; break; default: -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/777
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=122684 Your paranoid android. === debian11 (64 bit WoW report) === ntoskrnl.exe: ntoskrnl.c:1707: Test succeeded inside todo block: got error 997 driver_pnp.c:737: Test failed: expected IRP_MN_REMOVE_DEVICE
On Mon Sep 5 16:04:45 2022 +0000, Jinoh Kang wrote:
```suggestion:-1+0 protect |= PAGE_WRITECOMBINE; ``` `PAGE_NOCACHE` and `PAGE_WRITECOMBINE` are mutually exclusive.
fixed, thanks -- https://gitlab.winehq.org/wine/wine/-/merge_requests/777#note_7708
participants (4)
-
Etaash Mathamsetty -
Etaash Mathamsetty (@etaash.mathamsetty) -
Jinoh Kang -
Marvin