Revision 4b48bf05 hw/iommu.c
b/hw/iommu.c | ||
---|---|---|
366 | 366 |
s->regs[IOMMU_MASK_ID] = IOMMU_TS_MASK; |
367 | 367 |
} |
368 | 368 |
|
369 |
void *iommu_init(target_phys_addr_t addr, uint32_t version, qemu_irq irq) |
|
370 |
{ |
|
371 |
DeviceState *dev; |
|
372 |
SysBusDevice *s; |
|
373 |
IOMMUState *d; |
|
374 |
|
|
375 |
dev = qdev_create(NULL, "iommu"); |
|
376 |
qdev_prop_set_uint32(dev, "version", version); |
|
377 |
qdev_init(dev); |
|
378 |
s = sysbus_from_qdev(dev); |
|
379 |
sysbus_connect_irq(s, 0, irq); |
|
380 |
sysbus_mmio_map(s, 0, addr); |
|
381 |
|
|
382 |
d = FROM_SYSBUS(IOMMUState, s); |
|
383 |
|
|
384 |
return d; |
|
385 |
} |
|
386 |
|
|
387 | 369 |
static void iommu_init1(SysBusDevice *dev) |
388 | 370 |
{ |
389 | 371 |
IOMMUState *s = FROM_SYSBUS(IOMMUState, dev); |
Also available in: Unified diff