[PATCH 0/1] wintun: use standard volatile semantics

Simon Rozman simon at rozman.si
Sat Apr 25 08:23:23 CEST 2020

Hi Shawn!

Thank you. This generally looks good. I can't find any official documentation on the set of functions and macros from wdm.h, but that's nothing new with Microsoft. 

I have some nitpicks thou.

1. As the atomic.h is no longer used; it could be deleted from the repo.
2. By removing #include "atomic.h", you should add #include <wdm.h>. wintun.c is now directly using functions and macros declared in wdm.h.
3. Please add "Signed-of-by: Shawn Hoffman <godisgovernment at gmail.com>" line to your commit message.
4. You are right, there is no WireGuard for Windows 10 ARM64 yet, because there is no MinGW and Go support for Windows 10 ARM64 yet. If we can get arm-w64-mingw32-native, we could use set GOARCH=arm to compile 32-bit ARM wireguard.exe. 32-bit ARM runs at native speed on Windows 10 ARM64. The challenge I see is making SetupAPI work. I do know the SetupAPI does not work in x86 processes on AMD64 Windows. The System32 folder deflection makes it fail when attempting to create a device. I am expecting the same in ARM process on ARM64 Windows.

I have the ARM/ARM64 support high on my TODO list. I do hope to find some time next week to play with your patch and WireGuard ARM.

Regards, Simon

-----Original Message-----
From: WireGuard <wireguard-bounces at lists.zx2c4.com> on behalf of Shawn Hoffman <godisgovernment at gmail.com>
Date: Friday, 24. April 2020 at 22:52
To: "wireguard at lists.zx2c4.com" <wireguard at lists.zx2c4.com>
Cc: Shawn Hoffman <godisgovernment at gmail.com>
Subject: [PATCH 0/1] wintun: use standard volatile semantics

    Make all archs are use the standardized concept of volatile.
    This patch will cause the most changes to arm64 codegen, and has
    yet to be tested on arm64 so is currently being submitted for
    comments. If someone would like to test on arm64 it would be
    appreciated. I do have an arm64 device, but it seems there's no
    existing arm64/windows wireguard binary package, so I can't
    just install such a thing and swap out the driver.

    Shawn Hoffman (1):
      replace atomic.h with provided APIs switch to /volatile:iso

     wintun.c               | 76 +++++++++++++++++++++---------------------
     wintun.vcxproj         |  5 ++-
     wintun.vcxproj.filters |  3 --
     3 files changed, 40 insertions(+), 44 deletions(-)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2965 bytes
Desc: not available
URL: <http://lists.zx2c4.com/pipermail/wireguard/attachments/20200425/2f102d23/attachment.p7s>

More information about the WireGuard mailing list