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

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2013-10-22 22:47:07 UTC
  • mfrom: (1.8.3) (10.1.42 sid)
  • Revision ID: package-import@ubuntu.com-20131022224707-1lya34fw3k3f24tv
Tags: 1.6.0+dfsg-2ubuntu1
* Merge 1.6.0~rc0+dfsg-2exp from debian experimental.  Remaining changes:
  - debian/control
    * update maintainer
    * remove libiscsi, usb-redir, vde, vnc-jpeg, and libssh2-1-dev
      from build-deps
    * enable rbd
    * add qemu-system and qemu-common B/R to qemu-keymaps
    * add D:udev, R:qemu, R:qemu-common and B:qemu-common to
      qemu-system-common
    * qemu-system-arm, qemu-system-ppc, qemu-system-sparc:
      - add qemu-kvm to Provides
      - add qemu-common, qemu-kvm, kvm to B/R
      - remove openbios-sparc from qemu-system-sparc D
      - drop openbios-ppc and openhackware Depends to Suggests (for now)
    * qemu-system-x86:
      - add qemu-common to Breaks/Replaces.
      - add cpu-checker to Recommends.
    * qemu-user: add B/R:qemu-kvm
    * qemu-kvm:
      - add armhf armel powerpc sparc to Architecture
      - C/R/P: qemu-kvm-spice
    * add qemu-common package
    * drop qemu-slof which is not packaged in ubuntu
  - add qemu-system-common.links for tap ifup/down scripts and OVMF link.
  - qemu-system-x86.links:
    * remove pxe rom links which are in kvm-ipxe
    * add symlink for kvm.1 manpage
  - debian/rules
    * add kvm-spice symlink to qemu-kvm
    * call dh_installmodules for qemu-system-x86
    * update dh_installinit to install upstart script
    * run dh_installman (Closes: #709241) (cherrypicked from 1.5.0+dfsg-2)
  - Add qemu-utils.links for kvm-* symlinks.
  - Add qemu-system-x86.qemu-kvm.upstart and .default
  - Add qemu-system-x86.modprobe to set nesting=1
  - Add qemu-system-common.preinst to add kvm group
  - qemu-system-common.postinst: remove bad group acl if there, then have
    udev relabel /dev/kvm.
  - New linaro patches from qemu-linaro rebasing branch
  - Dropped patches:
    * xen-simplify-xen_enabled.patch
    * sparc-linux-user-fix-missing-symbols-in-.rel-.rela.plt-sections.patch
    * main_loop-do-not-set-nonblocking-if-xen_enabled.patch
    * xen_machine_pv-do-not-create-a-dummy-CPU-in-machine-.patch
    * virtio-rng-fix-crash
  - Kept patches:
    * expose_vms_qemu64cpu.patch - updated
    * linaro arm patches from qemu-linaro rebasing branch
  - New patches:
    * fix-pci-add: change CONFIG variable in ifdef to make sure that
      pci_add is defined.
* Add linaro patches
* Add experimental mach-virt patches for arm virtualization.
* qemu-system-common.install: add debian/tmp/usr/lib to install the
  qemu-bridge-helper

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
From 197b7bb918f624411585f10fb36caa73e846a527 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/69] 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 2a079a2..2c9cfa5 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
 
1.8.1.2
233