Revision 8da3ff18 hw/iommu.c
b/hw/iommu.c | ||
---|---|---|
114 | 114 |
#define PAGE_MASK (PAGE_SIZE - 1) |
115 | 115 |
|
116 | 116 |
typedef struct IOMMUState { |
117 |
target_phys_addr_t addr; |
|
118 | 117 |
uint32_t regs[IOMMU_NREGS]; |
119 | 118 |
target_phys_addr_t iostart; |
120 | 119 |
uint32_t version; |
... | ... | |
127 | 126 |
target_phys_addr_t saddr; |
128 | 127 |
uint32_t ret; |
129 | 128 |
|
130 |
saddr = (addr - s->addr) >> 2;
|
|
129 |
saddr = addr >> 2;
|
|
131 | 130 |
switch (saddr) { |
132 | 131 |
default: |
133 | 132 |
ret = s->regs[saddr]; |
... | ... | |
148 | 147 |
IOMMUState *s = opaque; |
149 | 148 |
target_phys_addr_t saddr; |
150 | 149 |
|
151 |
saddr = (addr - s->addr) >> 2;
|
|
150 |
saddr = addr >> 2;
|
|
152 | 151 |
DPRINTF("write reg[%d] = %x\n", (int)saddr, val); |
153 | 152 |
switch (saddr) { |
154 | 153 |
case IOMMU_CTRL: |
... | ... | |
358 | 357 |
if (!s) |
359 | 358 |
return NULL; |
360 | 359 |
|
361 |
s->addr = addr; |
|
362 | 360 |
s->version = version; |
363 | 361 |
s->irq = irq; |
364 | 362 |
|
Also available in: Unified diff