From 691f2f9463b23fd2a9368fce03dac441acfda6e8 Mon Sep 17 00:00:00 2001 From: tsutsui Date: Sun, 14 Sep 2008 06:15:35 +0000 Subject: Add a workaround to make NetBSD/arc work with vga/pckbd console. (set proper ARC environments to avoid cngetc() on boot device detection) Bump PKGREVISION. --- emulators/gxemul/Makefile | 3 ++- emulators/gxemul/distinfo | 3 ++- emulators/gxemul/patches/patch-aa | 42 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 emulators/gxemul/patches/patch-aa (limited to 'emulators/gxemul') diff --git a/emulators/gxemul/Makefile b/emulators/gxemul/Makefile index db11acf14e8..f683c18238f 100644 --- a/emulators/gxemul/Makefile +++ b/emulators/gxemul/Makefile @@ -1,7 +1,8 @@ -# $NetBSD: Makefile,v 1.37 2008/06/18 21:30:15 minskim Exp $ +# $NetBSD: Makefile,v 1.38 2008/09/14 06:15:35 tsutsui Exp $ # DISTNAME= gxemul-0.4.6.5 +PKGREVISION= 1 CATEGORIES= emulators MASTER_SITES= http://gavare.se/gxemul/src/ diff --git a/emulators/gxemul/distinfo b/emulators/gxemul/distinfo index e7b05baae9b..37be39e7d55 100644 --- a/emulators/gxemul/distinfo +++ b/emulators/gxemul/distinfo @@ -1,5 +1,6 @@ -$NetBSD: distinfo,v 1.24 2008/06/18 21:30:15 minskim Exp $ +$NetBSD: distinfo,v 1.25 2008/09/14 06:15:35 tsutsui Exp $ SHA1 (gxemul-0.4.6.5.tar.gz) = 9eaee8a7f0ce811199e206b736e87208b0b6fe29 RMD160 (gxemul-0.4.6.5.tar.gz) = edc2a51d13e5c0e85a6cd5ac54d63aa605b22275 Size (gxemul-0.4.6.5.tar.gz) = 2187357 bytes +SHA1 (patch-aa) = 0274334a1ef8e348ee39194331c3e92660dbda7c diff --git a/emulators/gxemul/patches/patch-aa b/emulators/gxemul/patches/patch-aa new file mode 100644 index 00000000000..6af48603e34 --- /dev/null +++ b/emulators/gxemul/patches/patch-aa @@ -0,0 +1,42 @@ +--- src/promemul/arcbios.c.orig 2007-08-30 05:36:35.000000000 +0900 ++++ src/promemul/arcbios.c 2008-02-02 12:13:18.000000000 +0900 +@@ -2211,7 +2211,10 @@ + } + + if (machine->machine_type == MACHINE_ARC) +- strlcat(init_bootpath, "\\", bootpath_len); ++ snprintf(init_bootpath + strlen(init_bootpath), ++ bootpath_len - strlen(init_bootpath), ++ "scsi(0)disk(%i)rdisk(0)partition(1)", ++ machine->bootdev_id); + + CHECK_ALLOCATION(machine->bootstr = malloc(ARC_BOOTSTR_BUFLEN)); + +@@ -2362,20 +2365,17 @@ + add_environment_string(cpu, "kernname=unix", &addr); + } else { + char *tmp; +- size_t mlen = strlen(machine->bootarg) + +- strlen("OSLOADOPTIONS=") + 2; ++ size_t mlen = ARC_BOOTSTR_BUFLEN; + CHECK_ALLOCATION(tmp = malloc(mlen)); + snprintf(tmp, mlen, "OSLOADOPTIONS=%s", machine->bootarg); + store_pointer_and_advance(cpu, &addr2, addr, is64bit); + add_environment_string(cpu, tmp, &addr); +- +- store_pointer_and_advance(cpu, &addr2, addr, is64bit); +- add_environment_string(cpu, "OSLOADPARTITION=scsi(0)cdrom(6)" +- "fdisk(0);scsi(0)disk(0)rdisk(0)partition(1)", &addr); +- + store_pointer_and_advance(cpu, &addr2, addr, is64bit); +- add_environment_string(cpu, "SYSTEMPARTITION=scsi(0)cdrom(6)" +- "fdisk(0);scsi(0)disk(0)rdisk(0)partition(1)", &addr); ++ snprintf(tmp, mlen, ++ "OSLOADPARTITION=scsi(0)disk(%d)rdisk(0)partition(1)", ++ machine->bootdev_id); ++ add_environment_string(cpu, tmp, &addr); ++ free(tmp); + } + + /* End the environment strings with an empty zero-terminated + -- cgit v1.2.3