Skip to content

Commit ac4643e

Browse files
authored
Add support for Arm64EC (#2957)
1 parent 879c0cf commit ac4643e

File tree

76 files changed

+2565
-2524
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2565
-2524
lines changed

crates/libs/bindgen/src/rust/cfg.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ fn cfg_add_attributes<R: AsRow + Into<metadata::HasAttribute>>(cfg: &mut Cfg, ro
125125
}
126126
if value & 2 == 2 {
127127
cfg.arches.insert("x86_64");
128+
cfg.arches.insert("arm64ec");
128129
}
129130
if value & 4 == 4 {
130131
cfg.arches.insert("aarch64");

crates/libs/sys/src/Windows/Win32/Devices/DeviceAndDriverInstallation/mod.rs

Lines changed: 180 additions & 180 deletions
Large diffs are not rendered by default.

crates/libs/sys/src/Windows/Win32/Devices/Display/mod.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2315,16 +2315,16 @@ impl Clone for FD_LIGATURE {
23152315
}
23162316
}
23172317
#[repr(C)]
2318-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2318+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
23192319
pub struct FD_XFORM {
23202320
pub eXX: f32,
23212321
pub eXY: f32,
23222322
pub eYX: f32,
23232323
pub eYY: f32,
23242324
}
2325-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2325+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
23262326
impl Copy for FD_XFORM {}
2327-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2327+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
23282328
impl Clone for FD_XFORM {
23292329
fn clone(&self) -> Self {
23302330
*self
@@ -2361,7 +2361,7 @@ impl Clone for FLOATOBJ {
23612361
}
23622362
}
23632363
#[repr(C)]
2364-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2364+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
23652365
pub struct FLOATOBJ_XFORM {
23662366
pub eM11: f32,
23672367
pub eM12: f32,
@@ -2370,9 +2370,9 @@ pub struct FLOATOBJ_XFORM {
23702370
pub eDx: f32,
23712371
pub eDy: f32,
23722372
}
2373-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2373+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
23742374
impl Copy for FLOATOBJ_XFORM {}
2375-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2375+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
23762376
impl Clone for FLOATOBJ_XFORM {
23772377
fn clone(&self) -> Self {
23782378
*self
@@ -2397,14 +2397,14 @@ impl Clone for FLOATOBJ_XFORM {
23972397
}
23982398
}
23992399
#[repr(C)]
2400-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2400+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
24012401
pub union FLOAT_LONG {
24022402
pub e: f32,
24032403
pub l: i32,
24042404
}
2405-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2405+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
24062406
impl Copy for FLOAT_LONG {}
2407-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2407+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
24082408
impl Clone for FLOAT_LONG {
24092409
fn clone(&self) -> Self {
24102410
*self
@@ -2773,7 +2773,7 @@ impl Clone for IFIEXTRA {
27732773
}
27742774
}
27752775
#[repr(C)]
2776-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2776+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
27772777
#[cfg(feature = "Win32_Graphics_Gdi")]
27782778
pub struct IFIMETRICS {
27792779
pub cjThis: u32,
@@ -2837,10 +2837,10 @@ pub struct IFIMETRICS {
28372837
pub panose: super::super::Graphics::Gdi::PANOSE,
28382838
pub Align: *mut core::ffi::c_void,
28392839
}
2840-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2840+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
28412841
#[cfg(feature = "Win32_Graphics_Gdi")]
28422842
impl Copy for IFIMETRICS {}
2843-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2843+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
28442844
#[cfg(feature = "Win32_Graphics_Gdi")]
28452845
impl Clone for IFIMETRICS {
28462846
fn clone(&self) -> Self {
@@ -2948,7 +2948,7 @@ impl Clone for LIGATURE {
29482948
}
29492949
}
29502950
#[repr(C)]
2951-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2951+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
29522952
pub struct LINEATTRS {
29532953
pub fl: u32,
29542954
pub iJoin: u32,
@@ -2959,9 +2959,9 @@ pub struct LINEATTRS {
29592959
pub pstyle: *mut FLOAT_LONG,
29602960
pub elStyleState: FLOAT_LONG,
29612961
}
2962-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2962+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
29632963
impl Copy for LINEATTRS {}
2964-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2964+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
29652965
impl Clone for LINEATTRS {
29662966
fn clone(&self) -> Self {
29672967
*self
@@ -3419,14 +3419,14 @@ impl Clone for PHYSICAL_MONITOR {
34193419
}
34203420
}
34213421
#[repr(C)]
3422-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3422+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
34233423
pub struct POINTE {
34243424
pub x: f32,
34253425
pub y: f32,
34263426
}
3427-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3427+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
34283428
impl Copy for POINTE {}
3429-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3429+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
34303430
impl Clone for POINTE {
34313431
fn clone(&self) -> Self {
34323432
*self
@@ -4143,7 +4143,7 @@ impl Clone for WNDOBJ {
41434143
}
41444144
}
41454145
#[repr(C)]
4146-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
4146+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
41474147
pub struct XFORML {
41484148
pub eM11: f32,
41494149
pub eM12: f32,
@@ -4152,9 +4152,9 @@ pub struct XFORML {
41524152
pub eDx: f32,
41534153
pub eDy: f32,
41544154
}
4155-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
4155+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
41564156
impl Copy for XFORML {}
4157-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
4157+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
41584158
impl Clone for XFORML {
41594159
fn clone(&self) -> Self {
41604160
*self

crates/libs/sys/src/Windows/Win32/Graphics/Printing/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4955,13 +4955,13 @@ impl Clone for SPLCLIENT_INFO_2_W2K {
49554955
}
49564956
}
49574957
#[repr(C)]
4958-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
4958+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
49594959
pub struct SPLCLIENT_INFO_2_WINXP {
49604960
pub hSplPrinter: u64,
49614961
}
4962-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
4962+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
49634963
impl Copy for SPLCLIENT_INFO_2_WINXP {}
4964-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
4964+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
49654965
impl Clone for SPLCLIENT_INFO_2_WINXP {
49664966
fn clone(&self) -> Self {
49674967
*self

crates/libs/sys/src/Windows/Win32/Media/Audio/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,7 +1237,7 @@ impl Clone for ACMFORMATTAGDETAILSW {
12371237
}
12381238
}
12391239
#[repr(C, packed(1))]
1240-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1240+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
12411241
pub struct ACMSTREAMHEADER {
12421242
pub cbStruct: u32,
12431243
pub fdwStatus: u32,
@@ -1252,9 +1252,9 @@ pub struct ACMSTREAMHEADER {
12521252
pub dwDstUser: usize,
12531253
pub dwReservedDriver: [u32; 15],
12541254
}
1255-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1255+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
12561256
impl Copy for ACMSTREAMHEADER {}
1257-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1257+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
12581258
impl Clone for ACMSTREAMHEADER {
12591259
fn clone(&self) -> Self {
12601260
*self

crates/libs/sys/src/Windows/Win32/Media/KernelStreaming/mod.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3725,14 +3725,14 @@ impl Clone for KSNODEPROPERTY {
37253725
}
37263726
}
37273727
#[repr(C)]
3728-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3728+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
37293729
pub struct KSNODEPROPERTY_AUDIO_3D_LISTENER {
37303730
pub NodeProperty: KSNODEPROPERTY,
37313731
pub ListenerId: *mut core::ffi::c_void,
37323732
}
3733-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3733+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
37343734
impl Copy for KSNODEPROPERTY_AUDIO_3D_LISTENER {}
3735-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3735+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
37363736
impl Clone for KSNODEPROPERTY_AUDIO_3D_LISTENER {
37373737
fn clone(&self) -> Self {
37383738
*self
@@ -3779,15 +3779,15 @@ impl Clone for KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {
37793779
}
37803780
}
37813781
#[repr(C)]
3782-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3782+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
37833783
pub struct KSNODEPROPERTY_AUDIO_PROPERTY {
37843784
pub NodeProperty: KSNODEPROPERTY,
37853785
pub AppContext: *mut core::ffi::c_void,
37863786
pub Length: u32,
37873787
}
3788-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3788+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
37893789
impl Copy for KSNODEPROPERTY_AUDIO_PROPERTY {}
3790-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
3790+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
37913791
impl Clone for KSNODEPROPERTY_AUDIO_PROPERTY {
37923792
fn clone(&self) -> Self {
37933793
*self
@@ -5578,7 +5578,7 @@ impl Clone for KSSTREAMALLOCATOR_STATUS_EX {
55785578
}
55795579
}
55805580
#[repr(C)]
5581-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
5581+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
55825582
pub struct KSSTREAM_HEADER {
55835583
pub Size: u32,
55845584
pub TypeSpecificFlags: u32,
@@ -5590,9 +5590,9 @@ pub struct KSSTREAM_HEADER {
55905590
pub OptionsFlags: u32,
55915591
pub Reserved: u32,
55925592
}
5593-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
5593+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
55945594
impl Copy for KSSTREAM_HEADER {}
5595-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
5595+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
55965596
impl Clone for KSSTREAM_HEADER {
55975597
fn clone(&self) -> Self {
55985598
*self

crates/libs/sys/src/Windows/Win32/NetworkManagement/Dns/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2006,16 +2006,16 @@ impl Clone for IP4_ARRAY {
20062006
}
20072007
}
20082008
#[repr(C)]
2009-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2009+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
20102010
pub union IP6_ADDRESS {
20112011
pub IP6Qword: [u64; 2],
20122012
pub IP6Dword: [u32; 4],
20132013
pub IP6Word: [u16; 8],
20142014
pub IP6Byte: [u8; 16],
20152015
}
2016-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2016+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
20172017
impl Copy for IP6_ADDRESS {}
2018-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
2018+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
20192019
impl Clone for IP6_ADDRESS {
20202020
fn clone(&self) -> Self {
20212021
*self

crates/libs/sys/src/Windows/Win32/NetworkManagement/IpHelper/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1118,7 +1118,7 @@ impl Clone for ICMP_ECHO_REPLY {
11181118
}
11191119
}
11201120
#[repr(C)]
1121-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1121+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
11221122
pub struct ICMP_ECHO_REPLY32 {
11231123
pub Address: u32,
11241124
pub Status: u32,
@@ -1128,9 +1128,9 @@ pub struct ICMP_ECHO_REPLY32 {
11281128
pub Data: *mut core::ffi::c_void,
11291129
pub Options: IP_OPTION_INFORMATION32,
11301130
}
1131-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1131+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
11321132
impl Copy for ICMP_ECHO_REPLY32 {}
1133-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1133+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
11341134
impl Clone for ICMP_ECHO_REPLY32 {
11351135
fn clone(&self) -> Self {
11361136
*self
@@ -1877,17 +1877,17 @@ impl Clone for IP_OPTION_INFORMATION {
18771877
}
18781878
}
18791879
#[repr(C)]
1880-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1880+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
18811881
pub struct IP_OPTION_INFORMATION32 {
18821882
pub Ttl: u8,
18831883
pub Tos: u8,
18841884
pub Flags: u8,
18851885
pub OptionsSize: u8,
18861886
pub OptionsData: *mut u8,
18871887
}
1888-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1888+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
18891889
impl Copy for IP_OPTION_INFORMATION32 {}
1890-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
1890+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
18911891
impl Clone for IP_OPTION_INFORMATION32 {
18921892
fn clone(&self) -> Self {
18931893
*self

crates/libs/sys/src/Windows/Win32/NetworkManagement/NetBios/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ impl Clone for NAME_BUFFER {
182182
}
183183
}
184184
#[repr(C)]
185-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
185+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
186186
pub struct NCB {
187187
pub ncb_command: u8,
188188
pub ncb_retcode: u8,
@@ -200,9 +200,9 @@ pub struct NCB {
200200
pub ncb_reserve: [u8; 18],
201201
pub ncb_event: super::super::Foundation::HANDLE,
202202
}
203-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
203+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
204204
impl Copy for NCB {}
205-
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
205+
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
206206
impl Clone for NCB {
207207
fn clone(&self) -> Self {
208208
*self

0 commit comments

Comments
 (0)