diff options
| author | martin <martin@NetBSD.org> | 2019-12-09 15:19:30 +0000 |
|---|---|---|
| committer | martin <martin@NetBSD.org> | 2019-12-09 15:19:30 +0000 |
| commit | 2adeb2bcb85b6ee2c548cc786e2abefab103a39a (patch) | |
| tree | 7ff04288f926e336241a69d81c91ca36c5ed88b5 /usr.bin | |
| parent | 66608338e5eb086db0e94194a627a4e1e40db294 (diff) | |
Pull up following revision(s) (requested by jmcneill in ticket #525):
external/cddl/osnet/dev/dtrace/aarch64/dtrace_isa.c: revision 1.1
distrib/sets/lists/modules/md.i386: revision 1.83
share/mk/bsd.own.mk: revision 1.1168
usr.bin/mkubootimage/mkubootimage.c: revision 1.25
sys/modules/dtrace/Makefile: revision 1.7
usr.bin/mkubootimage/mkubootimage.c: revision 1.26
sys/modules/dtrace/Makefile: revision 1.8
external/cddl/osnet/dist/lib/libdtrace/aarch64/dt_isadep.c: revision 1.2
distrib/sets/lists/modules/mi: revision 1.128
sys/arch/aarch64/include/frame.h: revision 1.3
sys/arch/evbarm/conf/mk.generic64: revision 1.4
external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c: revision 1.12
sys/modules/cyclic/Makefile: revision 1.4
sys/arch/aarch64/conf/Makefile.aarch64: revision 1.16
external/cddl/osnet/dev/dtrace/aarch64/dtrace_subr.c: revision 1.1
sys/arch/aarch64/aarch64/start.S: revision 1.3
sys/arch/aarch64/aarch64/trap.c: revision 1.22
external/cddl/osnet/dev/fbt/aarch64/fbt_isa.c: revision 1.1
external/cddl/osnet/dev/dtrace/aarch64/dtrace_asm.S: revision 1.1
external/cddl/osnet/dev/fbt/aarch64/fbt_isa.h: revision 1.1
external/cddl/osnet/dev/dtrace/aarch64/regset.h: revision 1.1
external/cddl/osnet/lib/libdtrace/Makefile: revision 1.26
distrib/sets/lists/modules/md.amd64: revision 1.82
usr.bin/mkubootimage/mkubootimage.1: revision 1.13
distrib/sets/lists/modules/ad.arm: revision 1.14
Add KDTRACE_HOOKS support.
Define lwp_trapframe() macro
dtrace: add support for aarch64
Add syscall_linux back for other arm architectures (accidently removed
in previous)
Add -u flag for updating headers in place.
Fix alignment of .text section by changing load address to
0xffffffc000000000 and adding 64 bytes of padding before the entry point.
Update arm64 image header in place
Move dtrace_syscall_linux out of mi set list
Enable DTrace on aarch64
Fix signed/unsigned comparison
Diffstat (limited to 'usr.bin')
| -rw-r--r-- | usr.bin/mkubootimage/mkubootimage.1 | 7 | ||||
| -rw-r--r-- | usr.bin/mkubootimage/mkubootimage.c | 19 |
2 files changed, 20 insertions, 6 deletions
diff --git a/usr.bin/mkubootimage/mkubootimage.1 b/usr.bin/mkubootimage/mkubootimage.1 index 0329095c432..6771e734514 100644 --- a/usr.bin/mkubootimage/mkubootimage.1 +++ b/usr.bin/mkubootimage/mkubootimage.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: mkubootimage.1,v 1.12 2018/02/04 15:44:51 jmcneill Exp $ +.\" $NetBSD: mkubootimage.1,v 1.12.6.1 2019/12/09 15:19:30 martin Exp $ .\" .\" Copyright (c) 2012 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 4, 2018 +.Dd December 4, 2019 .Dt MKUBOOTIMAGE 1 .Os .Sh NAME @@ -46,6 +46,7 @@ .Fl n Ar image .Op Fl O Po freebsd Ns | Ns linux Ns | Ns netbsd Ns | Ns openbsd Pc .Fl T No ( fs Ns | Ns kernel Ns | Ns kernel_noload Ns | Ns ramdisk Ns | Ns standalone ) +.Op Fl u .Ar source destination .\" .Sh DESCRIPTION @@ -124,6 +125,8 @@ Defines the image type. This is required for .Qq uimg format images. +.It Fl u +Update the header in an existing file instead of creating a new one. .El .Pp The required diff --git a/usr.bin/mkubootimage/mkubootimage.c b/usr.bin/mkubootimage/mkubootimage.c index 79a0dce79a2..f7419d2a6a3 100644 --- a/usr.bin/mkubootimage/mkubootimage.c +++ b/usr.bin/mkubootimage/mkubootimage.c @@ -1,4 +1,4 @@ -/* $NetBSD: mkubootimage.c,v 1.24 2018/02/04 17:33:34 jmcneill Exp $ */ +/* $NetBSD: mkubootimage.c,v 1.24.6.1 2019/12/09 15:19:30 martin Exp $ */ /*- * Copyright (c) 2010 Jared D. McNeill <jmcneill@invisible.ca> @@ -30,7 +30,7 @@ #endif #include <sys/cdefs.h> -__RCSID("$NetBSD: mkubootimage.c,v 1.24 2018/02/04 17:33:34 jmcneill Exp $"); +__RCSID("$NetBSD: mkubootimage.c,v 1.24.6.1 2019/12/09 15:19:30 martin Exp $"); #include <sys/mman.h> #include <sys/stat.h> @@ -74,6 +74,7 @@ static uint32_t image_entrypoint = 0; static char *image_name; static uint32_t image_magic = IH_MAGIC; static enum image_format image_format = FMT_UIMG; +static int update_image = 0; static const struct uboot_image_format { enum image_format format; @@ -269,7 +270,7 @@ usage(void) fprintf(stderr, " -O <openbsd|netbsd|freebsd|linux>"); fprintf(stderr, " -T <standalone|kernel|kernel_noload|ramdisk|fs|script>"); fprintf(stderr, " -a <addr> [-e <ep>] [-m <magic>] -n <name>"); - fprintf(stderr, " [-f <uimg|arm64>]"); + fprintf(stderr, " [-f <uimg|arm64>] [-u]"); fprintf(stderr, " <srcfile> <dstfile>\n"); exit(EXIT_FAILURE); @@ -431,6 +432,13 @@ write_image(void *hdr, size_t hdrlen, int kernel_fd, int image_fd) } } + if (update_image) { + if (lseek(kernel_fd, hdrlen, SEEK_SET) != (off_t)hdrlen) { + perror("seek failed"); + return errno; + } + } + while ((rlen = read(kernel_fd, buf, sizeof(buf))) > 0) { wlen = write(image_fd, buf, rlen); if (wlen != rlen) { @@ -453,7 +461,7 @@ main(int argc, char *argv[]) int ch; unsigned long long num; - while ((ch = getopt(argc, argv, "A:C:E:O:T:a:e:f:hm:n:")) != -1) { + while ((ch = getopt(argc, argv, "A:C:E:O:T:a:e:f:hm:n:u")) != -1) { switch (ch) { case 'A': /* arch */ image_arch = get_arch(optarg); @@ -504,6 +512,9 @@ main(int argc, char *argv[]) case 'n': /* name */ image_name = strdup(optarg); break; + case 'u': /* update image */ + update_image = 1; + break; case 'h': default: usage(); |
