Revision 57ccbabe hw/ne2000.c

b/hw/ne2000.c
401 401
static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr, 
402 402
                                     uint32_t val)
403 403
{
404
    addr &= ~3; /* XXX: check exact behaviour if not even */
404
    addr &= ~1; /* XXX: check exact behaviour if not even */
405 405
    if (addr < 32 || 
406 406
        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
407
        *(uint32_t *)(s->mem + addr) = cpu_to_le32(val);
407
        cpu_to_le32wu((uint32_t *)(s->mem + addr), val);
408 408
    }
409 409
}
410 410

  
......
431 431

  
432 432
static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
433 433
{
434
    addr &= ~3; /* XXX: check exact behaviour if not even */
434
    addr &= ~1; /* XXX: check exact behaviour if not even */
435 435
    if (addr < 32 || 
436 436
        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
437
        return le32_to_cpu(*(uint32_t *)(s->mem + addr));
437
        return le32_to_cpupu((uint32_t *)(s->mem + addr));
438 438
    } else {
439 439
        return 0xffffffff;
440 440
    }

Also available in: Unified diff