On 5/28/14 8:32 , takashi ary via illumos-discuss wrote:
> Hi Robert, Bill,
> 
> Thanks for your reply.
> 
> 2014-05-28 9:42 GMT+09:00 Robert Mustacchi <r...@joyent.com>:
>> A while back I was looking at a bug that doesn't seem dissimilar. What's
>> the size of the actual microcode itself?
> 
> Sorry, how to calculate actual body size?
> File size is 1854360 bytes.
> 
>> There's a size cap on the size of the body today, see
>> http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/sys/ucode.h#209.
>> I suspect that if you increased that on a system then it would work,
>> note that you would need to rebuild the entire system with that.
> 
> This is truss output before change the size cap.
> 
> root@omnios:/tmp/microcode#
> root@omnios:/tmp/microcode# ucodeadm -u intel-ucode.txt
> ucodeadm: intel-ucode.txt: File header is invalid
> root@omnios:/tmp/microcode#
> root@omnios:/tmp/microcode# truss -fl ucodeadm -u intel-ucode.txt
> 13523/1:        execve("/usr/sbin/ucodeadm", 0x08047DF0, 0x08047E00)  argc = 3
> 
> <snip>
> 
> 13523/1:        read(3, " 0 2 6 0 3 6 ,\n 0 x b 5".., 4096)     = 4096
> 13523/1:        read(3, " 0 0 ,\t 0 x d 5 7 2 3 1".., 4096)     = 2968
> 13523/1:        read(3, 0x0822A2D4, 4096)                       = 0
> 13523/1:        llseek(3, 0, SEEK_CUR)                          = 1854360
> 13523/1:        close(3)                                        = 0
> 13523/1:        fstat64(2, 0x08046D30)                          = 0
> ucodeadm13523/1:        write(2, " u c o d e a d m", 8)                 = 8
> : 13523/1:      write(2, " :  ", 2)                             = 2
> intel-ucode.txt13523/1: write(2, " i n t e l - u c o d e .".., 15)      = 15
> : 13523/1:      write(2, " :  ", 2)                             = 2
> File header is invalid13523/1:  write(2, " F i l e   h e a d e r  "..,
> 22)      = 22
> 13523/1:        write(2, "\n", 1)                               = 1
> 13523/1:        _exit(3)
> root@omnios:/tmp/microcode#
> 
> 
> I tried setting "UCODE_MAX_SIZE UCODE_KB(32)",
> "UCODE_MAX_COMBINED_SIZE UCODE_MB(32)",
> "modunload" ucode kernel module, "modload" new ucode kernel module.
> 
> 
> root@omnios:/tmp/microcode#
> root@omnios:/tmp/microcode# ./ucodeadm -u intel-ucode.txt
> ucodeadm: microcode update: File header is invalid
> root@omnios:/tmp/microcode#
> root@omnios:/tmp/microcode# truss -fl ./ucodeadm -u intel-ucode.txt
> 13538/1:        execve("ucodeadm", 0x08047DF8, 0x08047E08)  argc = 3
> 
> <snip>
> 
> 13538/1:        read(3, " 0 2 6 0 3 6 ,\n 0 x b 5".., 4096)     = 4096
> 13538/1:        read(3, " 0 0 ,\t 0 x d 5 7 2 3 1".., 4096)     = 2968
> 13538/1:        read(3, 0x0822A2D4, 4096)                       = 0
> 13538/1:        llseek(3, 0, SEEK_CUR)                          = 1854360
> 13538/1:        close(3)                                        = 0
> 13538/1:        open("/dev/ucode", O_RDONLY)                    = 3
> 13538/1:        ioctl(3, (('u'<<24)|('c'<<16)|('o'<<8)|1), 0x08047D0C) = 0
> 13538/1:        fstat64(2, 0x08046D30)                          = 0
> ucodeadm13538/1:        write(2, " u c o d e a d m", 8)                 = 8
> : 13538/1:      write(2, " :  ", 2)                             = 2
> microcode update13538/1:        write(2, " m i c r o c o d e   u p"..,
> 16)      = 16
> : 13538/1:      write(2, " :  ", 2)                             = 2
> File header is invalid13538/1:  write(2, " F i l e   h e a d e r  "..,
> 22)      = 22
> 13538/1:        write(2, "\n", 1)                               = 1
> 13538/1:        close(3)                                        = 0
> 13538/1:        _exit(3)
> root@omnios:/tmp/microcode#
> 
> 
> "microcode update" output from ucodeadm.c line 752?
> http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/ucodeadm/ucodeadm.c#752
> 
> rebuild the entire system is difficult now...

Unfortunately, that value is used outside of the various microcode
modules, so I suspect at a minimum you would need to also update all of
the associated userland utilities and more. The comment in
uts/common/sys/ucode.h+200 would make me definitely not want to risk
guessing around with replacing one offs versus updating everything.

Robert


-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com

Reply via email to