[Mingw-w64-public] [PATCH] headers: Complete the winnt.h structs/defines for ARM64
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
在 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
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
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
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