summaryrefslogtreecommitdiff
path: root/emulators/gxemul
diff options
context:
space:
mode:
authortsutsui <tsutsui@pkgsrc.org>2008-09-14 06:15:35 +0000
committertsutsui <tsutsui@pkgsrc.org>2008-09-14 06:15:35 +0000
commit40a2751c5cbd26123b5ad41f842be6fd9737132a (patch)
tree31155f9cccff473c5ddc42c32d34fc39f088053d /emulators/gxemul
parent01e1c75197158c183b39a98dd2dee4dca93dacb8 (diff)
downloadpkgsrc-40a2751c5cbd26123b5ad41f842be6fd9737132a.tar.gz
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.
Diffstat (limited to 'emulators/gxemul')
-rw-r--r--emulators/gxemul/Makefile3
-rw-r--r--emulators/gxemul/distinfo3
-rw-r--r--emulators/gxemul/patches/patch-aa42
3 files changed, 46 insertions, 2 deletions
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
+