class IoMapping
Defined at line 65 of file ../../src/virtualization/bin/vmm/io.h
Represents a single mapping of an |IoHandler| to an address range.
A single handler may be mapped to multiple distinct address ranges.
Public Methods
void IoMapping (uint32_t kind, zx_gpaddr_t base, size_t size, zx_gpaddr_t off, IoHandler * handler)
Constructs an IoMapping.
Any accesses starting at |base| for |size| bytes are to be handled by
|handler|. When invoking |handler| the address is provides as relative to
|base|. Additionally an |off| can also be provided to add a displacement
into |handler|.
Specifically, an access to |base| would invoke the |handler| with the
address |off| and increase linearly from there with additional displacement
into |base|. This implies that |handler| should be prepared handle accesses
between |off| (inclusive) and |off| + |size| (exclusive).
Defined at line 15 of file ../../src/virtualization/bin/vmm/io.cc
zx_status_t SetTrap (Guest * guest, async_dispatcher_t * dispatcher)
Defined at line 19 of file ../../src/virtualization/bin/vmm/io.cc
IoMapping * FromPortKey (zx_gpaddr_t key)
Defined at line 67 of file ../../src/virtualization/bin/vmm/io.h
zx_gpaddr_t base ()
Defined at line 82 of file ../../src/virtualization/bin/vmm/io.h
size_t size ()
Defined at line 84 of file ../../src/virtualization/bin/vmm/io.h
uint32_t kind ()
Defined at line 86 of file ../../src/virtualization/bin/vmm/io.h
IoHandler * handler ()
Defined at line 88 of file ../../src/virtualization/bin/vmm/io.h
zx_status_t Read (zx_gpaddr_t addr, IoValue * value)
Defined at line 90 of file ../../src/virtualization/bin/vmm/io.h
zx_status_t Write (zx_gpaddr_t addr, const IoValue & value)
Defined at line 96 of file ../../src/virtualization/bin/vmm/io.h