Update module github.com/crc-org/crc/v2 to v2.34.1

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This commit is contained in:
renovate[bot]
2024-04-04 17:56:49 +00:00
committed by GitHub
parent c5426247d7
commit e8f26699df
7 changed files with 401 additions and 352 deletions

8
go.mod
View File

@ -28,7 +28,7 @@ require (
github.com/containers/buildah v1.35.1-0.20240318192459-e64e6cc09dfd github.com/containers/buildah v1.35.1-0.20240318192459-e64e6cc09dfd
github.com/containers/common v0.58.1-0.20240403123718-735c922b53c4 github.com/containers/common v0.58.1-0.20240403123718-735c922b53c4
github.com/containers/conmon v2.0.20+incompatible github.com/containers/conmon v2.0.20+incompatible
github.com/containers/gvisor-tap-vsock v0.7.3 github.com/containers/gvisor-tap-vsock v0.7.4-0.20240320091526-a0238e52b61f
github.com/containers/image/v5 v5.30.0 github.com/containers/image/v5 v5.30.0
github.com/containers/libhvee v0.7.1 github.com/containers/libhvee v0.7.1
github.com/containers/ocicrypt v1.1.10 github.com/containers/ocicrypt v1.1.10
@ -37,7 +37,7 @@ require (
github.com/containers/winquit v1.1.0 github.com/containers/winquit v1.1.0
github.com/coreos/go-systemd/v22 v22.5.1-0.20231103132048-7d375ecc2b09 github.com/coreos/go-systemd/v22 v22.5.1-0.20231103132048-7d375ecc2b09
github.com/coreos/stream-metadata-go v0.4.4 github.com/coreos/stream-metadata-go v0.4.4
github.com/crc-org/crc/v2 v2.32.0 github.com/crc-org/crc/v2 v2.34.1
github.com/crc-org/vfkit v0.5.1 github.com/crc-org/vfkit v0.5.1
github.com/cyphar/filepath-securejoin v0.2.4 github.com/cyphar/filepath-securejoin v0.2.4
github.com/digitalocean/go-qemu v0.0.0-20230711162256-2e3d0186973e github.com/digitalocean/go-qemu v0.0.0-20230711162256-2e3d0186973e
@ -165,7 +165,7 @@ require (
github.com/jinzhu/copier v0.4.0 // indirect github.com/jinzhu/copier v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect github.com/josharian/intern v1.0.0 // indirect
github.com/klauspost/compress v1.17.7 // indirect github.com/klauspost/compress v1.17.7 // indirect
github.com/klauspost/cpuid/v2 v2.2.6 // indirect github.com/klauspost/cpuid/v2 v2.2.7 // indirect
github.com/kr/fs v0.1.0 // indirect github.com/kr/fs v0.1.0 // indirect
github.com/leodido/go-urn v1.2.4 // indirect github.com/leodido/go-urn v1.2.4 // indirect
github.com/letsencrypt/boulder v0.0.0-20230907030200-6d76a0f91e1e // indirect github.com/letsencrypt/boulder v0.0.0-20230907030200-6d76a0f91e1e // indirect
@ -229,7 +229,7 @@ require (
golang.org/x/arch v0.7.0 // indirect golang.org/x/arch v0.7.0 // indirect
golang.org/x/mod v0.16.0 // indirect golang.org/x/mod v0.16.0 // indirect
golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect
golang.org/x/time v0.3.0 // indirect golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.19.0 // indirect golang.org/x/tools v0.19.0 // indirect
google.golang.org/appengine v1.6.8 // indirect google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect

16
go.sum
View File

@ -80,8 +80,8 @@ github.com/containers/common v0.58.1-0.20240403123718-735c922b53c4 h1:lj/tku4jvM
github.com/containers/common v0.58.1-0.20240403123718-735c922b53c4/go.mod h1:10Y0+fVkDetxuizCMziHDUBbCUR87tgz82oHGCnhi4g= github.com/containers/common v0.58.1-0.20240403123718-735c922b53c4/go.mod h1:10Y0+fVkDetxuizCMziHDUBbCUR87tgz82oHGCnhi4g=
github.com/containers/conmon v2.0.20+incompatible h1:YbCVSFSCqFjjVwHTPINGdMX1F6JXHGTUje2ZYobNrkg= github.com/containers/conmon v2.0.20+incompatible h1:YbCVSFSCqFjjVwHTPINGdMX1F6JXHGTUje2ZYobNrkg=
github.com/containers/conmon v2.0.20+incompatible/go.mod h1:hgwZ2mtuDrppv78a/cOBNiCm6O0UMWGx1mu7P00nu5I= github.com/containers/conmon v2.0.20+incompatible/go.mod h1:hgwZ2mtuDrppv78a/cOBNiCm6O0UMWGx1mu7P00nu5I=
github.com/containers/gvisor-tap-vsock v0.7.3 h1:yORnf15sP+sLFhxLNLgmB5/lOhldn9dRMHx/tmYtSOQ= github.com/containers/gvisor-tap-vsock v0.7.4-0.20240320091526-a0238e52b61f h1:NOq4UwN3M4rvN44CPznCqQlOvim7Ja1RZ082ORAJjVQ=
github.com/containers/gvisor-tap-vsock v0.7.3/go.mod h1:NI1fLMtKXQZoDrrOeqryGz7x7j/XSFWRmQILva7Fu9c= github.com/containers/gvisor-tap-vsock v0.7.4-0.20240320091526-a0238e52b61f/go.mod h1:hZrvqbYhTIUQCREov+M8u7sMhzGbB6umiDuVpnwtJcI=
github.com/containers/image/v5 v5.30.0 h1:CmHeSwI6W2kTRWnUsxATDFY5TEX4b58gPkaQcEyrLIA= github.com/containers/image/v5 v5.30.0 h1:CmHeSwI6W2kTRWnUsxATDFY5TEX4b58gPkaQcEyrLIA=
github.com/containers/image/v5 v5.30.0/go.mod h1:gSD8MVOyqBspc0ynLsuiMR9qmt8UQ4jpVImjmK0uXfk= github.com/containers/image/v5 v5.30.0/go.mod h1:gSD8MVOyqBspc0ynLsuiMR9qmt8UQ4jpVImjmK0uXfk=
github.com/containers/libhvee v0.7.1 h1:dWGF5GLq9DZvXo3P8aDp3cNieL5eCaSell4UmeA/jY4= github.com/containers/libhvee v0.7.1 h1:dWGF5GLq9DZvXo3P8aDp3cNieL5eCaSell4UmeA/jY4=
@ -107,8 +107,8 @@ github.com/coreos/go-systemd/v22 v22.5.1-0.20231103132048-7d375ecc2b09/go.mod h1
github.com/coreos/stream-metadata-go v0.4.4 h1:PM/6iNhofKGydsatiY1zdnMMHBT34skb5P7nfEFR4GU= github.com/coreos/stream-metadata-go v0.4.4 h1:PM/6iNhofKGydsatiY1zdnMMHBT34skb5P7nfEFR4GU=
github.com/coreos/stream-metadata-go v0.4.4/go.mod h1:fMObQqQm8Ku91G04btKzEH3AsdP1mrAb986z9aaK0tE= github.com/coreos/stream-metadata-go v0.4.4/go.mod h1:fMObQqQm8Ku91G04btKzEH3AsdP1mrAb986z9aaK0tE=
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/crc-org/crc/v2 v2.32.0 h1:I/62j5KrID8ua1vgAUPOVTtzhcsCsHWdqqiIRHySLfQ= github.com/crc-org/crc/v2 v2.34.1 h1:IaP8X2PnngytRkct7wHRbaTeHSAnagvZ2pzC4t9Mq/c=
github.com/crc-org/crc/v2 v2.32.0/go.mod h1:Q2XJM3KkR/Gu+tBjeN77pk5P8DWYKdbxCSf+9l9MYcs= github.com/crc-org/crc/v2 v2.34.1/go.mod h1:98IB/lHPpUXqaq/fyhFbOf9Pv2IxPJC3Rj9WPNFmhg8=
github.com/crc-org/vfkit v0.5.1 h1:r1zNf1g1bLbgu5BgIQodirvYaIGWJQ91eS/PIgNO6lo= github.com/crc-org/vfkit v0.5.1 h1:r1zNf1g1bLbgu5BgIQodirvYaIGWJQ91eS/PIgNO6lo=
github.com/crc-org/vfkit v0.5.1/go.mod h1:Hqi20zQcqXMk6JqvByvOidHYv+KzPx3G+cjkdGSWv60= github.com/crc-org/vfkit v0.5.1/go.mod h1:Hqi20zQcqXMk6JqvByvOidHYv+KzPx3G+cjkdGSWv60=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
@ -352,8 +352,8 @@ github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e
github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg=
github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM=
github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU=
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
@ -759,8 +759,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=

View File

@ -67,195 +67,200 @@ const (
// Keep index -1 as unknown // Keep index -1 as unknown
UNKNOWN = -1 UNKNOWN = -1
// Add features // x86 features
ADX FeatureID = iota // Intel ADX (Multi-Precision Add-Carry Instruction Extensions) ADX FeatureID = iota // Intel ADX (Multi-Precision Add-Carry Instruction Extensions)
AESNI // Advanced Encryption Standard New Instructions AESNI // Advanced Encryption Standard New Instructions
AMD3DNOW // AMD 3DNOW AMD3DNOW // AMD 3DNOW
AMD3DNOWEXT // AMD 3DNowExt AMD3DNOWEXT // AMD 3DNowExt
AMXBF16 // Tile computational operations on BFLOAT16 numbers AMXBF16 // Tile computational operations on BFLOAT16 numbers
AMXFP16 // Tile computational operations on FP16 numbers AMXFP16 // Tile computational operations on FP16 numbers
AMXINT8 // Tile computational operations on 8-bit integers AMXINT8 // Tile computational operations on 8-bit integers
AMXTILE // Tile architecture AMXTILE // Tile architecture
APX_F // Intel APX APX_F // Intel APX
AVX // AVX functions AVX // AVX functions
AVX10 // If set the Intel AVX10 Converged Vector ISA is supported AVX10 // If set the Intel AVX10 Converged Vector ISA is supported
AVX10_128 // If set indicates that AVX10 128-bit vector support is present AVX10_128 // If set indicates that AVX10 128-bit vector support is present
AVX10_256 // If set indicates that AVX10 256-bit vector support is present AVX10_256 // If set indicates that AVX10 256-bit vector support is present
AVX10_512 // If set indicates that AVX10 512-bit vector support is present AVX10_512 // If set indicates that AVX10 512-bit vector support is present
AVX2 // AVX2 functions AVX2 // AVX2 functions
AVX512BF16 // AVX-512 BFLOAT16 Instructions AVX512BF16 // AVX-512 BFLOAT16 Instructions
AVX512BITALG // AVX-512 Bit Algorithms AVX512BITALG // AVX-512 Bit Algorithms
AVX512BW // AVX-512 Byte and Word Instructions AVX512BW // AVX-512 Byte and Word Instructions
AVX512CD // AVX-512 Conflict Detection Instructions AVX512CD // AVX-512 Conflict Detection Instructions
AVX512DQ // AVX-512 Doubleword and Quadword Instructions AVX512DQ // AVX-512 Doubleword and Quadword Instructions
AVX512ER // AVX-512 Exponential and Reciprocal Instructions AVX512ER // AVX-512 Exponential and Reciprocal Instructions
AVX512F // AVX-512 Foundation AVX512F // AVX-512 Foundation
AVX512FP16 // AVX-512 FP16 Instructions AVX512FP16 // AVX-512 FP16 Instructions
AVX512IFMA // AVX-512 Integer Fused Multiply-Add Instructions AVX512IFMA // AVX-512 Integer Fused Multiply-Add Instructions
AVX512PF // AVX-512 Prefetch Instructions AVX512PF // AVX-512 Prefetch Instructions
AVX512VBMI // AVX-512 Vector Bit Manipulation Instructions AVX512VBMI // AVX-512 Vector Bit Manipulation Instructions
AVX512VBMI2 // AVX-512 Vector Bit Manipulation Instructions, Version 2 AVX512VBMI2 // AVX-512 Vector Bit Manipulation Instructions, Version 2
AVX512VL // AVX-512 Vector Length Extensions AVX512VL // AVX-512 Vector Length Extensions
AVX512VNNI // AVX-512 Vector Neural Network Instructions AVX512VNNI // AVX-512 Vector Neural Network Instructions
AVX512VP2INTERSECT // AVX-512 Intersect for D/Q AVX512VP2INTERSECT // AVX-512 Intersect for D/Q
AVX512VPOPCNTDQ // AVX-512 Vector Population Count Doubleword and Quadword AVX512VPOPCNTDQ // AVX-512 Vector Population Count Doubleword and Quadword
AVXIFMA // AVX-IFMA instructions AVXIFMA // AVX-IFMA instructions
AVXNECONVERT // AVX-NE-CONVERT instructions AVXNECONVERT // AVX-NE-CONVERT instructions
AVXSLOW // Indicates the CPU performs 2 128 bit operations instead of one AVXSLOW // Indicates the CPU performs 2 128 bit operations instead of one
AVXVNNI // AVX (VEX encoded) VNNI neural network instructions AVXVNNI // AVX (VEX encoded) VNNI neural network instructions
AVXVNNIINT8 // AVX-VNNI-INT8 instructions AVXVNNIINT8 // AVX-VNNI-INT8 instructions
BHI_CTRL // Branch History Injection and Intra-mode Branch Target Injection / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598 BHI_CTRL // Branch History Injection and Intra-mode Branch Target Injection / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598
BMI1 // Bit Manipulation Instruction Set 1 BMI1 // Bit Manipulation Instruction Set 1
BMI2 // Bit Manipulation Instruction Set 2 BMI2 // Bit Manipulation Instruction Set 2
CETIBT // Intel CET Indirect Branch Tracking CETIBT // Intel CET Indirect Branch Tracking
CETSS // Intel CET Shadow Stack CETSS // Intel CET Shadow Stack
CLDEMOTE // Cache Line Demote CLDEMOTE // Cache Line Demote
CLMUL // Carry-less Multiplication CLMUL // Carry-less Multiplication
CLZERO // CLZERO instruction supported CLZERO // CLZERO instruction supported
CMOV // i686 CMOV CMOV // i686 CMOV
CMPCCXADD // CMPCCXADD instructions CMPCCXADD // CMPCCXADD instructions
CMPSB_SCADBS_SHORT // Fast short CMPSB and SCASB CMPSB_SCADBS_SHORT // Fast short CMPSB and SCASB
CMPXCHG8 // CMPXCHG8 instruction CMPXCHG8 // CMPXCHG8 instruction
CPBOOST // Core Performance Boost CPBOOST // Core Performance Boost
CPPC // AMD: Collaborative Processor Performance Control CPPC // AMD: Collaborative Processor Performance Control
CX16 // CMPXCHG16B Instruction CX16 // CMPXCHG16B Instruction
EFER_LMSLE_UNS // AMD: =Core::X86::Msr::EFER[LMSLE] is not supported, and MBZ EFER_LMSLE_UNS // AMD: =Core::X86::Msr::EFER[LMSLE] is not supported, and MBZ
ENQCMD // Enqueue Command ENQCMD // Enqueue Command
ERMS // Enhanced REP MOVSB/STOSB ERMS // Enhanced REP MOVSB/STOSB
F16C // Half-precision floating-point conversion F16C // Half-precision floating-point conversion
FLUSH_L1D // Flush L1D cache FLUSH_L1D // Flush L1D cache
FMA3 // Intel FMA 3. Does not imply AVX. FMA3 // Intel FMA 3. Does not imply AVX.
FMA4 // Bulldozer FMA4 functions FMA4 // Bulldozer FMA4 functions
FP128 // AMD: When set, the internal FP/SIMD execution datapath is no more than 128-bits wide FP128 // AMD: When set, the internal FP/SIMD execution datapath is no more than 128-bits wide
FP256 // AMD: When set, the internal FP/SIMD execution datapath is no more than 256-bits wide FP256 // AMD: When set, the internal FP/SIMD execution datapath is no more than 256-bits wide
FSRM // Fast Short Rep Mov FSRM // Fast Short Rep Mov
FXSR // FXSAVE, FXRESTOR instructions, CR4 bit 9 FXSR // FXSAVE, FXRESTOR instructions, CR4 bit 9
FXSROPT // FXSAVE/FXRSTOR optimizations FXSROPT // FXSAVE/FXRSTOR optimizations
GFNI // Galois Field New Instructions. May require other features (AVX, AVX512VL,AVX512F) based on usage. GFNI // Galois Field New Instructions. May require other features (AVX, AVX512VL,AVX512F) based on usage.
HLE // Hardware Lock Elision HLE // Hardware Lock Elision
HRESET // If set CPU supports history reset and the IA32_HRESET_ENABLE MSR HRESET // If set CPU supports history reset and the IA32_HRESET_ENABLE MSR
HTT // Hyperthreading (enabled) HTT // Hyperthreading (enabled)
HWA // Hardware assert supported. Indicates support for MSRC001_10 HWA // Hardware assert supported. Indicates support for MSRC001_10
HYBRID_CPU // This part has CPUs of more than one type. HYBRID_CPU // This part has CPUs of more than one type.
HYPERVISOR // This bit has been reserved by Intel & AMD for use by hypervisors HYPERVISOR // This bit has been reserved by Intel & AMD for use by hypervisors
IA32_ARCH_CAP // IA32_ARCH_CAPABILITIES MSR (Intel) IA32_ARCH_CAP // IA32_ARCH_CAPABILITIES MSR (Intel)
IA32_CORE_CAP // IA32_CORE_CAPABILITIES MSR IA32_CORE_CAP // IA32_CORE_CAPABILITIES MSR
IBPB // Indirect Branch Restricted Speculation (IBRS) and Indirect Branch Predictor Barrier (IBPB) IBPB // Indirect Branch Restricted Speculation (IBRS) and Indirect Branch Predictor Barrier (IBPB)
IBRS // AMD: Indirect Branch Restricted Speculation IBPB_BRTYPE // Indicates that MSR 49h (PRED_CMD) bit 0 (IBPB) flushes all branch type predictions from the CPU branch predictor
IBRS_PREFERRED // AMD: IBRS is preferred over software solution IBRS // AMD: Indirect Branch Restricted Speculation
IBRS_PROVIDES_SMP // AMD: IBRS provides Same Mode Protection IBRS_PREFERRED // AMD: IBRS is preferred over software solution
IBS // Instruction Based Sampling (AMD) IBRS_PROVIDES_SMP // AMD: IBRS provides Same Mode Protection
IBSBRNTRGT // Instruction Based Sampling Feature (AMD) IBS // Instruction Based Sampling (AMD)
IBSFETCHSAM // Instruction Based Sampling Feature (AMD) IBSBRNTRGT // Instruction Based Sampling Feature (AMD)
IBSFFV // Instruction Based Sampling Feature (AMD) IBSFETCHSAM // Instruction Based Sampling Feature (AMD)
IBSOPCNT // Instruction Based Sampling Feature (AMD) IBSFFV // Instruction Based Sampling Feature (AMD)
IBSOPCNTEXT // Instruction Based Sampling Feature (AMD) IBSOPCNT // Instruction Based Sampling Feature (AMD)
IBSOPSAM // Instruction Based Sampling Feature (AMD) IBSOPCNTEXT // Instruction Based Sampling Feature (AMD)
IBSRDWROPCNT // Instruction Based Sampling Feature (AMD) IBSOPSAM // Instruction Based Sampling Feature (AMD)
IBSRIPINVALIDCHK // Instruction Based Sampling Feature (AMD) IBSRDWROPCNT // Instruction Based Sampling Feature (AMD)
IBS_FETCH_CTLX // AMD: IBS fetch control extended MSR supported IBSRIPINVALIDCHK // Instruction Based Sampling Feature (AMD)
IBS_OPDATA4 // AMD: IBS op data 4 MSR supported IBS_FETCH_CTLX // AMD: IBS fetch control extended MSR supported
IBS_OPFUSE // AMD: Indicates support for IbsOpFuse IBS_OPDATA4 // AMD: IBS op data 4 MSR supported
IBS_PREVENTHOST // Disallowing IBS use by the host supported IBS_OPFUSE // AMD: Indicates support for IbsOpFuse
IBS_ZEN4 // AMD: Fetch and Op IBS support IBS extensions added with Zen4 IBS_PREVENTHOST // Disallowing IBS use by the host supported
IDPRED_CTRL // IPRED_DIS IBS_ZEN4 // AMD: Fetch and Op IBS support IBS extensions added with Zen4
INT_WBINVD // WBINVD/WBNOINVD are interruptible. IDPRED_CTRL // IPRED_DIS
INVLPGB // NVLPGB and TLBSYNC instruction supported INT_WBINVD // WBINVD/WBNOINVD are interruptible.
KEYLOCKER // Key locker INVLPGB // NVLPGB and TLBSYNC instruction supported
KEYLOCKERW // Key locker wide KEYLOCKER // Key locker
LAHF // LAHF/SAHF in long mode KEYLOCKERW // Key locker wide
LAM // If set, CPU supports Linear Address Masking LAHF // LAHF/SAHF in long mode
LBRVIRT // LBR virtualization LAM // If set, CPU supports Linear Address Masking
LZCNT // LZCNT instruction LBRVIRT // LBR virtualization
MCAOVERFLOW // MCA overflow recovery support. LZCNT // LZCNT instruction
MCDT_NO // Processor do not exhibit MXCSR Configuration Dependent Timing behavior and do not need to mitigate it. MCAOVERFLOW // MCA overflow recovery support.
MCOMMIT // MCOMMIT instruction supported MCDT_NO // Processor do not exhibit MXCSR Configuration Dependent Timing behavior and do not need to mitigate it.
MD_CLEAR // VERW clears CPU buffers MCOMMIT // MCOMMIT instruction supported
MMX // standard MMX MD_CLEAR // VERW clears CPU buffers
MMXEXT // SSE integer functions or AMD MMX ext MMX // standard MMX
MOVBE // MOVBE instruction (big-endian) MMXEXT // SSE integer functions or AMD MMX ext
MOVDIR64B // Move 64 Bytes as Direct Store MOVBE // MOVBE instruction (big-endian)
MOVDIRI // Move Doubleword as Direct Store MOVDIR64B // Move 64 Bytes as Direct Store
MOVSB_ZL // Fast Zero-Length MOVSB MOVDIRI // Move Doubleword as Direct Store
MOVU // AMD: MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD MOVSB_ZL // Fast Zero-Length MOVSB
MPX // Intel MPX (Memory Protection Extensions) MOVU // AMD: MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD
MSRIRC // Instruction Retired Counter MSR available MPX // Intel MPX (Memory Protection Extensions)
MSRLIST // Read/Write List of Model Specific Registers MSRIRC // Instruction Retired Counter MSR available
MSR_PAGEFLUSH // Page Flush MSR available MSRLIST // Read/Write List of Model Specific Registers
NRIPS // Indicates support for NRIP save on VMEXIT MSR_PAGEFLUSH // Page Flush MSR available
NX // NX (No-Execute) bit NRIPS // Indicates support for NRIP save on VMEXIT
OSXSAVE // XSAVE enabled by OS NX // NX (No-Execute) bit
PCONFIG // PCONFIG for Intel Multi-Key Total Memory Encryption OSXSAVE // XSAVE enabled by OS
POPCNT // POPCNT instruction PCONFIG // PCONFIG for Intel Multi-Key Total Memory Encryption
PPIN // AMD: Protected Processor Inventory Number support. Indicates that Protected Processor Inventory Number (PPIN) capability can be enabled POPCNT // POPCNT instruction
PREFETCHI // PREFETCHIT0/1 instructions PPIN // AMD: Protected Processor Inventory Number support. Indicates that Protected Processor Inventory Number (PPIN) capability can be enabled
PSFD // Predictive Store Forward Disable PREFETCHI // PREFETCHIT0/1 instructions
RDPRU // RDPRU instruction supported PSFD // Predictive Store Forward Disable
RDRAND // RDRAND instruction is available RDPRU // RDPRU instruction supported
RDSEED // RDSEED instruction is available RDRAND // RDRAND instruction is available
RDTSCP // RDTSCP Instruction RDSEED // RDSEED instruction is available
RRSBA_CTRL // Restricted RSB Alternate RDTSCP // RDTSCP Instruction
RTM // Restricted Transactional Memory RRSBA_CTRL // Restricted RSB Alternate
RTM_ALWAYS_ABORT // Indicates that the loaded microcode is forcing RTM abort. RTM // Restricted Transactional Memory
SERIALIZE // Serialize Instruction Execution RTM_ALWAYS_ABORT // Indicates that the loaded microcode is forcing RTM abort.
SEV // AMD Secure Encrypted Virtualization supported SBPB // Indicates support for the Selective Branch Predictor Barrier
SEV_64BIT // AMD SEV guest execution only allowed from a 64-bit host SERIALIZE // Serialize Instruction Execution
SEV_ALTERNATIVE // AMD SEV Alternate Injection supported SEV // AMD Secure Encrypted Virtualization supported
SEV_DEBUGSWAP // Full debug state swap supported for SEV-ES guests SEV_64BIT // AMD SEV guest execution only allowed from a 64-bit host
SEV_ES // AMD SEV Encrypted State supported SEV_ALTERNATIVE // AMD SEV Alternate Injection supported
SEV_RESTRICTED // AMD SEV Restricted Injection supported SEV_DEBUGSWAP // Full debug state swap supported for SEV-ES guests
SEV_SNP // AMD SEV Secure Nested Paging supported SEV_ES // AMD SEV Encrypted State supported
SGX // Software Guard Extensions SEV_RESTRICTED // AMD SEV Restricted Injection supported
SGXLC // Software Guard Extensions Launch Control SEV_SNP // AMD SEV Secure Nested Paging supported
SHA // Intel SHA Extensions SGX // Software Guard Extensions
SME // AMD Secure Memory Encryption supported SGXLC // Software Guard Extensions Launch Control
SME_COHERENT // AMD Hardware cache coherency across encryption domains enforced SHA // Intel SHA Extensions
SPEC_CTRL_SSBD // Speculative Store Bypass Disable SME // AMD Secure Memory Encryption supported
SRBDS_CTRL // SRBDS mitigation MSR available SME_COHERENT // AMD Hardware cache coherency across encryption domains enforced
SSE // SSE functions SPEC_CTRL_SSBD // Speculative Store Bypass Disable
SSE2 // P4 SSE functions SRBDS_CTRL // SRBDS mitigation MSR available
SSE3 // Prescott SSE3 functions SRSO_MSR_FIX // Indicates that software may use MSR BP_CFG[BpSpecReduce] to mitigate SRSO.
SSE4 // Penryn SSE4.1 functions SRSO_NO // Indicates the CPU is not subject to the SRSO vulnerability
SSE42 // Nehalem SSE4.2 functions SRSO_USER_KERNEL_NO // Indicates the CPU is not subject to the SRSO vulnerability across user/kernel boundaries
SSE4A // AMD Barcelona microarchitecture SSE4a instructions SSE // SSE functions
SSSE3 // Conroe SSSE3 functions SSE2 // P4 SSE functions
STIBP // Single Thread Indirect Branch Predictors SSE3 // Prescott SSE3 functions
STIBP_ALWAYSON // AMD: Single Thread Indirect Branch Prediction Mode has Enhanced Performance and may be left Always On SSE4 // Penryn SSE4.1 functions
STOSB_SHORT // Fast short STOSB SSE42 // Nehalem SSE4.2 functions
SUCCOR // Software uncorrectable error containment and recovery capability. SSE4A // AMD Barcelona microarchitecture SSE4a instructions
SVM // AMD Secure Virtual Machine SSSE3 // Conroe SSSE3 functions
SVMDA // Indicates support for the SVM decode assists. STIBP // Single Thread Indirect Branch Predictors
SVMFBASID // SVM, Indicates that TLB flush events, including CR3 writes and CR4.PGE toggles, flush only the current ASID's TLB entries. Also indicates support for the extended VMCBTLB_Control STIBP_ALWAYSON // AMD: Single Thread Indirect Branch Prediction Mode has Enhanced Performance and may be left Always On
SVML // AMD SVM lock. Indicates support for SVM-Lock. STOSB_SHORT // Fast short STOSB
SVMNP // AMD SVM nested paging SUCCOR // Software uncorrectable error containment and recovery capability.
SVMPF // SVM pause intercept filter. Indicates support for the pause intercept filter SVM // AMD Secure Virtual Machine
SVMPFT // SVM PAUSE filter threshold. Indicates support for the PAUSE filter cycle count threshold SVMDA // Indicates support for the SVM decode assists.
SYSCALL // System-Call Extension (SCE): SYSCALL and SYSRET instructions. SVMFBASID // SVM, Indicates that TLB flush events, including CR3 writes and CR4.PGE toggles, flush only the current ASID's TLB entries. Also indicates support for the extended VMCBTLB_Control
SYSEE // SYSENTER and SYSEXIT instructions SVML // AMD SVM lock. Indicates support for SVM-Lock.
TBM // AMD Trailing Bit Manipulation SVMNP // AMD SVM nested paging
TDX_GUEST // Intel Trust Domain Extensions Guest SVMPF // SVM pause intercept filter. Indicates support for the pause intercept filter
TLB_FLUSH_NESTED // AMD: Flushing includes all the nested translations for guest translations SVMPFT // SVM PAUSE filter threshold. Indicates support for the PAUSE filter cycle count threshold
TME // Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE. SYSCALL // System-Call Extension (SCE): SYSCALL and SYSRET instructions.
TOPEXT // TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX. SYSEE // SYSENTER and SYSEXIT instructions
TSCRATEMSR // MSR based TSC rate control. Indicates support for MSR TSC ratio MSRC000_0104 TBM // AMD Trailing Bit Manipulation
TSXLDTRK // Intel TSX Suspend Load Address Tracking TDX_GUEST // Intel Trust Domain Extensions Guest
VAES // Vector AES. AVX(512) versions requires additional checks. TLB_FLUSH_NESTED // AMD: Flushing includes all the nested translations for guest translations
VMCBCLEAN // VMCB clean bits. Indicates support for VMCB clean bits. TME // Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE.
VMPL // AMD VM Permission Levels supported TOPEXT // TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX.
VMSA_REGPROT // AMD VMSA Register Protection supported TSCRATEMSR // MSR based TSC rate control. Indicates support for MSR TSC ratio MSRC000_0104
VMX // Virtual Machine Extensions TSXLDTRK // Intel TSX Suspend Load Address Tracking
VPCLMULQDQ // Carry-Less Multiplication Quadword. Requires AVX for 3 register versions. VAES // Vector AES. AVX(512) versions requires additional checks.
VTE // AMD Virtual Transparent Encryption supported VMCBCLEAN // VMCB clean bits. Indicates support for VMCB clean bits.
WAITPKG // TPAUSE, UMONITOR, UMWAIT VMPL // AMD VM Permission Levels supported
WBNOINVD // Write Back and Do Not Invalidate Cache VMSA_REGPROT // AMD VMSA Register Protection supported
WRMSRNS // Non-Serializing Write to Model Specific Register VMX // Virtual Machine Extensions
X87 // FPU VPCLMULQDQ // Carry-Less Multiplication Quadword. Requires AVX for 3 register versions.
XGETBV1 // Supports XGETBV with ECX = 1 VTE // AMD Virtual Transparent Encryption supported
XOP // Bulldozer XOP functions WAITPKG // TPAUSE, UMONITOR, UMWAIT
XSAVE // XSAVE, XRESTOR, XSETBV, XGETBV WBNOINVD // Write Back and Do Not Invalidate Cache
XSAVEC // Supports XSAVEC and the compacted form of XRSTOR. WRMSRNS // Non-Serializing Write to Model Specific Register
XSAVEOPT // XSAVEOPT available X87 // FPU
XSAVES // Supports XSAVES/XRSTORS and IA32_XSS XGETBV1 // Supports XGETBV with ECX = 1
XOP // Bulldozer XOP functions
XSAVE // XSAVE, XRESTOR, XSETBV, XGETBV
XSAVEC // Supports XSAVEC and the compacted form of XRSTOR.
XSAVEOPT // XSAVEOPT available
XSAVES // Supports XSAVES/XRSTORS and IA32_XSS
// ARM features: // ARM features:
AESARM // AES instructions AESARM // AES instructions
@ -309,10 +314,11 @@ type CPUInfo struct {
L2 int // L2 Cache (per core or shared). Will be -1 if undetected L2 int // L2 Cache (per core or shared). Will be -1 if undetected
L3 int // L3 Cache (per core, per ccx or shared). Will be -1 if undetected L3 int // L3 Cache (per core, per ccx or shared). Will be -1 if undetected
} }
SGX SGXSupport SGX SGXSupport
AVX10Level uint8 AMDMemEncryption AMDMemEncryptionSupport
maxFunc uint32 AVX10Level uint8
maxExFunc uint32 maxFunc uint32
maxExFunc uint32
} }
var cpuid func(op uint32) (eax, ebx, ecx, edx uint32) var cpuid func(op uint32) (eax, ebx, ecx, edx uint32)
@ -1079,6 +1085,32 @@ func hasSGX(available, lc bool) (rval SGXSupport) {
return return
} }
type AMDMemEncryptionSupport struct {
Available bool
CBitPossition uint32
NumVMPL uint32
PhysAddrReduction uint32
NumEntryptedGuests uint32
MinSevNoEsAsid uint32
}
func hasAMDMemEncryption(available bool) (rval AMDMemEncryptionSupport) {
rval.Available = available
if !available {
return
}
_, b, c, d := cpuidex(0x8000001f, 0)
rval.CBitPossition = b & 0x3f
rval.PhysAddrReduction = (b >> 6) & 0x3F
rval.NumVMPL = (b >> 12) & 0xf
rval.NumEntryptedGuests = c
rval.MinSevNoEsAsid = d
return
}
func support() flagSet { func support() flagSet {
var fs flagSet var fs flagSet
mfi := maxFunctionID() mfi := maxFunctionID()
@ -1418,6 +1450,15 @@ func support() flagSet {
fs.setIf((a>>24)&1 == 1, VMSA_REGPROT) fs.setIf((a>>24)&1 == 1, VMSA_REGPROT)
} }
if maxExtendedFunction() >= 0x80000021 && vend == AMD {
a, _, _, _ := cpuid(0x80000021)
fs.setIf((a>>31)&1 == 1, SRSO_MSR_FIX)
fs.setIf((a>>30)&1 == 1, SRSO_USER_KERNEL_NO)
fs.setIf((a>>29)&1 == 1, SRSO_NO)
fs.setIf((a>>28)&1 == 1, IBPB_BRTYPE)
fs.setIf((a>>27)&1 == 1, SBPB)
}
if mfi >= 0x20 { if mfi >= 0x20 {
// Microsoft has decided to purposefully hide the information // Microsoft has decided to purposefully hide the information
// of the guest TEE when VMs are being created using Hyper-V. // of the guest TEE when VMs are being created using Hyper-V.

View File

@ -27,6 +27,7 @@ func addInfo(c *CPUInfo, safe bool) {
c.Family, c.Model, c.Stepping = familyModel() c.Family, c.Model, c.Stepping = familyModel()
c.featureSet = support() c.featureSet = support()
c.SGX = hasSGX(c.featureSet.inSet(SGX), c.featureSet.inSet(SGXLC)) c.SGX = hasSGX(c.featureSet.inSet(SGX), c.featureSet.inSet(SGXLC))
c.AMDMemEncryption = hasAMDMemEncryption(c.featureSet.inSet(SME) || c.featureSet.inSet(SEV))
c.ThreadsPerCore = threadsPerCore() c.ThreadsPerCore = threadsPerCore()
c.LogicalCores = logicalCores() c.LogicalCores = logicalCores()
c.PhysicalCores = physicalCores() c.PhysicalCores = physicalCores()

View File

@ -81,152 +81,157 @@ func _() {
_ = x[IA32_ARCH_CAP-71] _ = x[IA32_ARCH_CAP-71]
_ = x[IA32_CORE_CAP-72] _ = x[IA32_CORE_CAP-72]
_ = x[IBPB-73] _ = x[IBPB-73]
_ = x[IBRS-74] _ = x[IBPB_BRTYPE-74]
_ = x[IBRS_PREFERRED-75] _ = x[IBRS-75]
_ = x[IBRS_PROVIDES_SMP-76] _ = x[IBRS_PREFERRED-76]
_ = x[IBS-77] _ = x[IBRS_PROVIDES_SMP-77]
_ = x[IBSBRNTRGT-78] _ = x[IBS-78]
_ = x[IBSFETCHSAM-79] _ = x[IBSBRNTRGT-79]
_ = x[IBSFFV-80] _ = x[IBSFETCHSAM-80]
_ = x[IBSOPCNT-81] _ = x[IBSFFV-81]
_ = x[IBSOPCNTEXT-82] _ = x[IBSOPCNT-82]
_ = x[IBSOPSAM-83] _ = x[IBSOPCNTEXT-83]
_ = x[IBSRDWROPCNT-84] _ = x[IBSOPSAM-84]
_ = x[IBSRIPINVALIDCHK-85] _ = x[IBSRDWROPCNT-85]
_ = x[IBS_FETCH_CTLX-86] _ = x[IBSRIPINVALIDCHK-86]
_ = x[IBS_OPDATA4-87] _ = x[IBS_FETCH_CTLX-87]
_ = x[IBS_OPFUSE-88] _ = x[IBS_OPDATA4-88]
_ = x[IBS_PREVENTHOST-89] _ = x[IBS_OPFUSE-89]
_ = x[IBS_ZEN4-90] _ = x[IBS_PREVENTHOST-90]
_ = x[IDPRED_CTRL-91] _ = x[IBS_ZEN4-91]
_ = x[INT_WBINVD-92] _ = x[IDPRED_CTRL-92]
_ = x[INVLPGB-93] _ = x[INT_WBINVD-93]
_ = x[KEYLOCKER-94] _ = x[INVLPGB-94]
_ = x[KEYLOCKERW-95] _ = x[KEYLOCKER-95]
_ = x[LAHF-96] _ = x[KEYLOCKERW-96]
_ = x[LAM-97] _ = x[LAHF-97]
_ = x[LBRVIRT-98] _ = x[LAM-98]
_ = x[LZCNT-99] _ = x[LBRVIRT-99]
_ = x[MCAOVERFLOW-100] _ = x[LZCNT-100]
_ = x[MCDT_NO-101] _ = x[MCAOVERFLOW-101]
_ = x[MCOMMIT-102] _ = x[MCDT_NO-102]
_ = x[MD_CLEAR-103] _ = x[MCOMMIT-103]
_ = x[MMX-104] _ = x[MD_CLEAR-104]
_ = x[MMXEXT-105] _ = x[MMX-105]
_ = x[MOVBE-106] _ = x[MMXEXT-106]
_ = x[MOVDIR64B-107] _ = x[MOVBE-107]
_ = x[MOVDIRI-108] _ = x[MOVDIR64B-108]
_ = x[MOVSB_ZL-109] _ = x[MOVDIRI-109]
_ = x[MOVU-110] _ = x[MOVSB_ZL-110]
_ = x[MPX-111] _ = x[MOVU-111]
_ = x[MSRIRC-112] _ = x[MPX-112]
_ = x[MSRLIST-113] _ = x[MSRIRC-113]
_ = x[MSR_PAGEFLUSH-114] _ = x[MSRLIST-114]
_ = x[NRIPS-115] _ = x[MSR_PAGEFLUSH-115]
_ = x[NX-116] _ = x[NRIPS-116]
_ = x[OSXSAVE-117] _ = x[NX-117]
_ = x[PCONFIG-118] _ = x[OSXSAVE-118]
_ = x[POPCNT-119] _ = x[PCONFIG-119]
_ = x[PPIN-120] _ = x[POPCNT-120]
_ = x[PREFETCHI-121] _ = x[PPIN-121]
_ = x[PSFD-122] _ = x[PREFETCHI-122]
_ = x[RDPRU-123] _ = x[PSFD-123]
_ = x[RDRAND-124] _ = x[RDPRU-124]
_ = x[RDSEED-125] _ = x[RDRAND-125]
_ = x[RDTSCP-126] _ = x[RDSEED-126]
_ = x[RRSBA_CTRL-127] _ = x[RDTSCP-127]
_ = x[RTM-128] _ = x[RRSBA_CTRL-128]
_ = x[RTM_ALWAYS_ABORT-129] _ = x[RTM-129]
_ = x[SERIALIZE-130] _ = x[RTM_ALWAYS_ABORT-130]
_ = x[SEV-131] _ = x[SBPB-131]
_ = x[SEV_64BIT-132] _ = x[SERIALIZE-132]
_ = x[SEV_ALTERNATIVE-133] _ = x[SEV-133]
_ = x[SEV_DEBUGSWAP-134] _ = x[SEV_64BIT-134]
_ = x[SEV_ES-135] _ = x[SEV_ALTERNATIVE-135]
_ = x[SEV_RESTRICTED-136] _ = x[SEV_DEBUGSWAP-136]
_ = x[SEV_SNP-137] _ = x[SEV_ES-137]
_ = x[SGX-138] _ = x[SEV_RESTRICTED-138]
_ = x[SGXLC-139] _ = x[SEV_SNP-139]
_ = x[SHA-140] _ = x[SGX-140]
_ = x[SME-141] _ = x[SGXLC-141]
_ = x[SME_COHERENT-142] _ = x[SHA-142]
_ = x[SPEC_CTRL_SSBD-143] _ = x[SME-143]
_ = x[SRBDS_CTRL-144] _ = x[SME_COHERENT-144]
_ = x[SSE-145] _ = x[SPEC_CTRL_SSBD-145]
_ = x[SSE2-146] _ = x[SRBDS_CTRL-146]
_ = x[SSE3-147] _ = x[SRSO_MSR_FIX-147]
_ = x[SSE4-148] _ = x[SRSO_NO-148]
_ = x[SSE42-149] _ = x[SRSO_USER_KERNEL_NO-149]
_ = x[SSE4A-150] _ = x[SSE-150]
_ = x[SSSE3-151] _ = x[SSE2-151]
_ = x[STIBP-152] _ = x[SSE3-152]
_ = x[STIBP_ALWAYSON-153] _ = x[SSE4-153]
_ = x[STOSB_SHORT-154] _ = x[SSE42-154]
_ = x[SUCCOR-155] _ = x[SSE4A-155]
_ = x[SVM-156] _ = x[SSSE3-156]
_ = x[SVMDA-157] _ = x[STIBP-157]
_ = x[SVMFBASID-158] _ = x[STIBP_ALWAYSON-158]
_ = x[SVML-159] _ = x[STOSB_SHORT-159]
_ = x[SVMNP-160] _ = x[SUCCOR-160]
_ = x[SVMPF-161] _ = x[SVM-161]
_ = x[SVMPFT-162] _ = x[SVMDA-162]
_ = x[SYSCALL-163] _ = x[SVMFBASID-163]
_ = x[SYSEE-164] _ = x[SVML-164]
_ = x[TBM-165] _ = x[SVMNP-165]
_ = x[TDX_GUEST-166] _ = x[SVMPF-166]
_ = x[TLB_FLUSH_NESTED-167] _ = x[SVMPFT-167]
_ = x[TME-168] _ = x[SYSCALL-168]
_ = x[TOPEXT-169] _ = x[SYSEE-169]
_ = x[TSCRATEMSR-170] _ = x[TBM-170]
_ = x[TSXLDTRK-171] _ = x[TDX_GUEST-171]
_ = x[VAES-172] _ = x[TLB_FLUSH_NESTED-172]
_ = x[VMCBCLEAN-173] _ = x[TME-173]
_ = x[VMPL-174] _ = x[TOPEXT-174]
_ = x[VMSA_REGPROT-175] _ = x[TSCRATEMSR-175]
_ = x[VMX-176] _ = x[TSXLDTRK-176]
_ = x[VPCLMULQDQ-177] _ = x[VAES-177]
_ = x[VTE-178] _ = x[VMCBCLEAN-178]
_ = x[WAITPKG-179] _ = x[VMPL-179]
_ = x[WBNOINVD-180] _ = x[VMSA_REGPROT-180]
_ = x[WRMSRNS-181] _ = x[VMX-181]
_ = x[X87-182] _ = x[VPCLMULQDQ-182]
_ = x[XGETBV1-183] _ = x[VTE-183]
_ = x[XOP-184] _ = x[WAITPKG-184]
_ = x[XSAVE-185] _ = x[WBNOINVD-185]
_ = x[XSAVEC-186] _ = x[WRMSRNS-186]
_ = x[XSAVEOPT-187] _ = x[X87-187]
_ = x[XSAVES-188] _ = x[XGETBV1-188]
_ = x[AESARM-189] _ = x[XOP-189]
_ = x[ARMCPUID-190] _ = x[XSAVE-190]
_ = x[ASIMD-191] _ = x[XSAVEC-191]
_ = x[ASIMDDP-192] _ = x[XSAVEOPT-192]
_ = x[ASIMDHP-193] _ = x[XSAVES-193]
_ = x[ASIMDRDM-194] _ = x[AESARM-194]
_ = x[ATOMICS-195] _ = x[ARMCPUID-195]
_ = x[CRC32-196] _ = x[ASIMD-196]
_ = x[DCPOP-197] _ = x[ASIMDDP-197]
_ = x[EVTSTRM-198] _ = x[ASIMDHP-198]
_ = x[FCMA-199] _ = x[ASIMDRDM-199]
_ = x[FP-200] _ = x[ATOMICS-200]
_ = x[FPHP-201] _ = x[CRC32-201]
_ = x[GPA-202] _ = x[DCPOP-202]
_ = x[JSCVT-203] _ = x[EVTSTRM-203]
_ = x[LRCPC-204] _ = x[FCMA-204]
_ = x[PMULL-205] _ = x[FP-205]
_ = x[SHA1-206] _ = x[FPHP-206]
_ = x[SHA2-207] _ = x[GPA-207]
_ = x[SHA3-208] _ = x[JSCVT-208]
_ = x[SHA512-209] _ = x[LRCPC-209]
_ = x[SM3-210] _ = x[PMULL-210]
_ = x[SM4-211] _ = x[SHA1-211]
_ = x[SVE-212] _ = x[SHA2-212]
_ = x[lastID-213] _ = x[SHA3-213]
_ = x[SHA512-214]
_ = x[SM3-215]
_ = x[SM4-216]
_ = x[SVE-217]
_ = x[lastID-218]
_ = x[firstID-0] _ = x[firstID-0]
} }
const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXTILEAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBKEYLOCKERKEYLOCKERWLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSPEC_CTRL_SSBDSRBDS_CTRLSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID" const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXTILEAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBPB_BRTYPEIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBKEYLOCKERKEYLOCKERWLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSBPBSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSPEC_CTRL_SSBDSRBDS_CTRLSRSO_MSR_FIXSRSO_NOSRSO_USER_KERNEL_NOSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID"
var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 62, 67, 70, 75, 84, 93, 102, 106, 116, 128, 136, 144, 152, 160, 167, 177, 187, 195, 205, 216, 224, 234, 252, 267, 274, 286, 293, 300, 311, 319, 323, 327, 333, 338, 346, 351, 357, 361, 370, 388, 396, 403, 407, 411, 425, 431, 435, 439, 448, 452, 456, 461, 466, 470, 474, 481, 485, 488, 494, 497, 500, 510, 520, 533, 546, 550, 554, 568, 585, 588, 598, 609, 615, 623, 634, 642, 654, 670, 684, 695, 705, 720, 728, 739, 749, 756, 765, 775, 779, 782, 789, 794, 805, 812, 819, 827, 830, 836, 841, 850, 857, 865, 869, 872, 878, 885, 898, 903, 905, 912, 919, 925, 929, 938, 942, 947, 953, 959, 965, 975, 978, 994, 1003, 1006, 1015, 1030, 1043, 1049, 1063, 1070, 1073, 1078, 1081, 1084, 1096, 1110, 1120, 1123, 1127, 1131, 1135, 1140, 1145, 1150, 1155, 1169, 1180, 1186, 1189, 1194, 1203, 1207, 1212, 1217, 1223, 1230, 1235, 1238, 1247, 1263, 1266, 1272, 1282, 1290, 1294, 1303, 1307, 1319, 1322, 1332, 1335, 1342, 1350, 1357, 1360, 1367, 1370, 1375, 1381, 1389, 1395, 1401, 1409, 1414, 1421, 1428, 1436, 1443, 1448, 1453, 1460, 1464, 1466, 1470, 1473, 1478, 1483, 1488, 1492, 1496, 1500, 1506, 1509, 1512, 1515, 1521} var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 62, 67, 70, 75, 84, 93, 102, 106, 116, 128, 136, 144, 152, 160, 167, 177, 187, 195, 205, 216, 224, 234, 252, 267, 274, 286, 293, 300, 311, 319, 323, 327, 333, 338, 346, 351, 357, 361, 370, 388, 396, 403, 407, 411, 425, 431, 435, 439, 448, 452, 456, 461, 466, 470, 474, 481, 485, 488, 494, 497, 500, 510, 520, 533, 546, 550, 561, 565, 579, 596, 599, 609, 620, 626, 634, 645, 653, 665, 681, 695, 706, 716, 731, 739, 750, 760, 767, 776, 786, 790, 793, 800, 805, 816, 823, 830, 838, 841, 847, 852, 861, 868, 876, 880, 883, 889, 896, 909, 914, 916, 923, 930, 936, 940, 949, 953, 958, 964, 970, 976, 986, 989, 1005, 1009, 1018, 1021, 1030, 1045, 1058, 1064, 1078, 1085, 1088, 1093, 1096, 1099, 1111, 1125, 1135, 1147, 1154, 1173, 1176, 1180, 1184, 1188, 1193, 1198, 1203, 1208, 1222, 1233, 1239, 1242, 1247, 1256, 1260, 1265, 1270, 1276, 1283, 1288, 1291, 1300, 1316, 1319, 1325, 1335, 1343, 1347, 1356, 1360, 1372, 1375, 1385, 1388, 1395, 1403, 1410, 1413, 1420, 1423, 1428, 1434, 1442, 1448, 1454, 1462, 1467, 1474, 1481, 1489, 1496, 1501, 1506, 1513, 1517, 1519, 1523, 1526, 1531, 1536, 1541, 1545, 1549, 1553, 1559, 1562, 1565, 1568, 1574}
func (i FeatureID) String() string { func (i FeatureID) String() string {
if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) { if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) {

View File

@ -52,6 +52,8 @@ func Every(interval time.Duration) Limit {
// or its associated context.Context is canceled. // or its associated context.Context is canceled.
// //
// The methods AllowN, ReserveN, and WaitN consume n tokens. // The methods AllowN, ReserveN, and WaitN consume n tokens.
//
// Limiter is safe for simultaneous use by multiple goroutines.
type Limiter struct { type Limiter struct {
mu sync.Mutex mu sync.Mutex
limit Limit limit Limit

10
vendor/modules.txt vendored
View File

@ -240,7 +240,7 @@ github.com/containers/common/version
# github.com/containers/conmon v2.0.20+incompatible # github.com/containers/conmon v2.0.20+incompatible
## explicit ## explicit
github.com/containers/conmon/runner/config github.com/containers/conmon/runner/config
# github.com/containers/gvisor-tap-vsock v0.7.3 # github.com/containers/gvisor-tap-vsock v0.7.4-0.20240320091526-a0238e52b61f
## explicit; go 1.20 ## explicit; go 1.20
github.com/containers/gvisor-tap-vsock/pkg/types github.com/containers/gvisor-tap-vsock/pkg/types
# github.com/containers/image/v5 v5.30.0 # github.com/containers/image/v5 v5.30.0
@ -428,7 +428,7 @@ github.com/coreos/stream-metadata-go/fedoracoreos
github.com/coreos/stream-metadata-go/fedoracoreos/internals github.com/coreos/stream-metadata-go/fedoracoreos/internals
github.com/coreos/stream-metadata-go/stream github.com/coreos/stream-metadata-go/stream
github.com/coreos/stream-metadata-go/stream/rhcos github.com/coreos/stream-metadata-go/stream/rhcos
# github.com/crc-org/crc/v2 v2.32.0 # github.com/crc-org/crc/v2 v2.34.1
## explicit; go 1.20 ## explicit; go 1.20
github.com/crc-org/crc/v2/pkg/crc/logging github.com/crc-org/crc/v2/pkg/crc/logging
github.com/crc-org/crc/v2/pkg/os github.com/crc-org/crc/v2/pkg/os
@ -726,7 +726,7 @@ github.com/klauspost/compress/internal/cpuinfo
github.com/klauspost/compress/internal/snapref github.com/klauspost/compress/internal/snapref
github.com/klauspost/compress/zstd github.com/klauspost/compress/zstd
github.com/klauspost/compress/zstd/internal/xxhash github.com/klauspost/compress/zstd/internal/xxhash
# github.com/klauspost/cpuid/v2 v2.2.6 # github.com/klauspost/cpuid/v2 v2.2.7
## explicit; go 1.15 ## explicit; go 1.15
github.com/klauspost/cpuid/v2 github.com/klauspost/cpuid/v2
# github.com/klauspost/pgzip v1.2.6 # github.com/klauspost/pgzip v1.2.6
@ -1245,8 +1245,8 @@ golang.org/x/text/secure/bidirule
golang.org/x/text/transform golang.org/x/text/transform
golang.org/x/text/unicode/bidi golang.org/x/text/unicode/bidi
golang.org/x/text/unicode/norm golang.org/x/text/unicode/norm
# golang.org/x/time v0.3.0 # golang.org/x/time v0.5.0
## explicit ## explicit; go 1.18
golang.org/x/time/rate golang.org/x/time/rate
# golang.org/x/tools v0.19.0 # golang.org/x/tools v0.19.0
## explicit; go 1.19 ## explicit; go 1.19