Sun Jun 2 09:19:58 2019 UTC ()
emulators/gxemul: fix hpcmips emulation

Add a patch from Anders Gavare that makes the hpcmips installation
work again.  Bump PKGREVISION.


(gson)
diff -r1.64 -r1.65 pkgsrc/emulators/gxemul/Makefile
diff -r1.57 -r1.58 pkgsrc/emulators/gxemul/distinfo
diff -r1.3 -r1.4 pkgsrc/emulators/gxemul/patches/patch-ad

cvs diff -r1.64 -r1.65 pkgsrc/emulators/gxemul/Makefile (expand / switch to unified diff)

--- pkgsrc/emulators/gxemul/Makefile 2019/04/11 12:50:30 1.64
+++ pkgsrc/emulators/gxemul/Makefile 2019/06/02 09:19:58 1.65
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1# $NetBSD: Makefile,v 1.64 2019/04/11 12:50:30 christos Exp $ 1# $NetBSD: Makefile,v 1.65 2019/06/02 09:19:58 gson Exp $
2 2
3DISTNAME= gxemul-0.6.1 3DISTNAME= gxemul-0.6.1
4PKGREVISION= 2 4PKGREVISION= 3
5CATEGORIES= emulators 5CATEGORIES= emulators
6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gxemul/} 6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gxemul/}
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://gavare.se/gxemul/ 9HOMEPAGE= http://gavare.se/gxemul/
10COMMENT= Framework for full-system computer architecture emulation 10COMMENT= Framework for full-system computer architecture emulation
11LICENSE= modified-bsd 11LICENSE= modified-bsd
12 12
13USE_TOOLS+= pax 13USE_TOOLS+= pax
14 14
15USE_LANGUAGES= c c++ 15USE_LANGUAGES= c c++
16HAS_CONFIGURE= yes 16HAS_CONFIGURE= yes
17BUILD_TARGET= build 17BUILD_TARGET= build

cvs diff -r1.57 -r1.58 pkgsrc/emulators/gxemul/distinfo (expand / switch to unified diff)

--- pkgsrc/emulators/gxemul/distinfo 2019/04/11 12:50:30 1.57
+++ pkgsrc/emulators/gxemul/distinfo 2019/06/02 09:19:58 1.58
@@ -1,20 +1,20 @@ @@ -1,20 +1,20 @@
1$NetBSD: distinfo,v 1.57 2019/04/11 12:50:30 christos Exp $ 1$NetBSD: distinfo,v 1.58 2019/06/02 09:19:58 gson Exp $
2 2
3SHA1 (gxemul-0.6.1.tar.gz) = 150e495e91a968a49ffc7fe2390c3edff100508d 3SHA1 (gxemul-0.6.1.tar.gz) = 150e495e91a968a49ffc7fe2390c3edff100508d
4RMD160 (gxemul-0.6.1.tar.gz) = 0434bff07970d8828531d222cc8b95c64c2d62f1 4RMD160 (gxemul-0.6.1.tar.gz) = 0434bff07970d8828531d222cc8b95c64c2d62f1
5SHA512 (gxemul-0.6.1.tar.gz) = 03dbbaa9ba5e36b4644a984f06bffa5ff9e763f395c472c0fbdfc8bca975a5fb184a676d3a6c5e1a3483c3c62a2778af9c36d2bf4ab8dcaf21b3dfac8abcd301 5SHA512 (gxemul-0.6.1.tar.gz) = 03dbbaa9ba5e36b4644a984f06bffa5ff9e763f395c472c0fbdfc8bca975a5fb184a676d3a6c5e1a3483c3c62a2778af9c36d2bf4ab8dcaf21b3dfac8abcd301
6Size (gxemul-0.6.1.tar.gz) = 5617712 bytes 6Size (gxemul-0.6.1.tar.gz) = 5617712 bytes
7SHA1 (patch-ad) = 7f02cce83c58bbd5399b157a9da9c6c4260122f0 7SHA1 (patch-ad) = d4964bc672b690ee2a5c7148b9b9852d7f87776a
8SHA1 (patch-src_components_cpu_CPUDyntransComponent.cc) = dd7a9a83d8abce053e5e61a6aa6ae057c6c51a6a 8SHA1 (patch-src_components_cpu_CPUDyntransComponent.cc) = dd7a9a83d8abce053e5e61a6aa6ae057c6c51a6a
9SHA1 (patch-src_components_cpu_M88K__CPUComponent.cc) = 4b456721aa0639b91d2dab82fb28f61a951ec8f4 9SHA1 (patch-src_components_cpu_M88K__CPUComponent.cc) = 4b456721aa0639b91d2dab82fb28f61a951ec8f4
10SHA1 (patch-src_components_cpu_MIPS__CPUComponent.cc) = 9bcb304937ccfa491e37da6f57729854294c420d 10SHA1 (patch-src_components_cpu_MIPS__CPUComponent.cc) = 9bcb304937ccfa491e37da6f57729854294c420d
11SHA1 (patch-src_console_console.cc) = 0b9c07eaa26a39b20a6f6769cdf02208fc9667d3 11SHA1 (patch-src_console_console.cc) = 0b9c07eaa26a39b20a6f6769cdf02208fc9667d3
12SHA1 (patch-src_cpus_cpu_mips.cc) = ad6d9c8b452b1b8422d9194cadfa1c8c3d29ef21 12SHA1 (patch-src_cpus_cpu_mips.cc) = ad6d9c8b452b1b8422d9194cadfa1c8c3d29ef21
13SHA1 (patch-src_devices_dev__footbridge.cc) = 2dc76e65fff7e6c846d9d06b74bed76075b0c79a 13SHA1 (patch-src_devices_dev__footbridge.cc) = 2dc76e65fff7e6c846d9d06b74bed76075b0c79a
14SHA1 (patch-src_devices_dev__sh4.cc) = 81e3dcc01934c71389a91861343bc8aa32284160 14SHA1 (patch-src_devices_dev__sh4.cc) = 81e3dcc01934c71389a91861343bc8aa32284160
15SHA1 (patch-src_disk_diskimage__scsicmd.cc) = fc0d9cff9afb057051c4f2cb65c898a31a1463bd 15SHA1 (patch-src_disk_diskimage__scsicmd.cc) = fc0d9cff9afb057051c4f2cb65c898a31a1463bd
16SHA1 (patch-src_include_components_CPUDyntransComponent.h) = f60d31261a03a0a73fa4844143da4931cae85ce6 16SHA1 (patch-src_include_components_CPUDyntransComponent.h) = f60d31261a03a0a73fa4844143da4931cae85ce6
17SHA1 (patch-src_include_components_M88K__CPUComponent.h) = 5232386ac337c552d88cbdb829b6f0f3e94ba0f2 17SHA1 (patch-src_include_components_M88K__CPUComponent.h) = 5232386ac337c552d88cbdb829b6f0f3e94ba0f2
18SHA1 (patch-src_include_components_MIPS__CPUComponent.h) = 48bc9ea9dacbe7afd9734ee04e270943208db148 18SHA1 (patch-src_include_components_MIPS__CPUComponent.h) = 48bc9ea9dacbe7afd9734ee04e270943208db148
19SHA1 (patch-src_include_mips_cpu_types.h) = 04fff50fad3e619e7e0eeb8bf17a79edd18b2147 19SHA1 (patch-src_include_mips_cpu_types.h) = 04fff50fad3e619e7e0eeb8bf17a79edd18b2147
20SHA1 (patch-src_include_refcount__ptr.h) = 6c8742b199801c1db906d4856f6f5f01a0f25fe0 20SHA1 (patch-src_include_refcount__ptr.h) = 6c8742b199801c1db906d4856f6f5f01a0f25fe0

cvs diff -r1.3 -r1.4 pkgsrc/emulators/gxemul/patches/Attic/patch-ad (expand / switch to unified diff)

--- pkgsrc/emulators/gxemul/patches/Attic/patch-ad 2019/01/04 13:35:16 1.3
+++ pkgsrc/emulators/gxemul/patches/Attic/patch-ad 2019/06/02 09:19:58 1.4
@@ -1,20 +1,31 @@ @@ -1,20 +1,31 @@
1$NetBSD: patch-ad,v 1.3 2019/01/04 13:35:16 ryoon Exp $ 1$NetBSD: patch-ad,v 1.4 2019/06/02 09:19:58 gson Exp $
 2
 3short-term hack to fix hpcmips emulation from Anders Gavare
2 4
3patch to fix big-endian mips support from matt@netbsd.org 5patch to fix big-endian mips support from matt@netbsd.org
4 6
5diff -rup src/cpus/cpu_mips_coproc.cc src/cpus/cpu_mips_coproc.cc 7diff -rup src/cpus/cpu_mips_coproc.cc src/cpus/cpu_mips_coproc.cc
6--- src/cpus/cpu_mips_coproc.cc.orig 2018-12-07 06:29:22.000000000 +0000 8--- src/cpus/cpu_mips_coproc.cc.orig 2018-12-07 06:29:22.000000000 +0000
7+++ src/cpus/cpu_mips_coproc.cc 9+++ src/cpus/cpu_mips_coproc.cc
 10@@ -1927,7 +1927,7 @@ void coproc_tlbwri(struct cpu *cpu, int
 11 * be too expensive to add e.g. 16MB pages like
 12 * this.
 13 */
 14- if (psize == 0x1000) {
 15+ if (psize == 0x1000 && cpu->cd.mips.cpu_type.rev != MIPS_R4100) {
 16 memblock = memory_paddr_to_hostaddr(cpu->mem, paddr0, 0);
 17 if (memblock != NULL && cp->reg[COP0_ENTRYLO0] & ENTRYLO_V)
 18 cpu->update_translation_table(cpu, vaddr0, memblock,
8@@ -2029,6 +2029,13 @@ void coproc_function(struct cpu *cpu, st 19@@ -2029,6 +2029,13 @@ void coproc_function(struct cpu *cpu, st
9  20
10 if (cpnr < 2 && (((function & 0x03e007f8) == (COPz_MTCz << 21)) 21 if (cpnr < 2 && (((function & 0x03e007f8) == (COPz_MTCz << 21))
11 || ((function & 0x03e007f8) == (COPz_DMTCz << 21)))) { 22 || ((function & 0x03e007f8) == (COPz_DMTCz << 21)))) {
12+ tmpvalue = cpu->cd.mips.gpr[rt]; 23+ tmpvalue = cpu->cd.mips.gpr[rt];
13+ if (copz == COPz_MTCz) { 24+ if (copz == COPz_MTCz) {
14+ /* Sign-extend: */ 25+ /* Sign-extend: */
15+ tmpvalue &= 0xffffffffULL; 26+ tmpvalue &= 0xffffffffULL;
16+ if (tmpvalue & 0x80000000ULL) 27+ if (tmpvalue & 0x80000000ULL)
17+ tmpvalue |= 0xffffffff00000000ULL; 28+ tmpvalue |= 0xffffffff00000000ULL;
18+ } 29+ }
19 if (unassemble_only) { 30 if (unassemble_only) {
20 debug("%s%i\t%s,", copz==COPz_DMTCz? "dmtc" : "mtc", 31 debug("%s%i\t%s,", copz==COPz_DMTCz? "dmtc" : "mtc",