Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
aa78b46e
Commit
aa78b46e
authored
Mar 05, 2024
by
Martin Storsjö
Committed by
Alexandre Julliard
Mar 05, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
arm64: Expose information about more modern CPU extensions.
Signed-off-by:
Martin Storsjö
<
martin@martin.st
>
parent
c9ffab46
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
6 deletions
+18
-6
system.c
dlls/ntdll/unix/system.c
+6
-2
winternl.h
include/winternl.h
+8
-4
wineboot.c
programs/wineboot/wineboot.c
+4
-0
No files found.
dlls/ntdll/unix/system.c
View file @
aa78b46e
...
...
@@ -574,8 +574,12 @@ static void get_cpuinfo( SYSTEM_CPU_INFORMATION *info )
}
if
(
!
strcmp
(
line
,
"Features"
))
{
if
(
strstr
(
value
,
"crc32"
))
features
|=
CPU_FEATURE_ARM_V8_CRC32
;
if
(
strstr
(
value
,
"aes"
))
features
|=
CPU_FEATURE_ARM_V8_CRYPTO
;
if
(
strstr
(
value
,
"crc32"
))
features
|=
CPU_FEATURE_ARM_V8_CRC32
;
if
(
strstr
(
value
,
"aes"
))
features
|=
CPU_FEATURE_ARM_V8_CRYPTO
;
if
(
strstr
(
value
,
"atomics"
))
features
|=
CPU_FEATURE_ARM_V81_ATOMIC
;
if
(
strstr
(
value
,
"asimddp"
))
features
|=
CPU_FEATURE_ARM_V82_DP
;
if
(
strstr
(
value
,
"jscvt"
))
features
|=
CPU_FEATURE_ARM_V83_JSCVT
;
if
(
strstr
(
value
,
"lrcpc"
))
features
|=
CPU_FEATURE_ARM_V83_LRCPC
;
continue
;
}
}
...
...
include/winternl.h
View file @
aa78b46e
...
...
@@ -2693,10 +2693,14 @@ typedef struct _SYSTEM_CPU_INFORMATION {
#define CPU_FEATURE_PAE 0x00200000
#define CPU_FEATURE_DAZ 0x00400000
#define CPU_FEATURE_ARM_VFP_32 0x00000001
#define CPU_FEATURE_ARM_NEON 0x00000002
#define CPU_FEATURE_ARM_V8_CRC32 0x00000004
#define CPU_FEATURE_ARM_V8_CRYPTO 0x00000008
#define CPU_FEATURE_ARM_VFP_32 0x00000001
#define CPU_FEATURE_ARM_NEON 0x00000002
#define CPU_FEATURE_ARM_V8_CRC32 0x00000004
#define CPU_FEATURE_ARM_V8_CRYPTO 0x00000008
#define CPU_FEATURE_ARM_V81_ATOMIC 0x00000010
#define CPU_FEATURE_ARM_V82_DP 0x00000020
#define CPU_FEATURE_ARM_V83_JSCVT 0x00000040
#define CPU_FEATURE_ARM_V83_LRCPC 0x00000080
typedef
struct
_SYSTEM_PROCESSOR_FEATURES_INFORMATION
{
...
...
programs/wineboot/wineboot.c
View file @
aa78b46e
...
...
@@ -440,6 +440,10 @@ static void create_user_shared_data(void)
features
[
PF_ARM_V8_INSTRUCTIONS_AVAILABLE
]
=
TRUE
;
features
[
PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE
]
=
!!
(
sci
.
ProcessorFeatureBits
&
CPU_FEATURE_ARM_V8_CRC32
);
features
[
PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE
]
=
!!
(
sci
.
ProcessorFeatureBits
&
CPU_FEATURE_ARM_V8_CRYPTO
);
features
[
PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE
]
=
!!
(
sci
.
ProcessorFeatureBits
&
CPU_FEATURE_ARM_V81_ATOMIC
);
features
[
PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
]
=
!!
(
sci
.
ProcessorFeatureBits
&
CPU_FEATURE_ARM_V82_DP
);
features
[
PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
]
=
!!
(
sci
.
ProcessorFeatureBits
&
CPU_FEATURE_ARM_V83_JSCVT
);
features
[
PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE
]
=
!!
(
sci
.
ProcessorFeatureBits
&
CPU_FEATURE_ARM_V83_LRCPC
);
features
[
PF_COMPARE_EXCHANGE_DOUBLE
]
=
TRUE
;
features
[
PF_NX_ENABLED
]
=
TRUE
;
features
[
PF_FASTFAIL_AVAILABLE
]
=
TRUE
;
...
...
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