Regarding Itanium, the fact that it also got a patch despite being "not affected", is telltale about the trustworthiness of Intel official statements.
or its just routine maintenance patches
Regarding Itanium, the fact that it also got a patch despite being "not affected", is telltale about the trustworthiness of Intel official statements.
VInstead of speculative execution and parallelism by implicitly running instructions from multiple threads at once, the parallelism is made explicit in the instruction stream.
Itanium can also run operating systems other than HP-UX,
Either this x86info program is crap or devcpu-data fscked up the processor.For your interest, HERE.
or its just routine maintenance patches
Here too. I wonder if my cpu is too old?I did a pkg update/upgrade to make sure system is full up-to-date, powered off, changed keyboard, and rebooted.
Now updating microcode completely fails. ("Re-evalutation of CPU flags Failed.").
I did a pkg update/upgrade to make sure system is full up-to-date, powered off, changed keyboard, and rebooted.
Now updating microcode completely fails. ("Re-evalutation of CPU flags Failed.").
How old? Mine was released in July 2012 and is listed in Intels' list of CPUs with microcode update...Here too. I wonder if my cpu is too old?
I haven't yet put it into the rc.conf... just didThat's because the port (its rc.d script, specifically) is calling cpucontrol with flags that aren't available yet in a released system.
service microcodeblahblah onestart
... does this also use the rc.d script?How old? Mine was released in July 2012 and is listed in Intels' list of CPUs with microcode update...
Yes.I haven't yet put it into the rc.conf... just didservice microcodeblahblah onestart
... does this also use the rc.d script?
Likely, but why?Could it be possible to just download the microcode update from Intel and order devcpu-data to use that one?
WOW! Up to 3% performance gain!Here is the Intel benchmarking results...
Here is the Intel benchmarking results after Spectre & Meltdown patches
https://newsroom.intel.com/editoria...tial-performance-data-results-client-systems/
That should be written as the Intel on Windows benchmarking results.Here is the Intel benchmarking results ...
I was not sure whether cpucontrol took the right microcode file, so I thought maybe it could be worth a try to explicitly specify the file to use.Likely, but why?
So I expected to find a file 06-2c-02 there. But there is none. The nearest models present are 2a and 2d.intel-ucode dirctory contains binary microcode files named in family-model-stepping pattern.
cpucontrol -v -u /dev/cpuctlX -d /usr/local/share/cpucontrol
, as being suggested by /usr/local/etc/rc.d/microcode_update.; *** Detect Main Processor Type
PROC DETECTCPU ; Called as function
LOCAL CPUTYPE:WORD
LOCALS @@
PUSHF ; Save machine status word onto stack
POP AX ; Load last push into AX register from stack
AND AX, 03FFFH ; Clear the 2 msbs
PUSH AX ; Save AX register onto stack
POPF ; Restore machine status word
PUSHF ; Save machine status word onto stack
POP AX ; Load last push into AX register from stack
AND AX, 0C000H ; Mask all off but the 2 msbs
JE @@CPU80286 ; If not set then we have a 286 or higher
MOV CL, 021H ; Load CL register with shift value
MOV AL, 0FFH ; Load AL with all ones
SHR AL, CL ; Shift AL to the left
CMP AL, 0 ; Does AL = 0?
MOV AX, 188 ; Load AX register with 80188 cpu code
JNE @@DOBUS ; If AL = 0 then jump
MOV AX, 88 ; Else load AX register with 8088 cpu code
@@DOBUS: ; Routine to test width of data bus
MOV BX, 1 ; Put 1 into BX register
MOV AL, [CS:TESTINST] ; Get test instruction
XOR AL, 8 ; Change it
MOV [CS:TESTINST], AL ; Write it back to the code segment
NOP ; These are to fill the processor queue
NOP ; Processor no operation instruction
NOP ; Processor no operation instruction
NOP ; Processor no operation instruction
TESTINST DB 043H ; The test instruction
SUB AX, BX ; Subtract result from cpu code for proper id
MOV [CPUTYPE], AX ; Put AX into CPU result variable
JMP @@EXIT ; Jump to exit routine
@@CPU80286: ; 80286 test begins here
P286 ; Enable 286 instructions
PUSHF ; Push flags onto stack
POP AX ; Pop flags into AX register
OR AX, 04000H ; Set bit 14
PUSH AX ; Push AX register onto stack
POPF ; Pop AX register into flags
PUSHF ; Save flags once again
POP AX ; And put it back into AX register
AND AH, 040H ; Mask all but bit 14
CMP AH, 040H ; Does bit 14 = 1?
JE @@CPU80386 ; If so then we have at least a 386
MOV [CPUTYPE], 286 ; Load 80286 cpu code into result variable
JMP @@EXIT ; Jump to exit routine
@@CPU80386: ; 80386 test begins here
P386 ; Enable 386 instructions
PUSHFD ; Push extended flags onto stack
POP EAX ; Load EAX register with Eflags
MOV EBX, EAX ; Save to EBX register
AND EBX, 040000H ; Mask off all but bit 23
XOR EAX, 040000H ; Toggle bit 23
PUSH EAX ; Save EAX to stack
POPFD ; Restore flags
PUSHFD ; Save flags
POP EAX ; Load EAX register with Eflags from stack
AND EAX,040000H ; Mask off all but bit 23
MOV [CPUTYPE], 386 ; Load 80386 cpu code into result variable
CMP EAX, EBX ; Did the toggle hold?
JE @@EXIT ; If not then jump to exit routine
P486 ; Enable 486 instructions
PUSHFD ; Save flags onto stack
POP EAX ; And load into EAX register
XOR EAX, 040000H ; Toggle bit 23 of flags
PUSH EAX ; Push EAX register onto stack
POPFD ; And restore into Eflags register
MOV [CPUTYPE], 486 ; Load 80486 cpu code into result variable
PUSHFD ; Push extended flags onto stack
PUSHFD ; Again
POP ECX ; Load into ECX register
POP EAX ; Load into EAX register
XOR EAX, 020000H ; Toggle bit 22 in EAX register
PUSH EAX ; Save EAX onto stack
POPFD ; Restore Eflags
PUSHFD ; Save Eflags once again
POP EAX ; Load back into Eflags
XOR EAX, ECX ; Toggle all bits
JZ @@EXIT ; Cpu really is a 486 so jump to exit routine
@@CPU80586: ; Cpu is a 586 or higher
MOV [CPUTYPE], 586 ; Put 586 into return variable
@@EXIT: ; Exit routine begins here
P8086 ; Enable 8086/8088 instructions
MOV AX, [CPUTYPE] ; Put result variable into AX register
RET ; Return to caller
ENDP
I was not sure whether cpucontrol took the right microcode file, so I thought maybe it could be worth a try to explicitly specify the file to use.