OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 1585 to Rev 1586
    Reverse comparison

Rev 1585 → Rev 1586

/trunk/or1ksim/peripheral/memory.c
63,12 → 63,20
 
uint16_t simmem_read16(oraddr_t addr, void *dat)
{
#ifdef WORDS_BIGENDIAN
return *(uint16_t *)(dat + addr);
#else
return *(uint16_t *)(dat + (addr ^ 2));
#endif
}
 
uint8_t simmem_read8(oraddr_t addr, void *dat)
{
#ifdef WORDS_BIGENDIAN
return *(uint8_t *)(dat + addr);
#else
return *(uint8_t *)(dat + ((addr & ~ADDR_C(3)) | (3 - (addr & 3))));
#endif
}
 
void simmem_write32(oraddr_t addr, uint32_t value, void *dat)
78,12 → 86,20
 
void simmem_write16(oraddr_t addr, uint16_t value, void *dat)
{
#ifdef WORDS_BIGENDIAN
*(uint16_t *)(dat + addr) = value;
#else
*(uint16_t *)(dat + (addr ^ 2)) = value;
#endif
}
 
void simmem_write8(oraddr_t addr, uint8_t value, void *dat)
{
#ifdef WORDS_BIGENDIAN
*(uint8_t *)(dat + addr) = value;
#else
*(uint8_t *)(dat + ((addr & ~ADDR_C(3)) | (3 - (addr & 3)))) = value;
#endif
}
 
uint32_t simmem_read_zero32(oraddr_t addr, void *dat)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.