NdisMAllocateSharedMemory maps memory as non cacheable on Arm Windows,
Given that Windows on Arm does not support unaligned accesses on uncached memory,
this behavior does result in crashes.
As such, use MmAllocateContiguousMemorySpecifyCache for the Arm64 architecture.
This choice is safe.
It's also to be noted that NdisMAllocateSharedMemory
ignores the isCached attribute anyway, and always
maps as cached on amd64.
This also allows us to remove the need for the Rx bounce buffer.
With this fix, networking w/ netkvm for Windows on Arm works fine.
(tested with QEMU emulator version 5.0.50 (v5.0.0-1065-g9f1f264edb))
Signed-off-by: Mohamed Mediouni <[email protected]>
SDV is modern mode fails without any information if there
are source files with '-' sign in the name. This is
preparation change for further work with modern SDV.
Signed-off-by: Yuri Benditovich <[email protected]>