[][src]Module panda::prelude

Re-exports

pub use crate::panda_arg::PandaArgs;

Structs

CPUState

CPUState: @cpu_index: CPU index (informative). @nr_cores: Number of cores within this CPU package. @nr_threads: Number of threads within this CPU. @numa_node: NUMA node this CPU is belonging to. @host_tid: Host thread ID. @running: #true if CPU is currently running (lockless). @has_waiter: #true if a CPU is currently waiting for the cpu_exec_end; valid under cpu_list_lock. @created: Indicates whether the CPU thread has been successfully created. @interrupt_request: Indicates a pending interrupt request. @halted: Nonzero if the CPU is in suspended state. @stop: Indicates a pending stop request. @stopped: Indicates the CPU has been artificially stopped. @unplug: Indicates a pending CPU unplug request. @crash_occurred: Indicates the OS reported a crash (panic) for this CPU @tcg_exit_req: Set to force TCG to stop executing linked TBs for this CPU and return to its top level loop. @singlestep_enabled: Flags for single-stepping. @icount_extra: Instructions until next timer event. @icount_decr: Number of cycles left, with interrupt flag in high bit. This allows a single read-compare-cbranch-write sequence to test for both decrementer underflow and exceptions. @can_do_io: Nonzero if memory-mapped IO is safe. Deterministic execution requires that IO only be performed on the last instruction of a TB so that interrupts take effect immediately. @cpu_ases: Pointer to array of CPUAddressSpaces (which define the AddressSpaces this CPU has) @num_ases: number of CPUAddressSpaces in @cpu_ases @as: Pointer to the first AddressSpace, for the convenience of targets which only have a single AddressSpace @env_ptr: Pointer to subclass-specific CPUArchState field. @gdb_regs: Additional GDB registers. @gdb_num_regs: Number of total registers accessible to GDB. @gdb_num_g_regs: Number of registers in GDB 'g' packets. @next_cpu: Next CPU sharing TB cache. @opaque: User data. @mem_io_pc: Host Program Counter at which the memory was accessed. @mem_io_vaddr: Target virtual address at which the memory was accessed. @kvm_fd: vCPU file descriptor for KVM. @work_mutex: Lock to prevent multiple access to queued_work_*. @queued_work_first: First asynchronous work pending. @trace_dstate: Dynamic tracing state of events for this vCPU (bitmask).

Panda

Builder for creating PANDA instances. Only for use in libpanda mode.

PluginHandle

An opaque type used to register/unregister callbacks with PANDA. Passed into init/unit callbacks

TranslationBlock

Type Definitions

target_long
target_pid_t

@brief Type for the guest VM pids. We use the type mostly for denoting argumant/variable semantics. In principle, the pid type depends on the guest-OS. However, so far we have only met cases of operating systems with 32bit pids. This is a signed type in order to match the signature of the linux kill system call.

target_ptr_t

@brief Pointer type for the guest VM.

target_ulong

Derive Macros

PandaArgs