Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/evbarm/stand/gzboot Allow a configuration to specif...
details: https://anonhg.NetBSD.org/src/rev/c69ecd8a4998
branches: trunk
changeset: 848876:c69ecd8a4998
user: thorpej <thorpej%NetBSD.org@localhost>
date: Wed Feb 12 19:55:32 2020 +0000
description:
Allow a configuration to specify an arbitrary address where the
compressed kernel image is located, in the event it can't be appended
to or embedded within the gzboot binary itself.
diffstat:
sys/arch/evbarm/stand/gzboot/Makefile.gzboot | 5 ++++-
sys/arch/evbarm/stand/gzboot/gzboot.c | 13 +++++++++++--
2 files changed, 15 insertions(+), 3 deletions(-)
diffs (57 lines):
diff -r 4e3a64d060ab -r c69ecd8a4998 sys/arch/evbarm/stand/gzboot/Makefile.gzboot
--- a/sys/arch/evbarm/stand/gzboot/Makefile.gzboot Wed Feb 12 18:35:01 2020 +0000
+++ b/sys/arch/evbarm/stand/gzboot/Makefile.gzboot Wed Feb 12 19:55:32 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.gzboot,v 1.37 2019/10/24 18:46:21 christos Exp $
+# $NetBSD: Makefile.gzboot,v 1.38 2020/02/12 19:55:32 thorpej Exp $
NOMAN= # defined
@@ -49,6 +49,9 @@
CPPFLAGS+= -DRELOC=${RELOC}
CPPFLAGS+= -DMAXIMAGESIZE=${MAXIMAGESIZE}
CPPFLAGS+= -DLOADADDR=${LOADADDR}
+.if defined(GZSRCADDR)
+CPPFLAGS+= -DGZSRCADDR=${GZSRCADDR}
+.endif
COPTS+= -ffreestanding
COPTS+= -fno-stack-protector
diff -r 4e3a64d060ab -r c69ecd8a4998 sys/arch/evbarm/stand/gzboot/gzboot.c
--- a/sys/arch/evbarm/stand/gzboot/gzboot.c Wed Feb 12 18:35:01 2020 +0000
+++ b/sys/arch/evbarm/stand/gzboot/gzboot.c Wed Feb 12 19:55:32 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: gzboot.c,v 1.15 2011/01/22 19:19:17 joerg Exp $ */
+/* $NetBSD: gzboot.c,v 1.16 2020/02/12 19:55:32 thorpej Exp $ */
/*
* Copyright (c) 2002 Wasabi Systems, Inc.
@@ -111,6 +111,12 @@
void main(void);
void gzcopy(void *, const void *, size_t);
+#ifdef GZSRCADDR
+#define compressed_image (void *)GZSRCADDR
+#else
+#define compressed_image md_root_image
+#endif
+
void
main(void)
{
@@ -131,11 +137,14 @@
* decompressing from an image which was concatenated onto
* the end of the gzboot binary.
*/
+#ifdef GZSRCADDR
+ printf(">> Image address: %p\n", compressed_image);
+#endif
if (md_root_size != 0)
printf(">> Image size: %u\n", md_root_size);
printf("Uncompressing image...");
- gzcopy((void *) loadaddr, md_root_image, md_root_size);
+ gzcopy((void *) loadaddr, compressed_image, md_root_size);
printf("done.\n");
printf("Jumping to image @ 0x%x...\n", md_root_loadaddr);
Home |
Main Index |
Thread Index |
Old Index