~ubuntu-branches/ubuntu/trusty/qemu/trusty

« back to all changes in this revision

Viewing changes to debian/patches/ubuntu/linaro/0050-hw-nseries.c-Add-debug-trace-to-MIPID.patch

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2014-02-04 12:13:08 UTC
  • mfrom: (10.1.45 sid)
  • Revision ID: package-import@ubuntu.com-20140204121308-1xq92lrfs75agw2g
Tags: 1.7.0+dfsg-3ubuntu1~ppa1
* Merge 1.7.0+dfsg-3 from debian.  Remaining changes:
  - debian/patches/ubuntu:
    * expose-vmx_qemu64cpu.patch
    * linaro (omap3) and arm64 patches
    * ubuntu/target-ppc-add-stubs-for-kvm-breakpoints: fix FTBFS
      on ppc
    * ubuntu/CVE-2013-4377.patch: fix denial of service via virtio
  - debian/qemu-system-x86.modprobe: set kvm_intel nested=1 options
  - debian/control:
    * add arm64 to Architectures
    * add qemu-common and qemu-system-aarch64 packages
  - debian/qemu-system-common.install: add debian/tmp/usr/lib
  - debian/qemu-system-common.preinst: add kvm group
  - debian/qemu-system-common.postinst: remove acl placed by udev,
    and add udevadm trigger.
  - qemu-system-x86.links: add eepro100.rom, remove pxe-virtio,
    pxe-e1000 and pxe-rtl8139.
  - add qemu-system-x86.qemu-kvm.upstart and .default
  - qemu-user-static.postinst-in: remove arm64 binfmt
  - debian/rules:
    * allow parallel build
    * add aarch64 to system_targets and sys_systems
    * add qemu-kvm-spice links
    * install qemu-system-x86.modprobe
  - add debian/qemu-system-common.links for OVMF.fd link
* Remove kvm-img, kvm-nbd, kvm-ifup and kvm-ifdown symlinks.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
From 141e4172e8ae0387209f26d0362059a643c7f33a Mon Sep 17 00:00:00 2001
 
2
From: Peter Maydell <peter.maydell@linaro.org>
 
3
Date: Mon, 18 Feb 2013 16:58:32 +0000
 
4
Subject: [PATCH 50/70] hw/nseries.c: Add debug trace to MIPID
 
5
 
 
6
---
 
7
 hw/arm/nseries.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 
8
 1 file changed, 50 insertions(+), 4 deletions(-)
 
9
 
 
10
diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c
 
11
index 2af8aca..c09d918 100644
 
12
--- a/hw/arm/nseries.c
 
13
+++ b/hw/arm/nseries.c
 
14
@@ -36,6 +36,15 @@
 
15
 #include "hw/sysbus.h"
 
16
 #include "exec/address-spaces.h"
 
17
 
 
18
+//#define MIPID_DEBUG
 
19
+
 
20
+#ifdef MIPID_DEBUG
 
21
+#define TRACE_MIPID(fmt, ...) \
 
22
+    fprintf(stderr, "%s@%d: " fmt "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__)
 
23
+#else
 
24
+#define TRACE_MIPID(...)
 
25
+#endif
 
26
+
 
27
 /* Nokia N8x0 support */
 
28
 struct n800_s {
 
29
     struct omap_mpu_state_s *mpu;
 
30
@@ -462,16 +471,20 @@ static uint32_t mipid_txrx(SPIDevice *spidev, uint32_t cmd, int len)
 
31
 
 
32
     switch (s->cmd) {
 
33
     case 0x00: /* NOP */
 
34
+        TRACE_MIPID("NOP");
 
35
         break;
 
36
 
 
37
     case 0x01: /* SWRESET */
 
38
+        TRACE_MIPID("SWRESET");
 
39
         mipid_reset(&s->spi.qdev);
 
40
         break;
 
41
 
 
42
     case 0x02: /* BSTROFF */
 
43
+        TRACE_MIPID("BSTROFF");
 
44
         s->booster = 0;
 
45
         break;
 
46
     case 0x03: /* BSTRON */
 
47
+        TRACE_MIPID("BSTRON");
 
48
         s->booster = 1;
 
49
         break;
 
50
 
 
51
@@ -480,6 +493,8 @@ static uint32_t mipid_txrx(SPIDevice *spidev, uint32_t cmd, int len)
 
52
         s->resp[0] = (s->id >> 16) & 0xff;
 
53
         s->resp[1] = (s->id >>  8) & 0xff;
 
54
         s->resp[2] = (s->id >>  0) & 0xff;
 
55
+        TRACE_MIPID("RDDID 0x%02x 0x%02x 0x%02x",
 
56
+                    s->resp[0], s->resp[1], s->resp[2]);
 
57
         break;
 
58
 
 
59
     case 0x06: /* RD_RED */
 
60
@@ -487,6 +502,7 @@ static uint32_t mipid_txrx(SPIDevice *spidev, uint32_t cmd, int len)
 
61
         /* XXX the bootloader sometimes issues RD_BLUE meaning RDDID so
 
62
          * for the bootloader one needs to change this.  */
 
63
     case 0x08: /* RD_BLUE */
 
64
+        TRACE_MIPID("RD_RED/GREEN_BLUE 0x01");
 
65
         s->p = 0;
 
66
         /* TODO: return first pixel components */
 
67
         s->resp[0] = 0x01;
 
68
@@ -500,80 +516,100 @@ static uint32_t mipid_txrx(SPIDevice *spidev, uint32_t cmd, int len)
 
69
         s->resp[2] = (s->vscr << 7) | (s->invert << 5) |
 
70
                 (s->onoff << 2) | (s->te << 1) | (s->gamma >> 2);
 
71
         s->resp[3] = s->gamma << 6;
 
72
+        TRACE_MIPID("RDDST 0x%02x 0x%02x 0x%02x 0x%02x",
 
73
+                    s->resp[0], s->resp[1], s->resp[2], s->resp[3]);
 
74
         break;
 
75
 
 
76
     case 0x0a: /* RDDPM */
 
77
         s->p = 0;
 
78
         s->resp[0] = (s->onoff << 2) | (s->normal << 3) | (s->sleep << 4) |
 
79
                 (s->partial << 5) | (s->sleep << 6) | (s->booster << 7);
 
80
+        TRACE_MIPID("RDDPM 0x%02x", s->resp[0]);
 
81
         break;
 
82
     case 0x0b: /* RDDMADCTR */
 
83
         s->p = 0;
 
84
         s->resp[0] = 0;
 
85
+        TRACE_MIPID("RDDMACTR 0x%02x", s->resp[0]);
 
86
         break;
 
87
     case 0x0c: /* RDDCOLMOD */
 
88
         s->p = 0;
 
89
         s->resp[0] = 5;        /* 65K colours */
 
90
+        TRACE_MIPID("RDDCOLMOD 0x%02x", s->resp[0]);
 
91
         break;
 
92
     case 0x0d: /* RDDIM */
 
93
         s->p = 0;
 
94
         s->resp[0] = (s->invert << 5) | (s->vscr << 7) | s->gamma;
 
95
+        TRACE_MIPID("RDDIM 0x%02x", s->resp[0]);
 
96
         break;
 
97
     case 0x0e: /* RDDSM */
 
98
         s->p = 0;
 
99
         s->resp[0] = s->te << 7;
 
100
+        TRACE_MIPID("RDDSM 0x%02x", s->resp[0]);
 
101
         break;
 
102
     case 0x0f: /* RDDSDR */
 
103
         s->p = 0;
 
104
         s->resp[0] = s->selfcheck;
 
105
+        TRACE_MIPID("RDDSDR 0x%02x", s->resp[0]);
 
106
         break;
 
107
 
 
108
     case 0x10: /* SLPIN */
 
109
+        TRACE_MIPID("SLPIN");
 
110
         s->sleep = 1;
 
111
         break;
 
112
     case 0x11: /* SLPOUT */
 
113
+        TRACE_MIPID("SLPOUT");
 
114
         s->sleep = 0;
 
115
         s->selfcheck ^= 1 << 6;        /* POFF self-diagnosis Ok */
 
116
         break;
 
117
 
 
118
     case 0x12: /* PTLON */
 
119
+        TRACE_MIPID("PTLON");
 
120
         s->partial = 1;
 
121
         s->normal = 0;
 
122
         s->vscr = 0;
 
123
         break;
 
124
     case 0x13: /* NORON */
 
125
+        TRACE_MIPID("NORON");
 
126
         s->partial = 0;
 
127
         s->normal = 1;
 
128
         s->vscr = 0;
 
129
         break;
 
130
 
 
131
     case 0x20: /* INVOFF */
 
132
+        TRACE_MIPID("INVOFF");
 
133
         s->invert = 0;
 
134
         break;
 
135
     case 0x21: /* INVON */
 
136
+        TRACE_MIPID("INVON");
 
137
         s->invert = 1;
 
138
         break;
 
139
 
 
140
     case 0x22: /* APOFF */
 
141
     case 0x23: /* APON */
 
142
+        TRACE_MIPID("APON/OFF");
 
143
         goto bad_cmd;
 
144
 
 
145
     case 0x25: /* WRCNTR */
 
146
+        TRACE_MIPID("WRCNTR");
 
147
         if (s->pm < 0)
 
148
             s->pm = 1;
 
149
         goto bad_cmd;
 
150
 
 
151
     case 0x26: /* GAMSET */
 
152
-        if (!s->pm)
 
153
+        if (!s->pm) {
 
154
             s->gamma = ffs(s->param[0] & 0xf) - 1;
 
155
-        else if (s->pm < 0)
 
156
+            TRACE_MIPID("GAMSET 0x%02x", s->gamma);
 
157
+        } else if (s->pm < 0) {
 
158
             s->pm = 1;
 
159
+        }
 
160
         break;
 
161
 
 
162
     case 0x28: /* DISPOFF */
 
163
+        TRACE_MIPID("DISPOFF");
 
164
         s->onoff = 0;
 
165
         break;
 
166
     case 0x29: /* DISPON */
 
167
+        TRACE_MIPID("DISPON");
 
168
         s->onoff = 1;
 
169
         break;
 
170
 
 
171
@@ -587,19 +623,24 @@ static uint32_t mipid_txrx(SPIDevice *spidev, uint32_t cmd, int len)
 
172
         goto bad_cmd;
 
173
 
 
174
     case 0x34: /* TEOFF */
 
175
+        TRACE_MIPID("TEOFF");
 
176
         s->te = 0;
 
177
         break;
 
178
     case 0x35: /* TEON */
 
179
-        if (!s->pm)
 
180
+        if (!s->pm) {
 
181
             s->te = 1;
 
182
-        else if (s->pm < 0)
 
183
+            TRACE_MIPID("TEON 0x%02x", s->param[0] & 0xff);
 
184
+        } else if (s->pm < 0) {
 
185
             s->pm = 1;
 
186
+        }
 
187
         break;
 
188
 
 
189
     case 0x36: /* MADCTR */
 
190
+        TRACE_MIPID("MADCTR");
 
191
         goto bad_cmd;
 
192
 
 
193
     case 0x37: /* VSCSAD */
 
194
+        TRACE_MIPID("VSCSAD");
 
195
         s->partial = 0;
 
196
         s->normal = 0;
 
197
         s->vscr = 1;
 
198
@@ -617,6 +658,7 @@ static uint32_t mipid_txrx(SPIDevice *spidev, uint32_t cmd, int len)
 
199
         break;
 
200
 
 
201
     case 0xb4: /* FRMSEL */
 
202
+        TRACE_MIPID("FRMSEL");
 
203
         break;
 
204
 
 
205
     case 0xb5: /* FRM8SEL */
 
206
@@ -631,6 +673,7 @@ static uint32_t mipid_txrx(SPIDevice *spidev, uint32_t cmd, int len)
 
207
         s->p = 0;
 
208
         s->resp[0] = 0;
 
209
         s->resp[1] = 1;
 
210
+        TRACE_MIPID("??? 0x%02x 0x%02x", s->resp[0], s->resp[1]);
 
211
         break;
 
212
 
 
213
     case 0xc2: /* IFMOD */
 
214
@@ -649,14 +692,17 @@ static uint32_t mipid_txrx(SPIDevice *spidev, uint32_t cmd, int len)
 
215
     case 0xda: /* RDID1 */
 
216
         s->p = 0;
 
217
         s->resp[0] = (s->id >> 16) & 0xff;
 
218
+        TRACE_MIPID("RDID1 0x%02x", s->resp[0]);
 
219
         break;
 
220
     case 0xdb: /* RDID2 */
 
221
         s->p = 0;
 
222
         s->resp[0] = (s->id >>  8) & 0xff;
 
223
+        TRACE_MIPID("RDID2 0x%02x", s->resp[0]);
 
224
         break;
 
225
     case 0xdc: /* RDID3 */
 
226
         s->p = 0;
 
227
         s->resp[0] = (s->id >>  0) & 0xff;
 
228
+        TRACE_MIPID("RDID3 0x%02x", s->resp[0]);
 
229
         break;
 
230
 
 
231
     default:
 
232
-- 
 
233
1.8.5.2
 
234