Revision a8170e5e hw/sun4m_iommu.c

b/hw/sun4m_iommu.c
130 130
    SysBusDevice busdev;
131 131
    MemoryRegion iomem;
132 132
    uint32_t regs[IOMMU_NREGS];
133
    target_phys_addr_t iostart;
133
    hwaddr iostart;
134 134
    qemu_irq irq;
135 135
    uint32_t version;
136 136
} IOMMUState;
137 137

  
138
static uint64_t iommu_mem_read(void *opaque, target_phys_addr_t addr,
138
static uint64_t iommu_mem_read(void *opaque, hwaddr addr,
139 139
                               unsigned size)
140 140
{
141 141
    IOMMUState *s = opaque;
142
    target_phys_addr_t saddr;
142
    hwaddr saddr;
143 143
    uint32_t ret;
144 144

  
145 145
    saddr = addr >> 2;
......
157 157
    return ret;
158 158
}
159 159

  
160
static void iommu_mem_write(void *opaque, target_phys_addr_t addr,
160
static void iommu_mem_write(void *opaque, hwaddr addr,
161 161
                            uint64_t val, unsigned size)
162 162
{
163 163
    IOMMUState *s = opaque;
164
    target_phys_addr_t saddr;
164
    hwaddr saddr;
165 165

  
166 166
    saddr = addr >> 2;
167 167
    trace_sun4m_iommu_mem_writel(saddr, val);
......
249 249
    },
250 250
};
251 251

  
252
static uint32_t iommu_page_get_flags(IOMMUState *s, target_phys_addr_t addr)
252
static uint32_t iommu_page_get_flags(IOMMUState *s, hwaddr addr)
253 253
{
254 254
    uint32_t ret;
255
    target_phys_addr_t iopte;
256
    target_phys_addr_t pa = addr;
255
    hwaddr iopte;
256
    hwaddr pa = addr;
257 257

  
258 258
    iopte = s->regs[IOMMU_BASE] << 4;
259 259
    addr &= ~s->iostart;
......
264 264
    return ret;
265 265
}
266 266

  
267
static target_phys_addr_t iommu_translate_pa(target_phys_addr_t addr,
267
static hwaddr iommu_translate_pa(hwaddr addr,
268 268
                                             uint32_t pte)
269 269
{
270
    target_phys_addr_t pa;
270
    hwaddr pa;
271 271

  
272 272
    pa = ((pte & IOPTE_PAGE) << 4) + (addr & ~IOMMU_PAGE_MASK);
273 273
    trace_sun4m_iommu_translate_pa(addr, pa, pte);
274 274
    return pa;
275 275
}
276 276

  
277
static void iommu_bad_addr(IOMMUState *s, target_phys_addr_t addr,
277
static void iommu_bad_addr(IOMMUState *s, hwaddr addr,
278 278
                           int is_write)
279 279
{
280 280
    trace_sun4m_iommu_bad_addr(addr);
......
286 286
    qemu_irq_raise(s->irq);
287 287
}
288 288

  
289
void sparc_iommu_memory_rw(void *opaque, target_phys_addr_t addr,
289
void sparc_iommu_memory_rw(void *opaque, hwaddr addr,
290 290
                           uint8_t *buf, int len, int is_write)
291 291
{
292 292
    int l;
293 293
    uint32_t flags;
294
    target_phys_addr_t page, phys_addr;
294
    hwaddr page, phys_addr;
295 295

  
296 296
    while (len > 0) {
297 297
        page = addr & IOMMU_PAGE_MASK;

Also available in: Unified diff