svn commit: r334046 - head/tools/tools/intel-ucode-split
Sean Bruno
sbruno at freebsd.org
Tue Jun 12 22:17:20 UTC 2018
On 06/12/18 16:05, Oliver Pinter wrote:
> On 5/22/18, Ed Maste <emaste at freebsd.org> wrote:
>> Author: emaste
>> Date: Tue May 22 14:35:33 2018
>> New Revision: 334046
>> URL: https://svnweb.freebsd.org/changeset/base/334046
>>
>> Log:
>> intel-ucode-split: add -n flag to skip creating output files
>>
>> Sponsored by: The FreeBSD Foundation
>>
>> Modified:
>> head/tools/tools/intel-ucode-split/intel-ucode-split.c
>
> Hi!
>
> Could you please MFC the intel-ucode-split related commits to 11-STABLE?
>
>
> Thanks,
> op
>
Do you need it in base for some reason? This code is already in the
devcpu-data port and is used when the port is built. Its not needed for
anything AFAIK.
sean
>>
>> Modified: head/tools/tools/intel-ucode-split/intel-ucode-split.c
>> ==============================================================================
>> --- head/tools/tools/intel-ucode-split/intel-ucode-split.c Tue May 22
>> 14:26:58 2018 (r334045)
>> +++ head/tools/tools/intel-ucode-split/intel-ucode-split.c Tue May 22
>> 14:35:33 2018 (r334046)
>> @@ -112,7 +112,7 @@ static void
>> usage(void)
>> {
>>
>> - printf("ucode-split [-v] microcode_file\n");
>> + printf("ucode-split [-nv] microcode_file\n");
>> exit(1);
>> }
>>
>> @@ -124,11 +124,14 @@ main(int argc, char *argv[])
>> size_t len, resid;
>> ssize_t rv;
>> int c, ifd, ofd;
>> - bool vflag;
>> + bool nflag, vflag;
>>
>> - vflag = false;
>> - while ((c = getopt(argc, argv, "v")) != -1) {
>> + nflag = vflag = false;
>> + while ((c = getopt(argc, argv, "nv")) != -1) {
>> switch (c) {
>> + case 'n':
>> + nflag = true;
>> + break;
>> case 'v':
>> vflag = true;
>> break;
>> @@ -166,40 +169,48 @@ main(int argc, char *argv[])
>> if (vflag)
>> dump_header(&hdr);
>>
>> - sig_str = format_signature(hdr.processor_signature);
>> - asprintf(&output_file, "%s.%02x", sig_str,
>> - hdr.processor_flags & 0xff);
>> - free(sig_str);
>> - if (output_file == NULL)
>> - err(1, "asprintf");
>> - ofd = open(output_file, O_WRONLY | O_CREAT | O_TRUNC, 0600);
>> - if (ofd < 0)
>> - err(1, "open");
>> -
>> - /* Write header. */
>> - rv = write(ofd, &hdr, sizeof(hdr));
>> - if (rv < (ssize_t)sizeof(hdr))
>> - err(1, "write");
>> -
>> - /* Copy data. */
>> resid = (hdr.total_size != 0 ? hdr.total_size : 2048) -
>> sizeof(hdr);
>> if (resid > 1 << 24) /* Arbitrary chosen maximum size. */
>> errx(1, "header total_size too large");
>> - while (resid > 0) {
>> - len = resid < bufsize ? resid : bufsize;
>> - rv = read(ifd, buf, len);
>> - if (rv < 0)
>> - err(1, "read");
>> - else if (rv < (ssize_t)len)
>> - errx(1, "truncated microcode data");
>> - if (write(ofd, buf, len) < (ssize_t)len)
>> +
>> + if (nflag) {
>> + if (lseek(ifd, resid, SEEK_CUR) == -1)
>> + err(1, "lseek");
>> + printf("\n");
>> + } else {
>> + sig_str = format_signature(hdr.processor_signature);
>> + asprintf(&output_file, "%s.%02x", sig_str,
>> + hdr.processor_flags & 0xff);
>> + free(sig_str);
>> + if (output_file == NULL)
>> + err(1, "asprintf");
>> + ofd = open(output_file, O_WRONLY | O_CREAT | O_TRUNC,
>> + 0600);
>> + if (ofd < 0)
>> + err(1, "open");
>> +
>> + /* Write header. */
>> + rv = write(ofd, &hdr, sizeof(hdr));
>> + if (rv < (ssize_t)sizeof(hdr))
>> err(1, "write");
>> - resid -= len;
>> +
>> + /* Copy data. */
>> + while (resid > 0) {
>> + len = resid < bufsize ? resid : bufsize;
>> + rv = read(ifd, buf, len);
>> + if (rv < 0)
>> + err(1, "read");
>> + else if (rv < (ssize_t)len)
>> + errx(1, "truncated microcode data");
>> + if (write(ofd, buf, len) < (ssize_t)len)
>> + err(1, "write");
>> + resid -= len;
>> + }
>> + if (vflag)
>> + printf("written to %s\n\n", output_file);
>> + close(ofd);
>> + free(output_file);
>> }
>> - if (vflag)
>> - printf("written to %s\n\n", output_file);
>> - close(ofd);
>> - free(output_file);
>> }
>> }
>> _______________________________________________
>> svn-src-head at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/svn-src-head
>> To unsubscribe, send any mail to "svn-src-head-unsubscribe at freebsd.org"
>>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 618 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20180612/4f448be0/attachment.sig>
More information about the svn-src-head
mailing list