20 #ifndef KERNEL_PROCESSOR_MEMORYMAPPEDIO_H 21 #define KERNEL_PROCESSOR_MEMORYMAPPEDIO_H 23 #include "pedigree/kernel/processor/IoBase.h" 24 #include "pedigree/kernel/processor/MemoryRegion.h" 25 #include "pedigree/kernel/processor/types.h" 36 const char *pName, uintptr_t offset = 0, uintptr_t padding = 1);
43 virtual size_t size()
const;
44 virtual uint8_t
read8(
size_t offset = 0);
45 virtual uint16_t
read16(
size_t offset = 0);
46 virtual uint32_t
read32(
size_t offset = 0);
47 virtual uint64_t
read64(
size_t offset = 0);
48 virtual void write8(uint8_t value,
size_t offset = 0);
49 virtual void write16(uint16_t value,
size_t offset = 0);
50 virtual void write32(uint32_t value,
size_t offset = 0);
51 virtual void write64(uint64_t value,
size_t offset = 0);
52 virtual operator bool()
const;
virtual void write64(uint64_t value, size_t offset=0)
virtual uint64_t read64(size_t offset=0)
virtual void write16(uint16_t value, size_t offset=0)
virtual size_t size() const
Abstrace base class for hardware I/O capabilities.
virtual uint8_t read8(size_t offset=0)
virtual void write32(uint32_t value, size_t offset=0)
Special memory entity in the kernel's virtual address space.
virtual uint16_t read16(size_t offset=0)
virtual void write8(uint8_t value, size_t offset=0)
virtual ~MemoryMappedIo()
virtual uint32_t read32(size_t offset=0)
MemoryMappedIo & operator=(const MemoryMappedIo &)