@migratable: If set, only migratable flags will be accepted when “enforce”
mode is used, and only migratable flags will be included in the “host”
@hotplug_handler: link to a hotplug handler associated with bus.
@reset: ResettableState for the bus; handled by Resettable interface.
@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_dump_flags: #CPUDumpFlags to use for reset logging.
@has_work: Callback for checking if there is work to do.
@memory_rw_debug: Callback for GDB memory access.
@dump_state: Callback for dumping state.
@get_arch_id: Callback for getting architecture-dependent CPU ID.
@set_pc: Callback for setting the Program Counter register. This
should have the semantics used by the target architecture when
setting the PC from a source such as an ELF file entry point;
for example on Arm it will also set the Thumb mode bit based
on the least significant bit of the new PC value.
If the target behaviour here is anything other than “set
the PC register to the value passed in” then the target must
also implement the synchronize_from_tb hook.
@get_pc: Callback for getting the Program Counter register.
As above, with the semantics of the target architecture.
@gdb_read_register: Callback for letting GDB read a register.
@gdb_write_register: Callback for letting GDB write a register.
@gdb_adjust_breakpoint: Callback for adjusting the address of a
breakpoint. Used by AVR to handle a gdb mis-feature with
its Harvard architecture split code and data.
@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.
@gdb_get_dynamic_xml: Callback to return dynamically generated XML for the
gdb stub. Returns a pointer to the XML contents for the specified XML file
or NULL if the CPU doesn’t have a dynamically generated content for it.
@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.
@deprecation_note: If this CPUClass is deprecated, this field provides
@cpu_index: CPU index (informative).
@cluster_index: Identifies which cluster this CPU is in.
For boards which don’t define clusters or for “loose” CPUs not assigned
to a cluster this will be UNASSIGNED_CLUSTER_INDEX; otherwise it will
be the same as the cluster-id property of the CPU object’s TYPE_CPU_CLUSTER
@tcg_cflags: Pre-computed cflags for this cpu.
@nr_cores: Number of cores within this CPU package.
@nr_threads: Number of threads within this CPU.
@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
@singlestep_enabled: Flags for single-stepping.
@icount_extra: Instructions until next timer event.
@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.
@icount_decr_ptr: Pointer to IcountDecr field within subclass.
@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.
@kvm_fd: vCPU file descriptor for KVM.
@work_mutex: Lock to prevent multiple access to @work_list.
@work_list: List of pending asynchronous work.
@trace_dstate_delayed: Delayed changes to trace_dstate (includes all changes
@trace_dstate: Dynamic tracing state of events for this vCPU (bitmask).
@plugin_mask: Plugin event bitmap. Modified only via async work.
@ignore_memory_transaction_failures: Cached copy of the MachineState
flag of the same name: allows the board to suppress calling of the
CPU do_transaction_failed hook function.
@kvm_dirty_gfns: Points to the KVM dirty ring for this CPU when KVM dirty
ring is enabled.
@kvm_fetch_index: Keeps the index that we last fetched from the per-vCPU
dirty ring structure.
@props: Properties accessing state fields.
@realize: Callback function invoked when the #DeviceState:realized
property is changed to %true.
@unrealize: Callback function invoked when the #DeviceState:realized
property is changed to %false.
@hotpluggable: indicates if #DeviceClass is hotpluggable, available
as readonly “hotpluggable” property of #DeviceState instance
@realized: Indicates whether the device has been fully constructed.
When accessed outside big qemu lock, must be accessed with
@reset: ResettableState for the device; handled by Resettable interface.
@set_default: true if the default value should be set from @defval,
in which case @info->set_default_value must not be NULL
(if false then no default value is set by the property system
and the field retains whatever value it was given by instance_init).
@defval: default value for the property. This is used only if @set_default
Structure holding reset related state. The fields should not be accessed
directly; the definition is here to allow further inclusion into other
struct qemu_plugin_hwaddr - opaque hw address handle