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...

Thanks


-------------------------------------------
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