pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/emulators/qemu
Module Name: pkgsrc
Committed By: thorpej
Date: Sun May 23 13:53:10 UTC 2021
Modified Files:
pkgsrc/emulators/qemu: Makefile distinfo
pkgsrc/emulators/qemu/patches: patch-roms_qemu-palcode_pal.S
Log Message:
Fix a bug in the Qemu Alpha PALcode's unaligned access exception vector:
after advancing the PC past the faulting instruction as defined by the
architecture spec, actually store it in the stack frame passed to the
operating system.
Fixes the difference in behavior between Qemu and real hardware in
PR bin/56198.
To generate a diff of this commit:
cvs rdiff -u -r1.277 -r1.278 pkgsrc/emulators/qemu/Makefile
cvs rdiff -u -r1.176 -r1.177 pkgsrc/emulators/qemu/distinfo
cvs rdiff -u -r1.1 -r1.2 \
pkgsrc/emulators/qemu/patches/patch-roms_qemu-palcode_pal.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/emulators/qemu/Makefile
diff -u pkgsrc/emulators/qemu/Makefile:1.277 pkgsrc/emulators/qemu/Makefile:1.278
--- pkgsrc/emulators/qemu/Makefile:1.277 Wed Apr 21 13:24:37 2021
+++ pkgsrc/emulators/qemu/Makefile Sun May 23 13:53:10 2021
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.277 2021/04/21 13:24:37 adam Exp $
+# $NetBSD: Makefile,v 1.278 2021/05/23 13:53:10 thorpej Exp $
DISTNAME= qemu-5.2.0
-PKGREVISION= 7
+PKGREVISION= 8
CATEGORIES= emulators
MASTER_SITES= https://download.qemu.org/
EXTRACT_SUFX= .tar.xz
@@ -34,9 +34,15 @@ SUBST_SED.sphinx-build+= -e 's/sphinx-bu
.include "../../mk/bsd.prefs.mk"
+# When upgrading Qemu, you need to determine if this PALcode binary for
+# the Alpha emulator needs to be re-built. If it does not, then you do
+# not need to bump the version of this PALcode binary blob (which is
+# supplied as a separate distfile). Contact thorpej@ for details.
+PALCODE_CLIPPER= palcode-clipper-qemu-5.2.0nb8
+
DISTFILES= ${DEFAULT_DISTFILES}
-DISTFILES+= palcode-clipper
-SITES.palcode-clipper= http://ftp.NetBSD.org/pub/NetBSD/arch/alpha/qemu/
+DISTFILES+= ${PALCODE_CLIPPER}
+SITES.${PALCODE_CLIPPER}= http://ftp.NetBSD.org/pub/NetBSD/arch/alpha/qemu/
CONFIGURE_ARGS+= --prefix=${PREFIX}
CONFIGURE_ARGS+= --interp-prefix=${PREFIX}/share/qemu
@@ -150,7 +156,7 @@ TEST_TARGET= check
PYTHON_FOR_BUILD_ONLY= tool
post-extract:
- cp ${WRKDIR}/palcode-clipper ${WRKSRC}/pc-bios/palcode-clipper
+ cp ${WRKDIR}/${PALCODE_CLIPPER} ${WRKSRC}/pc-bios/palcode-clipper
cp ${FILESDIR}/hw-mips-mipssim_virtio.c ${WRKSRC}/hw/mips/mipssim_virtio.c
do-build:
Index: pkgsrc/emulators/qemu/distinfo
diff -u pkgsrc/emulators/qemu/distinfo:1.176 pkgsrc/emulators/qemu/distinfo:1.177
--- pkgsrc/emulators/qemu/distinfo:1.176 Wed Mar 31 08:52:27 2021
+++ pkgsrc/emulators/qemu/distinfo Sun May 23 13:53:10 2021
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.176 2021/03/31 08:52:27 reinoud Exp $
+$NetBSD: distinfo,v 1.177 2021/05/23 13:53:10 thorpej Exp $
-SHA1 (palcode-clipper) = e25ae10a10e0801e47b62b9ee2d10c8ccb4ee940
-RMD160 (palcode-clipper) = a637f1cc38dabfdff36e3f02b6dd02d7c63cb8db
-SHA512 (palcode-clipper) = 8d6966e59b59bc17c563bae3648af4ac99108990294edd0398ee91d8e61ec8f890608b9326b175d6a3a5668106b67b019a2c51b79f5b2935d4a516d34490056c
-Size (palcode-clipper) = 156704 bytes
+SHA1 (palcode-clipper-qemu-5.2.0nb8) = ddbf1dffb7c2b2157e0bbe9fb7db7e57105130b1
+RMD160 (palcode-clipper-qemu-5.2.0nb8) = 3f9fe19a40f7ca72ecfe047d1449e55b63cba3ee
+SHA512 (palcode-clipper-qemu-5.2.0nb8) = 33695d6001d86a19793a92d5e31775607c4dfc9ab9eea019ea6c4d543a2e11e8c07f83cca4934811a13ef829b528737ea37d9d2aaf66cba6f2746d44d2aa0b43
+Size (palcode-clipper-qemu-5.2.0nb8) = 159808 bytes
SHA1 (qemu-5.2.0.tar.xz) = 146578267387e301423502d19024f8ffe35ab332
RMD160 (qemu-5.2.0.tar.xz) = 2c33e773f012e333f99237e3d4ff1653ea0bc88f
SHA512 (qemu-5.2.0.tar.xz) = bddd633ce111471ebc651e03080251515178808556b49a308a724909e55dac0be0cc0c79c536ac12d239678ae94c60100dc124be9b9d9538340c03a2f27177f3
@@ -37,7 +37,7 @@ SHA1 (patch-roms_qemu-palcode_hwrpb.h) =
SHA1 (patch-roms_qemu-palcode_init.c) = 7a0ebcd86f4106318791e7d90273fb55a424f1b8
SHA1 (patch-roms_qemu-palcode_memcpy.c) = 7761774ae9092d0f494deaf302d663ba479a09cf
SHA1 (patch-roms_qemu-palcode_memset.c) = 55fa4e52e03a351eb98475e7c4755e5edc409e6c
-SHA1 (patch-roms_qemu-palcode_pal.S) = 4f41194ffaeaddb39fa7bff953bd75c2f070dfa5
+SHA1 (patch-roms_qemu-palcode_pal.S) = fd13cf4ff7a4ba48a9cbb773d520eacf06615301
SHA1 (patch-roms_qemu-palcode_pci.c) = 1d5b240fd6c940cbbe8518e4db529adba23d6fec
SHA1 (patch-roms_qemu-palcode_pci.h) = 081c9d6d9955be24fd19455ae653339cdb133f02
SHA1 (patch-roms_qemu-palcode_printf.c) = 7fb158f85bd1be9a939850d9d86175013f7a142b
Index: pkgsrc/emulators/qemu/patches/patch-roms_qemu-palcode_pal.S
diff -u pkgsrc/emulators/qemu/patches/patch-roms_qemu-palcode_pal.S:1.1 pkgsrc/emulators/qemu/patches/patch-roms_qemu-palcode_pal.S:1.2
--- pkgsrc/emulators/qemu/patches/patch-roms_qemu-palcode_pal.S:1.1 Sun Oct 4 20:39:25 2020
+++ pkgsrc/emulators/qemu/patches/patch-roms_qemu-palcode_pal.S Sun May 23 13:53:10 2021
@@ -1,4 +1,7 @@
-$NetBSD: patch-roms_qemu-palcode_pal.S,v 1.1 2020/10/04 20:39:25 thorpej Exp $
+$NetBSD: patch-roms_qemu-palcode_pal.S,v 1.2 2021/05/23 13:53:10 thorpej Exp $
+
+In the unaligned access exception vector, fix an apparent typo that
+prevented the return PC from being stored in the trap frame.
In SWPPAL, allow an additional, non-architected argument for the
switch to OSF/1 PALcode. This extra argument specifies the desired
@@ -11,8 +14,17 @@ This PALcode was already relying on this
its own purposes; this change merely gives control of this behavior
to internal SWPPAL callers.
---- roms/qemu-palcode/pal.S.orig 2020-10-04 16:32:44.901663159 +0000
-+++ roms/qemu-palcode/pal.S 2020-10-04 16:31:30.356343608 +0000
+--- roms/qemu-palcode/pal.S.orig 2020-12-08 17:00:57.000000000 +0000
++++ roms/qemu-palcode/pal.S 2021-05-23 06:23:53.826566568 +0000
+@@ -278,7 +278,7 @@ Pal_Unalign:
+ blbs p6, MchkBugCheck
+ addq p6, 4, p6 // increment past the faulting insn
+
+- STACK_FRAME p0, p1, p2, 1
++ STACK_FRAME p0, p6, p2, 1
+
+ mfpr p0, ptEntUna
+ mfpr $gp, ptKgp
@@ -566,6 +566,8 @@ ENDFN CallPal_Cserve_Cont
* r17 (a1) = New PC
* r18 (a2) = New PCB
Home |
Main Index |
Thread Index |
Old Index