summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authormartin <martin@pkgsrc.org>2012-06-18 19:25:38 +0000
committermartin <martin@pkgsrc.org>2012-06-18 19:25:38 +0000
commit76f82443864069ab4733253eb22603abbb65b505 (patch)
treed79ae9fed44ebc29edce8407b1660a82e4685dc7 /emulators
parenta7c9047cc6c0272cba221c78a421f8d3257906ec (diff)
downloadpkgsrc-76f82443864069ab4733253eb22603abbb65b505.tar.gz
Fix emulation of esp commands when not using dma.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/qemu/distinfo3
-rw-r--r--emulators/qemu/patches/patch-hw-esp.c34
2 files changed, 36 insertions, 1 deletions
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index 04a5341ea58..b4f0de912fb 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.73 2012/06/07 21:23:45 ryoon Exp $
+$NetBSD: distinfo,v 1.74 2012/06/18 19:25:38 martin Exp $
SHA1 (qemu-1.1.0.tar.bz2) = 9f761d17bee8b6e7737fbcabbbaac50bc999a0ee
RMD160 (qemu-1.1.0.tar.bz2) = f2066f9b28298cfe6c7df7d3210fa95b177cc420
@@ -8,6 +8,7 @@ SHA1 (patch-eg) = f06b9c675717fd54afba0cf2714158b358078a15
SHA1 (patch-eh) = 9425da879c4809abe6959b402cb98de370f9ceb6
SHA1 (patch-en) = 01f74603909474d222f9c8bc75c831b5c7393045
SHA1 (patch-et) = 5755dc6ce5ecd84dfd34bb0e0f64b70c2639d575
+SHA1 (patch-hw-esp.c) = 37a48a1ad525b1efc6f159801aa0be4fb1622f69
SHA1 (patch-hw_ppc__newworld.c) = 9490186f0189ea4eceaf15132259cf67ec002cc4
SHA1 (patch-hw_ppc__oldworld.c) = e339647c92c7cbfe67b61b96bc655a47e7af2123
SHA1 (patch-hw_xilinx__axienet.c) = ffd6a41d7c76ef11d63b27ffc263b668ee569e99
diff --git a/emulators/qemu/patches/patch-hw-esp.c b/emulators/qemu/patches/patch-hw-esp.c
new file mode 100644
index 00000000000..f46512929c5
--- /dev/null
+++ b/emulators/qemu/patches/patch-hw-esp.c
@@ -0,0 +1,34 @@
+# $NetBSD: patch-hw-esp.c,v 1.1 2012/06/18 19:25:38 martin Exp $
+
+# Commands that do not use DMA do not need to be defered untill DMA is
+# enabled, https://bugs.launchpad.net/qemu/+bug/1014099
+
+--- hw/esp.c.orig 2012-06-01 11:13:13.000000000 +0200
++++ hw/esp.c 2012-06-18 01:43:34.000000000 +0200
+@@ -270,7 +270,7 @@ static void handle_satn(ESPState *s)
+ uint8_t buf[32];
+ int len;
+
+- if (!s->dma_enabled) {
++ if (s->dma && !s->dma_enabled) {
+ s->dma_cb = handle_satn;
+ return;
+ }
+@@ -284,7 +284,7 @@ static void handle_s_without_atn(ESPStat
+ uint8_t buf[32];
+ int len;
+
+- if (!s->dma_enabled) {
++ if (s->dma && !s->dma_enabled) {
+ s->dma_cb = handle_s_without_atn;
+ return;
+ }
+@@ -296,7 +296,7 @@ static void handle_s_without_atn(ESPStat
+
+ static void handle_satn_stop(ESPState *s)
+ {
+- if (!s->dma_enabled) {
++ if (s->dma && !s->dma_enabled) {
+ s->dma_cb = handle_satn_stop;
+ return;
+ }