~ubuntu-branches/debian/jessie/qemu/jessie

« back to all changes in this revision

Viewing changes to hw/sysbus.c

  • Committer: Package Import Robot
  • Author(s): Vagrant Cascadian
  • Date: 2011-10-03 12:29:18 UTC
  • mfrom: (1.2.13) (10.2.6 experimental)
  • Revision ID: package-import@ubuntu.com-20111003122918-zc4kv6epchrbgdta
Tags: 0.15.0+dfsg-1
* New upstream version.
* Install new qemu-system, qemu-user and qemu-user-static variants: 
  lm32, microblazeel, s390x, unicore32
* Patch from upstream to set QEMU_INCLUDES before QEMU_CFLAGS.
* Update debian/watch to check http://qemu.org/download.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 */
19
19
 
20
20
#include "sysbus.h"
21
 
#include "sysemu.h"
22
21
#include "monitor.h"
23
22
 
24
23
static void sysbus_dev_print(Monitor *mon, DeviceState *dev, int indent);
173
172
    return dev;
174
173
}
175
174
 
 
175
DeviceState *sysbus_try_create_varargs(const char *name,
 
176
                                       target_phys_addr_t addr, ...)
 
177
{
 
178
    DeviceState *dev;
 
179
    SysBusDevice *s;
 
180
    va_list va;
 
181
    qemu_irq irq;
 
182
    int n;
 
183
 
 
184
    dev = qdev_try_create(NULL, name);
 
185
    if (!dev) {
 
186
        return NULL;
 
187
    }
 
188
    s = sysbus_from_qdev(dev);
 
189
    qdev_init_nofail(dev);
 
190
    if (addr != (target_phys_addr_t)-1) {
 
191
        sysbus_mmio_map(s, 0, addr);
 
192
    }
 
193
    va_start(va, addr);
 
194
    n = 0;
 
195
    while (1) {
 
196
        irq = va_arg(va, qemu_irq);
 
197
        if (!irq) {
 
198
            break;
 
199
        }
 
200
        sysbus_connect_irq(s, n, irq);
 
201
        n++;
 
202
    }
 
203
    return dev;
 
204
}
 
205
 
176
206
static void sysbus_dev_print(Monitor *mon, DeviceState *dev, int indent)
177
207
{
178
208
    SysBusDevice *s = sysbus_from_qdev(dev);
179
209
    int i;
180
210
 
 
211
    monitor_printf(mon, "%*sirq %d\n", indent, "", s->num_irq);
181
212
    for (i = 0; i < s->num_mmio; i++) {
182
213
        monitor_printf(mon, "%*smmio " TARGET_FMT_plx "/" TARGET_FMT_plx "\n",
183
214
                       indent, "", s->mmio[i].addr, s->mmio[i].size);