jaypipes / ghw

Go HardWare discovery/inspection library
Apache License 2.0
1.62k stars 174 forks source link

init darwin cpu support #356

Closed pixelsoccupied closed 4 months ago

pixelsoccupied commented 7 months ago

init darwin cpu support! Dev/ran on M1 Max and manually tested the sysctl commands on intel

Thanks!

leaanthony commented 4 months ago

Bump 😄

pixelsoccupied commented 4 months ago

@jaypipes ready for a final review. This how it looks like if I run the exact code from readme's example

cpu (2 physical packages, 10 cores, 10 hardware threads)
 physical package #0 (8 cores, 0 hardware threads)
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  capabilities: [FEAT_PMULL FEAT_LSE FEAT_SHA1 FEAT_CSV2 FEAT_CSV3 FEAT_FHM
                 FEAT_FlagM2 FEAT_SHA256 FEAT_FP16 FEAT_SHA512 FEAT_PAuth FEAT_DIT
                 FEAT_SSBS FEAT_DPB2 FEAT_FlagM FEAT_RDM FEAT_FCMA FEAT_AES
                 FP_SyncExceptions FEAT_LRCPC FEAT_DPB FEAT_SB FEAT_SHA3 armv8_crc32
                 AdvSIMD_HPFPCvt AdvSIMD floatingpoint]
 physical package #0 (2 cores, 0 hardware threads)
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  <nil>
  capabilities: [armv8_crc32 AdvSIMD_HPFPCvt FEAT_DotProd FEAT_JSCVT FEAT_FRINTTS FEAT_LRCPC2
                 FEAT_LSE2 FEAT_PMULL FEAT_SHA1 FEAT_LSE FEAT_CSV2 FEAT_CSV3
                 FEAT_FHM FEAT_FlagM2 FEAT_SHA256 FEAT_FP16 FEAT_SHA512 FEAT_PAuth
                 FEAT_DIT FEAT_SSBS FEAT_DPB2 FEAT_FlagM FEAT_RDM FEAT_FCMA
                 FEAT_AES AdvSIMD floatingpoint]

And of course some nice info drill down a bit more (a debug screenshot from previous comment)