[Mingw-w64-public] [PATCH] headers: Complete the winnt.h structs/defines for ARM64

2018-03-18 Thread Martin Storsjö
Sync the latest version from wine.

Signed-off-by: Martin Storsjö 
---
 mingw-w64-headers/include/winnt.h | 119 ++
 1 file changed, 108 insertions(+), 11 deletions(-)

diff --git a/mingw-w64-headers/include/winnt.h 
b/mingw-w64-headers/include/winnt.h
index efcd74d..f41f7b3 100644
--- a/mingw-w64-headers/include/winnt.h
+++ b/mingw-w64-headers/include/winnt.h
@@ -2042,31 +2042,112 @@ extern "C" {
 
 #if !defined(RC_INVOKED)
 
-// TODO: #define CONTEXT_*
+#define CONTEXT_ARM64   0x40
+#define CONTEXT_CONTROL (CONTEXT_ARM64 | 0x0001)
+#define CONTEXT_INTEGER (CONTEXT_ARM64 | 0x0002)
+#define CONTEXT_FLOATING_POINT  (CONTEXT_ARM64 | 0x0004)
+#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x0008)
+
+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
+#define CONTEXT_ALL  (CONTEXT_CONTROL | CONTEXT_INTEGER | 
CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
+
+#define EXCEPTION_READ_FAULT0
+#define EXCEPTION_WRITE_FAULT   1
+#define EXCEPTION_EXECUTE_FAULT 8
+
+#define ARM64_MAX_BREAKPOINTS   8
+#define ARM64_MAX_WATCHPOINTS   2
 
 #endif /* !defined(RC_INVOKED) */
 
+  typedef union _NEON128 {
+struct
+{
+ULONGLONG Low;
+LONGLONG High;
+} DUMMYSTRUCTNAME;
+double D[2];
+float S[4];
+WORD  H[8];
+BYTE  B[16];
+  } NEON128, *PNEON128;
+
   typedef struct _CONTEXT {
-// TODO
+ULONG ContextFlags; /* 000 */
+/* CONTEXT_INTEGER */
+ULONG Cpsr; /* 004 */
+union
+{
+struct
+{
+DWORD64 X0; /* 008 */
+DWORD64 X1; /* 010 */
+DWORD64 X2; /* 018 */
+DWORD64 X3; /* 020 */
+DWORD64 X4; /* 028 */
+DWORD64 X5; /* 030 */
+DWORD64 X6; /* 038 */
+DWORD64 X7; /* 040 */
+DWORD64 X8; /* 048 */
+DWORD64 X9; /* 050 */
+DWORD64 X10;/* 058 */
+DWORD64 X11;/* 060 */
+DWORD64 X12;/* 068 */
+DWORD64 X13;/* 070 */
+DWORD64 X14;/* 078 */
+DWORD64 X15;/* 080 */
+DWORD64 X16;/* 088 */
+DWORD64 X17;/* 090 */
+DWORD64 X18;/* 098 */
+DWORD64 X19;/* 0a0 */
+DWORD64 X20;/* 0a8 */
+DWORD64 X21;/* 0b0 */
+DWORD64 X22;/* 0b8 */
+DWORD64 X23;/* 0c0 */
+DWORD64 X24;/* 0c8 */
+DWORD64 X25;/* 0d0 */
+DWORD64 X26;/* 0d8 */
+DWORD64 X27;/* 0e0 */
+DWORD64 X28;/* 0e8 */
+DWORD64 Fp; /* 0f0 */
+DWORD64 Lr; /* 0f8 */
+} DUMMYSTRUCTNAME;
+DWORD64 X[31];  /* 008 */
+} DUMMYUNIONNAME;
+/* CONTEXT_CONTROL */
+DWORD64 Sp; /* 100 */
+DWORD64 Pc; /* 108 */
+/* CONTEXT_FLOATING_POINT */
+NEON128 V[32];  /* 110 */
+DWORD Fpcr; /* 310 */
+DWORD Fpsr; /* 314 */
+/* CONTEXT_DEBUG_REGISTERS */
+DWORD Bcr[ARM64_MAX_BREAKPOINTS];   /* 318 */
+DWORD64 Bvr[ARM64_MAX_BREAKPOINTS]; /* 338 */
+DWORD Wcr[ARM64_MAX_WATCHPOINTS];   /* 378 */
+DWORD64 Wvr[ARM64_MAX_WATCHPOINTS]; /* 380 */
   } CONTEXT, *PCONTEXT;
 
-//  typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, 
*PRUNTIME_FUNCTION;
-//  typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD64 
ControlPc,PVOID Context);
+  typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, 
*PRUNTIME_FUNCTION;
 
-// TODO: #define UNW_*
+#define UNWIND_HISTORY_TABLE_SIZE 12
 
   typedef struct _UNWIND_HISTORY_TABLE_ENTRY {
-// TODO
+DWORD64 ImageBase;
+PRUNTIME_FUNCTION FunctionEntry;
   } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
 
   typedef struct _UNWIND_HISTORY_TABLE {
-// TODO
+DWORD   Count;
+BYTELocalHint;
+BYTEGlobalHint;
+BYTESearch;
+BYTEOnce;
+DWORD64 LowAddress;
+DWORD64 HighAddress;
+UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
   } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
 
-  typedef struct _KNONVOLATILE_CONTEXT_POINTERS {
-// TODO
-  } KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
-
 #define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME 
"OutOfProcessFunctionTableCallback"
 
 #endif /* _ARM64_ *

Re: [Mingw-w64-public] [PATCH] headers: Complete the winnt.h structs/defines for ARM64

2018-03-18 Thread Liu Hao
在 03/19/2018 03:12 AM, Martin Storsjö 写道:
> Sync the latest version from wine.
> 
> Signed-off-by: Martin Storsjö 
> ---
>  mingw-w64-headers/include/winnt.h | 119 
> ++
>  1 file changed, 108 insertions(+), 11 deletions(-)
> 
> 


This patch looks good to me.

BTW, how about my patch about missing SSE2 header that I sent three days
ago? JonY said he probably wouldn't be back for quite a few days, which
should not delay our work too much.


-- 
Best regards,
LH_Mouse



signature.asc
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH] headers: Complete the winnt.h structs/defines for ARM64

2018-03-18 Thread Martin Storsjö

On Mon, 19 Mar 2018, Liu Hao wrote:


在 03/19/2018 03:12 AM, Martin Storsjö 写道:

Sync the latest version from wine.

Signed-off-by: Martin Storsjö 
---
 mingw-w64-headers/include/winnt.h | 119 ++
 1 file changed, 108 insertions(+), 11 deletions(-)





This patch looks good to me.


Thanks, pushed.

// Martin
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH] headers: Complete the winnt.h structs/defines for ARM64

2018-06-04 Thread Mateusz Mikuła
There is a bug reported for this commit:
https://sourceforge.net/p/mingw-w64/bugs/736/

pon., 19 mar 2018 o 07:30 Martin Storsjö  napisał(a):

> On Mon, 19 Mar 2018, Liu Hao wrote:
>
> > 在 03/19/2018 03:12 AM, Martin Storsjö 写道:
> >> Sync the latest version from wine.
> >>
> >> Signed-off-by: Martin Storsjö 
> >> ---
> >>  mingw-w64-headers/include/winnt.h | 119
> ++
> >>  1 file changed, 108 insertions(+), 11 deletions(-)
> >>
> >>
> >
> >
> > This patch looks good to me.
>
> Thanks, pushed.
>
> // Martin
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH] headers: Complete the winnt.h structs/defines for ARM64

2018-06-04 Thread Martin Storsjö

On Mon, 4 Jun 2018, Mateusz Mikuła wrote:


There is a bug reported for this commit:
https://sourceforge.net/p/mingw-w64/bugs/736/


Interesting, although there's not much we can do about it. The problem is 
that they've been building with -DCR, and this commit adds a struct with a 
field named CR. The public Windows SDK headers have got the same field, 
named similarly, in the same place.


The linked issue in OpenBLAS contained this later in the thread: "Got it 
now, thanks. PR incoming, and I guess I need to apologize to the msys2 
folks..."


// Martin
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public