[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] ucode=-1: did anybody have success?
Sorry for my delay - I was away for a couple of days ... Am 06.05.14 23:35, schrieb Sven Köhler: I assume you have already read the answer straight from the horse's mouth: According to Konrad this is safe and I fully trust him on this (and many more things XEN).Am 06.05.2014 21:39, schrieb Atom2:Am 06.05.14 15:27, schrieb Sven Köhler:Or maybe the file is taken from /lib/firmware/intel-ucode/ and is copied to the initrd when it is updates?The truth is that you can't use the microcode.dat file directly - this is a text file whereas the CPU expects a binary file.It's a pity the hypervisor doesn't understand the microcode.dat format.You should be able to do 'cat /lib/firmware/intel_ucode/* > /boot/microcode.blob' and that should do it - although I have used another approach that results in a much smaller blob file: My file is now onyl 10,240 bytes as opposed to 576,512 bytes compared to cat /lib/firmware/... as described above) as it only contains the required binary files for my specific CPU:The "cat /lib/firmware/intel_ucode/* > /boot/microcode.blob"-approach seems dangerous to me. Are you sure, that simply concatenating the files leaves you with a valid database? Right. The -w defines the name of the output file and failing any other option iucode_tool will merge all binary files described in microcode.dat into a binary blob file (named microcode.blob).I think it's safer to use the iucode-tool. The following command simply converts microcode.dat to the binary format, right? ./iucode_tool -w /boot/microcode.blob /lib/firmware/microcode.dat To be honest, I don't know and I think it is much safer to let iucode_tool do the magic in selecting those files required for your specific CPU model by adding the -S option. The reason I did not investigate on this is that I was not sure whether there is a 1:1 relation between "family & model" / "stepping" and "signature" / "pf [processor flags] mask" which seems to be the relevant piece of information to select the relevant files from (see -s [that is: lowercase 's'] option of iucode_tool).Can you confirm that /lib/firmware/intel-ucode/06-25-02 (for example) is the file that contains all microcode for a CPU of family 6, model 37=0x25, and stepping 2 (which according to /proc/cpuinfo is the CPU I have in my laptop, for example). These files already exist and are very small. But if you really want to get to the grounds of Intel's naming schema, you could always use the -S option (for the CPU you run iucode_tool on) and crosscheck its output with those files you came up with based on family/model and stepping. I have used a tool called 'iucode-tool' to convert the Intel distribution files to the blob binary file (I decided to name it microcode.bin and that's what I use in the module line above). This tool has a number of options that allow to include only those parts of the microcode patches that are required for your specific CPU model (it is able to scan for your CPU or you can provide the model as a command line argument)To include only the microcode for my CPU, I have to use the -S option of iucode-tool, right? Right - see above. Your best bet is to check whether your distribution offers iucode-tool and install it. Failing this you can also download the source and compile it (I had to do this for gentoo) - that was pretty easy.I'm using Gentoo too. I will request an ebuild for iucode-tool. Maybe I can also convince the microcode-data maintainer to install a binary BLOB in addition to microcode.dat (depending on some use-flag). I have seen that - no answer up to now ... Hope this helps,You helped a lot! Thanks, Sven _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxx http://lists.xen.org/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |