--- nono/vm/bus.h 2026/04/29 17:04:28 1.1 +++ nono/vm/bus.h 2026/04/29 17:04:35 1.1.1.3 @@ -1,18 +1,30 @@ // // nono -// Copyright (C) 2017 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #pragma once #include "device.h" -extern uint64 m68030_phys_read_8(uint32 addr); -extern uint64 m68030_phys_read_16(uint32 addr); -extern uint64 m68030_phys_read_32(uint32 addr); -extern uint64 m68030_phys_write_8(uint32 addr, uint32 data); -extern uint64 m68030_phys_write_16(uint32 addr, uint32 data); -extern uint64 m68030_phys_write_32(uint32 addr, uint32 data); -extern uint64 m68030_phys_peek_8(uint32 addr); +extern uint64 vm_phys_read_8(uint32 addr); +extern uint64 vm_phys_read_16(uint32 addr); +extern uint64 vm_phys_read_32(uint32 addr); +extern uint64 vm_phys_write_8(uint32 addr, uint32 data); +extern uint64 vm_phys_write_16(uint32 addr, uint32 data); +extern uint64 vm_phys_write_32(uint32 addr, uint32 data); +extern uint64 vm_phys_peek_8(uint32 addr); + +static inline uint64 vm_phys_peek_32(uint32 addr) +{ + uint64 data; + + data = vm_phys_peek_8(addr + 0) << 24; + data |= vm_phys_peek_8(addr + 1) << 16; + data |= vm_phys_peek_8(addr + 2) << 8; + data |= vm_phys_peek_8(addr + 3); + return data; +} extern IODevice *devtable[256];