Fork of Keith's WSL Patch Queue for my Win64 work
Revision | f9c7f78569e48728c628ab0157ddbcc3821089d7 (tree) |
---|---|
Time | 2019-04-22 03:01:06 |
Author | Cesar Strauss <cestrauss@gmai...> |
Commiter | Cesar Strauss |
Place the _WIN64 specific declaration of CONTEXT in its own header file.
@@ -1,4 +1,5 @@ | ||
1 | 1 | win64-context.patch #+win64 |
2 | +winnt-decl-64.patch | |
2 | 3 | cpu-features-x86-64.patch #+win64 |
3 | 4 | win64-time-typedef.patch #+win64 |
4 | 5 | alloca-testing.patch #+void #-void |
@@ -0,0 +1,143 @@ | ||
1 | +# HG changeset patch | |
2 | +# User Cesar Strauss <cestrauss@gmail.com> | |
3 | +# Date 1555868863 0 | |
4 | +# Parent 9f16cb37f78fdbd63f1b502eff64780362550353 | |
5 | +Place the _WIN64 specific declaration of CONTEXT in its own header file. | |
6 | + | |
7 | +diff --git a/wslapi/include/_winnt_decl_64.h b/wslapi/include/_winnt_decl_64.h | |
8 | +new file mode 100644 | |
9 | +--- /dev/null | |
10 | ++++ b/wslapi/include/_winnt_decl_64.h | |
11 | +@@ -0,0 +1,119 @@ | |
12 | ++/* | |
13 | ++ * _winnt_decl_64.h | |
14 | ++ * | |
15 | ++ * Specific declarations for 64 bits architectures. | |
16 | ++ * | |
17 | ++ * $Id$ | |
18 | ++ * | |
19 | ++ * Written by Cesar Strauss <cestrauss@gmail.com> | |
20 | ++ * Copyright (C) 2019, MinGW.org Project | |
21 | ++ * | |
22 | ++ * | |
23 | ++ * Permission is hereby granted, free of charge, to any person obtaining a | |
24 | ++ * copy of this software and associated documentation files (the "Software"), | |
25 | ++ * to deal in the Software without restriction, including without limitation | |
26 | ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
27 | ++ * and/or sell copies of the Software, and to permit persons to whom the | |
28 | ++ * Software is furnished to do so, subject to the following conditions: | |
29 | ++ * | |
30 | ++ * The above copyright notice and this permission notice (including the next | |
31 | ++ * paragraph) shall be included in all copies or substantial portions of the | |
32 | ++ * Software. | |
33 | ++ * | |
34 | ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
35 | ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
36 | ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
37 | ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
38 | ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
39 | ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | |
40 | ++ * DEALINGS IN THE SOFTWARE. | |
41 | ++ * | |
42 | ++ */ | |
43 | ++#ifndef __WINNT_DECL_64_H | |
44 | ++#define __WINNT_DECL_64_H | |
45 | ++#pragma GCC system_header | |
46 | ++ | |
47 | ++#include <winnt.h> | |
48 | ++ | |
49 | ++_BEGIN_C_DECLS | |
50 | ++ | |
51 | ++/* TODO: Find declarations for XMM_SAVE_AREA32, NEON128 and M128A. */ | |
52 | ++#if 0 | |
53 | ++typedef struct _CONTEXT { | |
54 | ++ DWORD64 P1Home; | |
55 | ++ DWORD64 P2Home; | |
56 | ++ DWORD64 P3Home; | |
57 | ++ DWORD64 P4Home; | |
58 | ++ DWORD64 P5Home; | |
59 | ++ DWORD64 P6Home; | |
60 | ++ DWORD ContextFlags; | |
61 | ++ DWORD MxCsr; | |
62 | ++ WORD SegCs; | |
63 | ++ WORD SegDs; | |
64 | ++ WORD SegEs; | |
65 | ++ WORD SegFs; | |
66 | ++ WORD SegGs; | |
67 | ++ WORD SegSs; | |
68 | ++ DWORD EFlags; | |
69 | ++ DWORD64 Dr0; | |
70 | ++ DWORD64 Dr1; | |
71 | ++ DWORD64 Dr2; | |
72 | ++ DWORD64 Dr3; | |
73 | ++ DWORD64 Dr6; | |
74 | ++ DWORD64 Dr7; | |
75 | ++ DWORD64 Rax; | |
76 | ++ DWORD64 Rcx; | |
77 | ++ DWORD64 Rdx; | |
78 | ++ DWORD64 Rbx; | |
79 | ++ DWORD64 Rsp; | |
80 | ++ DWORD64 Rbp; | |
81 | ++ DWORD64 Rsi; | |
82 | ++ DWORD64 Rdi; | |
83 | ++ DWORD64 R8; | |
84 | ++ DWORD64 R9; | |
85 | ++ DWORD64 R10; | |
86 | ++ DWORD64 R11; | |
87 | ++ DWORD64 R12; | |
88 | ++ DWORD64 R13; | |
89 | ++ DWORD64 R14; | |
90 | ++ DWORD64 R15; | |
91 | ++ DWORD64 Rip; | |
92 | ++ union { | |
93 | ++ XMM_SAVE_AREA32 FltSave; | |
94 | ++ NEON128 Q[16]; | |
95 | ++ ULONGLONG D[32]; | |
96 | ++ struct { | |
97 | ++ M128A Header[2]; | |
98 | ++ M128A Legacy[8]; | |
99 | ++ M128A Xmm0; | |
100 | ++ M128A Xmm1; | |
101 | ++ M128A Xmm2; | |
102 | ++ M128A Xmm3; | |
103 | ++ M128A Xmm4; | |
104 | ++ M128A Xmm5; | |
105 | ++ M128A Xmm6; | |
106 | ++ M128A Xmm7; | |
107 | ++ M128A Xmm8; | |
108 | ++ M128A Xmm9; | |
109 | ++ M128A Xmm10; | |
110 | ++ M128A Xmm11; | |
111 | ++ M128A Xmm12; | |
112 | ++ M128A Xmm13; | |
113 | ++ M128A Xmm14; | |
114 | ++ M128A Xmm15; | |
115 | ++ } DUMMYSTRUCTNAME; | |
116 | ++ DWORD S[32]; | |
117 | ++ } DUMMYUNIONNAME; | |
118 | ++ M128A VectorRegister[26]; | |
119 | ++ DWORD64 VectorControl; | |
120 | ++ DWORD64 DebugControl; | |
121 | ++ DWORD64 LastBranchToRip; | |
122 | ++ DWORD64 LastBranchFromRip; | |
123 | ++ DWORD64 LastExceptionToRip; | |
124 | ++ DWORD64 LastExceptionFromRip; | |
125 | ++} CONTEXT, *PCONTEXT; | |
126 | ++#endif | |
127 | ++ | |
128 | ++_END_C_DECLS | |
129 | ++ | |
130 | ++#endif /* __WINNT_DECL_64_H: $RCSfile$: end of file */ | |
131 | +diff --git a/wslapi/include/winnt.h b/wslapi/include/winnt.h | |
132 | +--- a/wslapi/include/winnt.h | |
133 | ++++ b/wslapi/include/winnt.h | |
134 | +@@ -4339,4 +4339,9 @@ | |
135 | + | |
136 | + #endif /* ! RC_INVOKED */ | |
137 | + #endif /* !_WINNT_H: internal recursion break */ | |
138 | ++ | |
139 | ++#ifdef _WIN64 | |
140 | ++#include <_winnt_decl_64.h> | |
141 | ++#endif | |
142 | ++ | |
143 | + #endif /* !_WINNT_H: $RCSfile$: end of file */ |