Crate panda_sys[][src]


AddressSpace: describes a mapping of addresses to #MemoryRegion objects

BusState: @hotplug_device: link to a hotplug device associated with bus.

CPUClass: @class_by_name: Callback to map -cpu command line model name to an instantiatable CPU type. @parse_features: Callback to parse command line arguments. @reset: Callback to reset the #CPUState to its initial state. @reset_dump_flags: #CPUDumpFlags to use for reset logging. @has_work: Callback for checking if there is work to do. @do_interrupt: Callback for interrupt handling. @do_unassigned_access: Callback for unassigned access handling. @do_unaligned_access: Callback for unaligned access handling, if the target defines #ALIGNED_ONLY. @virtio_is_big_endian: Callback to return %true if a CPU which supports runtime configurable endianness is currently big-endian. Non-configurable CPUs can use the default implementation of this method. This method should not be used by any callers other than the pre-1.0 virtio devices. @memory_rw_debug: Callback for GDB memory access. @dump_state: Callback for dumping state. @dump_statistics: Callback for dumping statistics. @get_arch_id: Callback for getting architecture-dependent CPU ID. @get_paging_enabled: Callback for inquiring whether paging is enabled. @get_memory_mapping: Callback for obtaining the memory mappings. @set_pc: Callback for setting the Program Counter register. @synchronize_from_tb: Callback for synchronizing state from a TCG #TranslationBlock. @handle_mmu_fault: Callback for handling an MMU fault. @get_phys_page_debug: Callback for obtaining a physical address. @get_phys_page_attrs_debug: Callback for obtaining a physical address and the associated memory transaction attributes to use for the access. CPUs which use memory transaction attributes should implement this instead of get_phys_page_debug. @asidx_from_attrs: Callback to return the CPU AddressSpace to use for a memory access with the specified memory transaction attributes. @gdb_read_register: Callback for letting GDB read a register. @gdb_write_register: Callback for letting GDB write a register. @debug_check_watchpoint: Callback: return true if the architectural watchpoint whose address has matched should really fire. @debug_excp_handler: Callback for handling debug exceptions. @write_elf64_note: Callback for writing a CPU-specific ELF note to a 64-bit VM coredump. @write_elf32_qemunote: Callback for writing a CPU- and QEMU-specific ELF note to a 32-bit VM coredump. @write_elf32_note: Callback for writing a CPU-specific ELF note to a 32-bit VM coredump. @write_elf32_qemunote: Callback for writing a CPU- and QEMU-specific ELF note to a 32-bit VM coredump. @vmsd: State description for migration. @gdb_num_core_regs: Number of core registers accessible to GDB. @gdb_core_xml_file: File name for core registers GDB XML description. @gdb_stop_before_watchpoint: Indicates whether GDB expects the CPU to stop before the insn which triggers a watchpoint rather than after it. @gdb_arch_name: Optional callback that returns the architecture name known to GDB. The caller must free the returned string with g_free. @cpu_exec_enter: Callback for cpu_exec preparation. @cpu_exec_exit: Callback for cpu_exec cleanup. @cpu_exec_interrupt: Callback for processing interrupts in cpu_exec. @disas_set_info: Setup architecture specific components of disassembly info @adjust_watchpoint_address: Perform a target-specific adjustment to an address before attempting to match it against watchpoints.

CPUListState: @cpu_fprintf: Print function. @file: File to print to using @cpu_fprint.

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).

DeviceClass: @props: Properties accessing state fields. @realize: Callback function invoked when the #DeviceState:realized property is changed to %true. The default invokes @init if not %NULL. @unrealize: Callback function invoked when the #DeviceState:realized property is changed to %false. @init: Callback function invoked when the #DeviceState::realized property is changed to %true. Deprecated, new types inheriting directly from TYPE_DEVICE should use @realize instead, new leaf types should consult their respective parent type. @hotpluggable: indicates if #DeviceClass is hotpluggable, available as readonly “hotpluggable” property of #DeviceState instance

DeviceState: @realized: Indicates whether the device has been fully constructed.

GlobalProperty: @user_provided: Set to true if property comes from user-provided config (command-line or config file). @used: Set to true if property was used when initializing a device. @errp: Error destination, used like first argument of error_setg() in case property setting fails later. If @errp is NULL, we print warnings instead of ignoring errors silently. For hotplugged devices, errp is always ignored and warnings are printed instead.


InterfaceClass: @parent_class: the base class

InterfaceInfo: @type: The name of the interface.

MemoryListener: callbacks structure for updates to the physical memory map

MemoryRegionSection: describes a fragment of a #MemoryRegion



TypeInfo: @name: The name of the type. @parent: The name of the parent type. @instance_size: The size of the object (derivative of #Object). If @instance_size is 0, then the size of the object will be the size of the parent object. @instance_init: This function is called to initialize an object. The parent class will have already been initialized so the type is only responsible for initializing its own members. @instance_post_init: This function is called to finish initialization of an object, after all @instance_init functions were called. @instance_finalize: This function is called during object destruction. This is called before the parent @instance_finalize function has been called. An object should only free the members that are unique to its type in this function. @abstract: If this field is true, then the class is considered abstract and cannot be directly instantiated. @class_size: The size of the class object (derivative of #ObjectClass) for this object. If @class_size is 0, then the size of the class will be assumed to be the size of the parent class. This allows a type to avoid implementing an explicit class type if they are not adding additional virtual functions. @class_init: This function is called after all parent class initialization has occurred to allow a class to set its default virtual method pointers. This is also the function to use to override virtual methods from a parent class. @class_base_init: This function is called for all base classes after all parent class initialization has occurred, but before the class itself is initialized. This is the function to use to undo the effects of memcpy from the parent class to the descendants. @class_finalize: This function is called during class destruction and is meant to release and dynamic parameters allocated by @class_init. @class_data: Data to pass to the @class_init, @class_base_init and @class_finalize functions. This can be useful when building dynamic classes. @interfaces: The list of interfaces associated with this type. This should point to a static array that’s terminated with a zero filled element.

X86CPU: @env: #CPUX86State @migratable: If set, only migratable flags will be accepted when “enforce” mode is used, and only migratable flags will be included in the “host” CPU model.

X86CPUClass: @cpu_def: CPU model definition @kvm_required: Whether CPU model requires KVM to be enabled. @ordering: Ordering on the “-cpu help” CPU model list. @migration_safe: See CpuDefinitionInfo::migration_safe @static_model: See CpuDefinitionInfo::static @parent_realize: The parent class’ realize handler. @parent_reset: The parent class’ reset handler.

GMarkupParser: @start_element: Callback to invoke when the opening tag of an element is seen. The callback’s @attribute_names and @attribute_values parameters are %NULL-terminated. @end_element: Callback to invoke when the closing tag of an element is seen. Note that this is also called for empty tags like <empty/>. @text: Callback to invoke when some text is seen (text is always inside an element). Note that the text of an element may be spread over multiple calls of this function. If the %G_MARKUP_TREAT_CDATA_AS_TEXT flag is set, this function is also called for the content of CDATA marked sections. @passthrough: Callback to invoke for comments, processing instructions and doctype declarations; if you’re re-writing the parsed document, write the passthrough text back out in the same position. If the %G_MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also called for CDATA marked sections. @error: Callback to invoke when an error occurs.

GOptionEntry: @long_name: The long name of an option can be used to specify it in a commandline as --long_name. Every option must have a long name. To resolve conflicts if multiple option groups contain the same long name, it is also possible to specify the option as --groupname-long_name. @short_name: If an option has a short name, it can be specified -short_name in a commandline. @short_name must be a printable ASCII character different from ‘-’, or zero if the option has no short name. @flags: Flags from #GOptionFlags @arg: The type of the option, as a #GOptionArg @arg_data: If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data must point to a #GOptionArgFunc callback function, which will be called to handle the extra argument. Otherwise, @arg_data is a pointer to a location to store the value, the required type of the location depends on the @arg type: - %G_OPTION_ARG_NONE: %gboolean - %G_OPTION_ARG_STRING: %gchar* - %G_OPTION_ARG_INT: %gint - %G_OPTION_ARG_FILENAME: %gchar* - %G_OPTION_ARG_STRING_ARRAY: %gchar** - %G_OPTION_ARG_FILENAME_ARRAY: %gchar** - %G_OPTION_ARG_DOUBLE: %gdouble If @arg type is %G_OPTION_ARG_STRING or %G_OPTION_ARG_FILENAME, the location will contain a newly allocated string if the option was given. That string needs to be freed by the callee using g_free(). Likewise if @arg type is %G_OPTION_ARG_STRING_ARRAY or %G_OPTION_ARG_FILENAME_ARRAY, the data should be freed using g_strfreev(). @description: the description for the option in --help output. The @description is translated using the @translate_func of the group, see g_option_group_set_translation_domain(). @arg_description: The placeholder to use for the extra argument parsed by the option in --help output. The @arg_description is translated using the @translate_func of the group, see g_option_group_set_translation_domain().

GPollFD: @fd: the file descriptor to poll (or a HANDLE on Win32) @events: a bitwise combination from #GIOCondition, specifying which events should be polled for. Typically for reading from a file descriptor you would use %G_IO_IN | %G_IO_HUP | %G_IO_ERR, and for writing you would use %G_IO_OUT | %G_IO_ERR. @revents: a bitwise combination of flags from #GIOCondition, returned from the poll() function to indicate which events occurred.

GQueue: @head: a pointer to the first element of the queue @tail: a pointer to the last element of the queue @length: the number of elements in the queue

struct qht_stats - Statistics of a QHT @head_buckets: number of head buckets @used_head_buckets: number of non-empty head buckets @entries: total number of entries @chain: frequency distribution representing the number of buckets in each chain, excluding empty chains. @occupancy: frequency distribution representing chain occupancy rate. Valid range: from 0.0 (empty) to 1.0 (full occupancy).

@brief Structure encapsulating requests to change the record/replay status.