On 06/12/18 16:05, Oliver Pinter wrote: > On 5/22/18, Ed Maste <ema...@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-h...@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/svn-src-head >> To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org" >> > >
signature.asc
Description: OpenPGP digital signature