package
0.0.0-20240720002214-37b2b8227b91
Repository: https://github.com/progrium/go-netstack.git
Documentation: pkg.go.dev
# Packages
Package interrupt provides an interrupt helper.
Package kvm provides a kvm-based implementation of the platform interface.
Package ptrace provides a ptrace-based implementation of the platform interface.
Package systrap provides a seccomp-based implementation of the platform interface.
# Functions
FromContext returns the Platform that is used to execute ctx's application code, or nil if no such Platform exists.
List lists available platforms.
Lookup looks up the platform constructor by name.
Register registers a new platform type.
SystemMMapMinAddr returns the minimum system address.
TryCPUIDEmulate checks for a CPUID instruction and performs emulation.
# Constants
CtxPlatform is a Context.Value key for a Platform.
SignalInterrupt is a signal reserved for use by implementations of Context.Interrupt().
# Variables
ErrContextCPUPreempted is returned by Context.Switch() to indicate that one of the following occurred:
- The CPU executing the Context is not the CPU passed to Context.Switch().
ErrContextInterrupt is returned by Context.Switch() to indicate that the Context was interrupted by a call to Context.Interrupt().
ErrContextSignal is returned by Context.Switch() to indicate that the Context was interrupted by a signal.
# Structs
DoesNotOwnPageTables implements Platform.OwnsPageTables in the negative.
DoesOwnPageTables implements Platform.OwnsPageTables in the positive.
MMapMinAddr is a size zero struct that implements MinUserAddress based on the system minimum address.
NoAddressSpaceIO implements AddressSpaceIO methods by panicking.
NoCPUPreemptionDetection implements Platform.DetectsCPUPreemption and dependent methods for Platforms that do not support this feature.
Requirements is used to specify platform specific requirements.
SegmentationFault is an error returned by AddressSpaceIO methods when IO fails due to access of an unmapped page, or a mapped page with insufficient permissions.
UseHostGlobalMemoryBarrier implements Platform.HaveGlobalMemoryBarrier and Platform.GlobalMemoryBarrier by invoking equivalent functionality on the host.
UseHostProcessMemoryBarrier implements Platform.HaveGlobalMemoryBarrier and Platform.GlobalMemoryBarrier by invoking a process-local memory barrier.
# Interfaces
AddressSpace represents a virtual address space in which a Context can execute.
AddressSpaceIO supports IO through the memory mappings installed in an AddressSpace.
Constructor represents a platform type.
Context represents the execution context for a single thread.
MemoryManager represents an abstraction above the platform address space which manages memory mappings and their contents.
Platform provides abstractions for execution contexts (Context, AddressSpace).