Expose more CPU features on WSL1 on arm64
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 33.7k
- Forks
- 1.8k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 116
Description
On some Arm hardware with ARMv8.4-A:
$ lscpu
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
Vendor ID: ARM
Model: 0
Model name: Cortex-A57
Stepping: r1p0
CPU max MHz: 1000.0000
BogoMIPS: 1000
Hypervisor vendor: Windows Subsystem for Linux
Virtualization type: container
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32
on WSL1. This does not represent the native feature set of the processor and reports it as a Cortex-A57. A more real feature for that processor is:
$ lscpu
Architecture: aarch64
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: ARM
Model: 0
Stepping: r0p0
BogoMIPS: 48.00
NUMA node0 CPU(s): 0,1
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs
with a Linux installation the same hardware.
This notably prevents apps from even using Armv8.1-A atomics support on WSL1 for that hardware.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are identified. Start by reproducing the WSL1 arm64 lscpu output and comparing it with the native Linux output; done means WSL1 exposes the processor's supported model and CPU feature flags, including Armv8.1-A atomics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100