1fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner#include "cpu.h" 2fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner#include "exec/exec-all.h" 3fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner#include "qemu/host-utils.h" 4fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner 5fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turneruint64_t io_mem_read(int io_index, hwaddr addr, unsigned size) 6fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner{ 7fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner return _io_mem_read[io_index][ctzl(size)](io_mem_opaque[io_index], 8fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner addr); 9fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner} 10fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner 11fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turnervoid io_mem_write(int io_index, hwaddr addr, 12fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner uint64_t val, unsigned size) 13fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner{ 14fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner _io_mem_write[io_index][ctzl(size)](io_mem_opaque[io_index], 15fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner addr, val); 16fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0afDavid 'Digit' Turner} 17