|
|
1.1 root 1: //
2: // nono
1.1.1.3 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
1.1.1.5 ! root 7: //
! 8: // 物理バスアクセス?
! 9: //
! 10:
1.1 root 11: #pragma once
12:
13: #include "device.h"
14:
1.1.1.2 root 15: extern uint64 vm_phys_read_8(uint32 addr);
16: extern uint64 vm_phys_read_16(uint32 addr);
17: extern uint64 vm_phys_read_32(uint32 addr);
18: extern uint64 vm_phys_write_8(uint32 addr, uint32 data);
19: extern uint64 vm_phys_write_16(uint32 addr, uint32 data);
20: extern uint64 vm_phys_write_32(uint32 addr, uint32 data);
21: extern uint64 vm_phys_peek_8(uint32 addr);
22:
1.1.1.3 root 23: static inline uint64 vm_phys_peek_32(uint32 addr)
1.1.1.2 root 24: {
1.1.1.3 root 25: uint64 data;
1.1.1.2 root 26:
27: data = vm_phys_peek_8(addr + 0) << 24;
28: data |= vm_phys_peek_8(addr + 1) << 16;
29: data |= vm_phys_peek_8(addr + 2) << 8;
30: data |= vm_phys_peek_8(addr + 3);
31: return data;
32: }
1.1 root 33:
34: extern IODevice *devtable[256];
1.1.1.4 root 35: extern int direct_ram_size;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.