Documentation ¶
Overview ¶
Package kvm provides a kvm-based implementation of the platform interface.
Index ¶
- func OpenDevice(devicePath string) (*os.File, error)
- type KVM
- func (*KVM) CooperativelySchedulesAddressSpace() bool
- func (*KVM) MapUnit() uint64
- func (*KVM) MaxUserAddress() hostarch.Addr
- func (*KVM) MinUserAddress() hostarch.Addr
- func (k *KVM) NewAddressSpace(any) (platform.AddressSpace, <-chan struct{}, error)
- func (k *KVM) NewContext(pkgcontext.Context) platform.Context
- func (*KVM) SupportsAddressSpaceIO() bool
- func (k *KVM) SyscallFilters() seccomp.SyscallRules
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type KVM ¶
type KVM struct { platform.NoCPUPreemptionDetection // KVM never changes mm_structs. platform.UseHostProcessMemoryBarrier // contains filtered or unexported fields }
KVM represents a lightweight VM context.
func (*KVM) CooperativelySchedulesAddressSpace ¶
CooperativelySchedulesAddressSpace implements platform.Platform.CooperativelySchedulesAddressSpace.
func (*KVM) MaxUserAddress ¶
MaxUserAddress returns the first address that may not be used.
func (*KVM) MinUserAddress ¶
MinUserAddress returns the lowest available address.
func (*KVM) NewAddressSpace ¶
func (k *KVM) NewAddressSpace(any) (platform.AddressSpace, <-chan struct{}, error)
NewAddressSpace returns a new pagetable root.
func (*KVM) NewContext ¶
func (k *KVM) NewContext(pkgcontext.Context) platform.Context
NewContext returns an interruptible context.
func (*KVM) SupportsAddressSpaceIO ¶
SupportsAddressSpaceIO implements platform.Platform.SupportsAddressSpaceIO.
func (*KVM) SyscallFilters ¶
func (k *KVM) SyscallFilters() seccomp.SyscallRules
SyscallFilters returns syscalls made exclusively by the KVM platform.
Source Files ¶
- address_space.go
- address_space_amd64.go
- atomicptr_machine_unsafe.go
- bluepill.go
- bluepill_allocator.go
- bluepill_amd64.go
- bluepill_amd64_unsafe.go
- bluepill_fault.go
- bluepill_unsafe.go
- context.go
- filters.go
- filters_amd64.go
- kvm.go
- kvm_amd64.go
- kvm_amd64_state_autogen.go
- kvm_amd64_unsafe.go
- kvm_amd64_unsafe_state_autogen.go
- kvm_const.go
- kvm_const_amd64.go
- kvm_state_autogen.go
- kvm_unsafe_state_autogen.go
- machine.go
- machine_amd64.go
- machine_amd64_unsafe.go
- machine_unsafe.go
- physical_map.go
- physical_map_amd64.go
- virtual_map.go
Click to show internal directories.
Click to hide internal directories.