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