mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-30 14:01:02 +00:00 
			
		
		
		
	Update Vendor (#16325)
* Add Dependencie Update Script * update gitea.com/lunny/levelqueue * update github.com/PuerkitoBio/goquery * update github.com/alecthomas/chroma * update github.com/blevesearch/bleve/v2 * update github.com/caddyserver/certmagic * update github.com/go-enry/go-enry/v2 * update github.com/go-redis/redis/v8 * update github.com/hashicorp/golang-lru * update github.com/klauspost/compress * update github.com/markbates/goth * update github.com/mholt/archiver/v3 * update github.com/microcosm-cc/bluemonday * update github.com/minio/minio-go/v7 * update github.com/olivere/elastic/v7 * update github.com/xanzy/go-gitlab * update github.com/yuin/goldmark
This commit is contained in:
		
					parent
					
						
							
								65ae46bc20
							
						
					
				
			
			
				commit
				
					
						fae07cbc8f
					
				
			
		
					 319 changed files with 33568 additions and 21050 deletions
				
			
		
							
								
								
									
										68
									
								
								vendor/github.com/klauspost/cpuid/v2/cpuid.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										68
									
								
								vendor/github.com/klauspost/cpuid/v2/cpuid.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -96,7 +96,9 @@ const ( | |||
| 	BMI2                                // Bit Manipulation Instruction Set 2 | ||||
| 	CLDEMOTE                            // Cache Line Demote | ||||
| 	CLMUL                               // Carry-less Multiplication | ||||
| 	CLZERO                              // CLZERO instruction supported | ||||
| 	CMOV                                // i686 CMOV | ||||
| 	CPBOOST                             // Core Performance Boost | ||||
| 	CX16                                // CMPXCHG16B Instruction | ||||
| 	ENQCMD                              // Enqueue Command | ||||
| 	ERMS                                // Enhanced REP MOVSB/STOSB | ||||
|  | @ -106,6 +108,7 @@ const ( | |||
| 	GFNI                                // Galois Field New Instructions | ||||
| 	HLE                                 // Hardware Lock Elision | ||||
| 	HTT                                 // Hyperthreading (enabled) | ||||
| 	HWA                                 // Hardware assert supported. Indicates support for MSRC001_10 | ||||
| 	HYPERVISOR                          // This bit has been reserved by Intel & AMD for use by hypervisors | ||||
| 	IBPB                                // Indirect Branch Restricted Speculation (IBRS) and Indirect Branch Predictor Barrier (IBPB) | ||||
| 	IBS                                 // Instruction Based Sampling (AMD) | ||||
|  | @ -117,18 +120,25 @@ const ( | |||
| 	IBSOPSAM                            // Instruction Based Sampling Feature (AMD) | ||||
| 	IBSRDWROPCNT                        // Instruction Based Sampling Feature (AMD) | ||||
| 	IBSRIPINVALIDCHK                    // Instruction Based Sampling Feature (AMD) | ||||
| 	INT_WBINVD                          // WBINVD/WBNOINVD are interruptible. | ||||
| 	INVLPGB                             // NVLPGB and TLBSYNC instruction supported | ||||
| 	LZCNT                               // LZCNT instruction | ||||
| 	MCAOVERFLOW                         // MCA overflow recovery support. | ||||
| 	MCOMMIT                             // MCOMMIT instruction supported | ||||
| 	MMX                                 // standard MMX | ||||
| 	MMXEXT                              // SSE integer functions or AMD MMX ext | ||||
| 	MOVDIR64B                           // Move 64 Bytes as Direct Store | ||||
| 	MOVDIRI                             // Move Doubleword as Direct Store | ||||
| 	MPX                                 // Intel MPX (Memory Protection Extensions) | ||||
| 	MSRIRC                              // Instruction Retired Counter MSR available | ||||
| 	NX                                  // NX (No-Execute) bit | ||||
| 	POPCNT                              // POPCNT instruction | ||||
| 	RDPRU                               // RDPRU instruction supported | ||||
| 	RDRAND                              // RDRAND instruction is available | ||||
| 	RDSEED                              // RDSEED instruction is available | ||||
| 	RDTSCP                              // RDTSCP Instruction | ||||
| 	RTM                                 // Restricted Transactional Memory | ||||
| 	RTM_ALWAYS_ABORT                    // Indicates that the loaded microcode is forcing RTM abort. | ||||
| 	SERIALIZE                           // Serialize Instruction Execution | ||||
| 	SGX                                 // Software Guard Extensions | ||||
| 	SGXLC                               // Software Guard Extensions Launch Control | ||||
|  | @ -141,6 +151,7 @@ const ( | |||
| 	SSE4A                               // AMD Barcelona microarchitecture SSE4a instructions | ||||
| 	SSSE3                               // Conroe SSSE3 functions | ||||
| 	STIBP                               // Single Thread Indirect Branch Predictors | ||||
| 	SUCCOR                              // Software uncorrectable error containment and recovery capability. | ||||
| 	TBM                                 // AMD Trailing Bit Manipulation | ||||
| 	TSXLDTRK                            // Intel TSX Suspend Load Address Tracking | ||||
| 	VAES                                // Vector AES | ||||
|  | @ -194,7 +205,8 @@ type CPUInfo struct { | |||
| 	Family         int     // CPU family number | ||||
| 	Model          int     // CPU model number | ||||
| 	CacheLine      int     // Cache line size in bytes. Will be 0 if undetectable. | ||||
| 	Hz             int64   // Clock speed, if known, 0 otherwise | ||||
| 	Hz             int64   // Clock speed, if known, 0 otherwise. Will attempt to contain base clock speed. | ||||
| 	BoostFreq      int64   // Max clock speed, if known, 0 otherwise | ||||
| 	Cache          struct { | ||||
| 		L1I int // L1 Instruction Cache (per core or shared). Will be -1 if undetected | ||||
| 		L1D int // L1 Data Cache (per core or shared). Will be -1 if undetected | ||||
|  | @ -363,25 +375,43 @@ func (c CPUInfo) LogicalCPU() int { | |||
| 	return int(ebx >> 24) | ||||
| } | ||||
| 
 | ||||
| // hertz tries to compute the clock speed of the CPU. If leaf 15 is | ||||
| // frequencies tries to compute the clock speed of the CPU. If leaf 15 is | ||||
| // supported, use it, otherwise parse the brand string. Yes, really. | ||||
| func hertz(model string) int64 { | ||||
| func (c *CPUInfo) frequencies() { | ||||
| 	c.Hz, c.BoostFreq = 0, 0 | ||||
| 	mfi := maxFunctionID() | ||||
| 	if mfi >= 0x15 { | ||||
| 		eax, ebx, ecx, _ := cpuid(0x15) | ||||
| 		if eax != 0 && ebx != 0 && ecx != 0 { | ||||
| 			return int64((int64(ecx) * int64(ebx)) / int64(eax)) | ||||
| 			c.Hz = (int64(ecx) * int64(ebx)) / int64(eax) | ||||
| 			fmt.Println("frequencies(): ", ecx, ebx, eax, "->", c.Hz) | ||||
| 		} | ||||
| 	} | ||||
| 	if mfi >= 0x16 { | ||||
| 		a, b, _, _ := cpuid(0x16) | ||||
| 		// Base... | ||||
| 		if a&0xffff > 0 { | ||||
| 			c.Hz = int64(a&0xffff) * 1_000_000 | ||||
| 		} | ||||
| 		// Boost... | ||||
| 		if b&0xffff > 0 { | ||||
| 			c.BoostFreq = int64(b&0xffff) * 1_000_000 | ||||
| 		} | ||||
| 	} | ||||
| 	if c.Hz > 0 { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	// computeHz determines the official rated speed of a CPU from its brand | ||||
| 	// string. This insanity is *actually the official documented way to do | ||||
| 	// this according to Intel*, prior to leaf 0x15 existing. The official | ||||
| 	// documentation only shows this working for exactly `x.xx` or `xxxx` | ||||
| 	// cases, e.g., `2.50GHz` or `1300MHz`; this parser will accept other | ||||
| 	// sizes. | ||||
| 	model := c.BrandName | ||||
| 	hz := strings.LastIndex(model, "Hz") | ||||
| 	if hz < 3 { | ||||
| 		return 0 | ||||
| 		return | ||||
| 	} | ||||
| 	var multiplier int64 | ||||
| 	switch model[hz-1] { | ||||
|  | @ -393,7 +423,7 @@ func hertz(model string) int64 { | |||
| 		multiplier = 1000 * 1000 * 1000 * 1000 | ||||
| 	} | ||||
| 	if multiplier == 0 { | ||||
| 		return 0 | ||||
| 		return | ||||
| 	} | ||||
| 	freq := int64(0) | ||||
| 	divisor := int64(0) | ||||
|  | @ -405,21 +435,22 @@ func hertz(model string) int64 { | |||
| 			decimalShift *= 10 | ||||
| 		} else if model[i] == '.' { | ||||
| 			if divisor != 0 { | ||||
| 				return 0 | ||||
| 				return | ||||
| 			} | ||||
| 			divisor = decimalShift | ||||
| 		} else { | ||||
| 			return 0 | ||||
| 			return | ||||
| 		} | ||||
| 	} | ||||
| 	// we didn't find a space | ||||
| 	if i < 0 { | ||||
| 		return 0 | ||||
| 		return | ||||
| 	} | ||||
| 	if divisor != 0 { | ||||
| 		return (freq * multiplier) / divisor | ||||
| 		c.Hz = (freq * multiplier) / divisor | ||||
| 		return | ||||
| 	} | ||||
| 	return freq * multiplier | ||||
| 	c.Hz = freq * multiplier | ||||
| } | ||||
| 
 | ||||
| // VM Will return true if the cpu id indicates we are in | ||||
|  | @ -911,6 +942,7 @@ func support() flagSet { | |||
| 		fs.setIf(ecx&(1<<29) != 0, ENQCMD) | ||||
| 		fs.setIf(ecx&(1<<30) != 0, SGXLC) | ||||
| 		// CPUID.(EAX=7, ECX=0).EDX | ||||
| 		fs.setIf(edx&(1<<11) != 0, RTM_ALWAYS_ABORT) | ||||
| 		fs.setIf(edx&(1<<14) != 0, SERIALIZE) | ||||
| 		fs.setIf(edx&(1<<16) != 0, TSXLDTRK) | ||||
| 		fs.setIf(edx&(1<<26) != 0, IBPB) | ||||
|  | @ -980,9 +1012,23 @@ func support() flagSet { | |||
| 		} | ||||
| 
 | ||||
| 	} | ||||
| 	if maxExtendedFunction() >= 0x80000007 { | ||||
| 		_, b, _, d := cpuid(0x80000007) | ||||
| 		fs.setIf((b&(1<<0)) != 0, MCAOVERFLOW) | ||||
| 		fs.setIf((b&(1<<1)) != 0, SUCCOR) | ||||
| 		fs.setIf((b&(1<<2)) != 0, HWA) | ||||
| 		fs.setIf((d&(1<<9)) != 0, CPBOOST) | ||||
| 	} | ||||
| 
 | ||||
| 	if maxExtendedFunction() >= 0x80000008 { | ||||
| 		_, b, _, _ := cpuid(0x80000008) | ||||
| 		fs.setIf((b&(1<<9)) != 0, WBNOINVD) | ||||
| 		fs.setIf((b&(1<<8)) != 0, MCOMMIT) | ||||
| 		fs.setIf((b&(1<<13)) != 0, INT_WBINVD) | ||||
| 		fs.setIf((b&(1<<4)) != 0, RDPRU) | ||||
| 		fs.setIf((b&(1<<3)) != 0, INVLPGB) | ||||
| 		fs.setIf((b&(1<<1)) != 0, MSRIRC) | ||||
| 		fs.setIf((b&(1<<0)) != 0, CLZERO) | ||||
| 	} | ||||
| 
 | ||||
| 	if maxExtendedFunction() >= 0x8000001b && fs.inSet(IBS) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue