-
Notifications
You must be signed in to change notification settings - Fork 373
Implement missing ISA feature flags for ARM64/Windows #333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
| const bool dotprod = IsProcessorFeaturePresent(PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE) != 0; | ||
| cpuinfo_isa.dot = dotprod; | ||
|
|
||
| SYSTEM_INFO system_info; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This switch statement did nothing so I removed it
|
generally looks good to me. I'm able to compile for windows arm, but theres no easy way to test it without buying a qualcomm laptop? I have a samsung s25 with basically the same cpu as windows qualcomm. isa_info: and it has linux style cpuinfo The vendor/SoC name is really qualcomm and should probably report The device It would be good to have feature parity with android here. A nearly exact same SOC will appear in both Windows and Android devices. |
|
You can test it on the I've tested this on 2 different Windows on ARM64 laptops, one is the Qualcomm Snapdragon X Elite and it's identifying the correct features. That particular SoC doesn't have SVE or SME. I've discussed this patch with some engineers at ARM (I work for Microsoft btw) to verify the particular flags. The |
Most of the ARM64 feature flags aren't being enumerated in Windows.
I haven't found a solution for some advanced SME flags, although no commercial SoC exists for these and Windows doesn't support them yet anyway.
Also, SVE length is not available outside of the kernel register, so I've set a conservative value of the minimum supported (128 bits).
I tested this on two different ARM64 chipsets and compared it with the reported ISA features in Linux.
I've copied the Windows SDK values to the header incase the person compiling doesn't have the latest Windows SDK. Some of these values aren't documented.
The latest list of processor features is: