Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
6b86b419
Commit
6b86b419
authored
Jun 24, 2021
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server: Simplify the naming of the YMM regs.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
f626349c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
18 deletions
+14
-18
thread.c
dlls/ntdll/unix/thread.c
+8
-12
server_protocol.h
include/wine/server_protocol.h
+1
-1
protocol.def
server/protocol.def
+1
-1
trace.c
server/trace.c
+4
-4
No files found.
dlls/ntdll/unix/thread.c
View file @
6b86b419
...
...
@@ -215,8 +215,7 @@ static NTSTATUS context_to_server( context_t *to, const void *src, USHORT machin
const
XSTATE
*
xs
=
(
const
XSTATE
*
)((
const
char
*
)
xctx
+
xctx
->
XState
.
Offset
);
to
->
flags
|=
SERVER_CTX_YMM_REGISTERS
;
if
(
xs
->
Mask
&
4
)
memcpy
(
&
to
->
ymm
.
ymm_high_regs
.
ymm_high
,
&
xs
->
YmmContext
,
sizeof
(
xs
->
YmmContext
)
);
if
(
xs
->
Mask
&
4
)
memcpy
(
&
to
->
ymm
.
regs
.
ymm_high
,
&
xs
->
YmmContext
,
sizeof
(
xs
->
YmmContext
)
);
}
return
STATUS_SUCCESS
;
}
...
...
@@ -283,8 +282,7 @@ static NTSTATUS context_to_server( context_t *to, const void *src, USHORT machin
const
XSTATE
*
xs
=
(
const
XSTATE
*
)((
const
char
*
)
xctx
+
xctx
->
XState
.
Offset
);
to
->
flags
|=
SERVER_CTX_YMM_REGISTERS
;
if
(
xs
->
Mask
&
4
)
memcpy
(
&
to
->
ymm
.
ymm_high_regs
.
ymm_high
,
&
xs
->
YmmContext
,
sizeof
(
xs
->
YmmContext
)
);
if
(
xs
->
Mask
&
4
)
memcpy
(
&
to
->
ymm
.
regs
.
ymm_high
,
&
xs
->
YmmContext
,
sizeof
(
xs
->
YmmContext
)
);
}
return
STATUS_SUCCESS
;
}
...
...
@@ -526,11 +524,10 @@ static NTSTATUS context_from_server( void *dst, const context_t *from, USHORT ma
xs
->
Mask
&=
~
4
;
if
(
user_shared_data
->
XState
.
CompactionEnabled
)
xs
->
CompactionMask
=
0x8000000000000004
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
from
->
ymm
.
ymm_high_
regs
.
ymm_high
);
i
++
)
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
from
->
ymm
.
regs
.
ymm_high
);
i
++
)
{
if
(
!
from
->
ymm
.
ymm_high_regs
.
ymm_high
[
i
].
low
&&
!
from
->
ymm
.
ymm_high_regs
.
ymm_high
[
i
].
high
)
continue
;
memcpy
(
&
xs
->
YmmContext
,
&
from
->
ymm
.
ymm_high_regs
,
sizeof
(
xs
->
YmmContext
)
);
if
(
!
from
->
ymm
.
regs
.
ymm_high
[
i
].
low
&&
!
from
->
ymm
.
regs
.
ymm_high
[
i
].
high
)
continue
;
memcpy
(
&
xs
->
YmmContext
,
&
from
->
ymm
.
regs
,
sizeof
(
xs
->
YmmContext
)
);
xs
->
Mask
|=
4
;
break
;
}
...
...
@@ -604,11 +601,10 @@ static NTSTATUS context_from_server( void *dst, const context_t *from, USHORT ma
xs
->
Mask
&=
~
4
;
if
(
user_shared_data
->
XState
.
CompactionEnabled
)
xs
->
CompactionMask
=
0x8000000000000004
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
from
->
ymm
.
ymm_high_
regs
.
ymm_high
);
i
++
)
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
from
->
ymm
.
regs
.
ymm_high
);
i
++
)
{
if
(
!
from
->
ymm
.
ymm_high_regs
.
ymm_high
[
i
].
low
&&
!
from
->
ymm
.
ymm_high_regs
.
ymm_high
[
i
].
high
)
continue
;
memcpy
(
&
xs
->
YmmContext
,
&
from
->
ymm
.
ymm_high_regs
,
sizeof
(
xs
->
YmmContext
)
);
if
(
!
from
->
ymm
.
regs
.
ymm_high
[
i
].
low
&&
!
from
->
ymm
.
regs
.
ymm_high
[
i
].
high
)
continue
;
memcpy
(
&
xs
->
YmmContext
,
&
from
->
ymm
.
regs
,
sizeof
(
xs
->
YmmContext
)
);
xs
->
Mask
|=
4
;
break
;
}
...
...
include/wine/server_protocol.h
View file @
6b86b419
...
...
@@ -156,7 +156,7 @@ typedef struct
}
ext
;
union
{
struct
{
struct
{
unsigned
__int64
low
,
high
;
}
ymm_high
[
16
];
}
ymm_high_
regs
;
struct
{
struct
{
unsigned
__int64
low
,
high
;
}
ymm_high
[
16
];
}
regs
;
}
ymm
;
}
context_t
;
...
...
server/protocol.def
View file @
6b86b419
...
...
@@ -172,7 +172,7 @@ typedef struct
} ext; /* selected by SERVER_CTX_EXTENDED_REGISTERS */
union
{
struct { struct { unsigned __int64 low, high; } ymm_high[16]; }
ymm_high_
regs;
struct { struct { unsigned __int64 low, high; } ymm_high[16]; } regs;
} ymm; /* selected by SERVER_CTX_YMM_REGISTERS */
} context_t;
...
...
server/trace.c
View file @
6b86b419
...
...
@@ -666,8 +666,8 @@ static void dump_varargs_context( const char *prefix, data_size_t size )
dump_uints
(
",extended="
,
(
const
unsigned
int
*
)
ctx
.
ext
.
i386_regs
,
sizeof
(
ctx
.
ext
.
i386_regs
)
/
sizeof
(
int
)
);
if
(
ctx
.
flags
&
SERVER_CTX_YMM_REGISTERS
)
dump_uints
(
",ymm_high="
,
(
const
unsigned
int
*
)
ctx
.
ymm
.
ymm_high_
regs
.
ymm_high
,
sizeof
(
ctx
.
ymm
.
ymm_high_
regs
)
/
sizeof
(
int
)
);
dump_uints
(
",ymm_high="
,
(
const
unsigned
int
*
)
ctx
.
ymm
.
regs
.
ymm_high
,
sizeof
(
ctx
.
ymm
.
regs
)
/
sizeof
(
int
)
);
break
;
case
IMAGE_FILE_MACHINE_AMD64
:
fprintf
(
stderr
,
"%s{machine=x86_64"
,
prefix
);
...
...
@@ -719,8 +719,8 @@ static void dump_varargs_context( const char *prefix, data_size_t size )
(
unsigned
int
)
ctx
.
fp
.
x86_64_regs
.
fpregs
[
i
].
low
);
}
if
(
ctx
.
flags
&
SERVER_CTX_YMM_REGISTERS
)
dump_uints
(
",ymm_high="
,
(
const
unsigned
int
*
)
ctx
.
ymm
.
ymm_high_
regs
.
ymm_high
,
sizeof
(
ctx
.
ymm
.
ymm_high_
regs
)
/
sizeof
(
int
)
);
dump_uints
(
",ymm_high="
,
(
const
unsigned
int
*
)
ctx
.
ymm
.
regs
.
ymm_high
,
sizeof
(
ctx
.
ymm
.
regs
)
/
sizeof
(
int
)
);
break
;
case
IMAGE_FILE_MACHINE_ARMNT
:
fprintf
(
stderr
,
"%s{machine=arm"
,
prefix
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment