/qemu/include/hw/core/ |
H A D | cpu.h | 56 #define CPU(obj) ((CPUState *)(obj)) 160 int (*memory_rw_debug)(CPUState *cpu, vaddr addr, 162 void (*dump_state)(CPUState *cpu, FILE *, int flags); 163 void (*query_cpu_fast)(CPUState *cpu, CpuInfoFast *value); 164 int64_t (*get_arch_id)(CPUState *cpu); 165 void (*set_pc)(CPUState *cpu, vaddr value); 166 vaddr (*get_pc)(CPUState *cpu); 167 int (*gdb_read_register)(CPUState *cpu, GByteArray *buf, int reg); 168 int (*gdb_write_register)(CPUState *cpu, uint8_t *buf, int reg); 169 vaddr (*gdb_adjust_breakpoint)(CPUState *cpu, vaddr addr); [all …]
|
H A D | sysemu-cpu-ops.h | 22 bool (*has_work)(CPUState *cpu); /* MANDATORY NON-NULL */ 26 bool (*get_memory_mapping)(CPUState *cpu, MemoryMappingList *list, 31 bool (*get_paging_enabled)(const CPUState *cpu); 35 hwaddr (*get_phys_page_debug)(CPUState *cpu, vaddr addr); 43 hwaddr (*get_phys_page_attrs_debug)(CPUState *cpu, vaddr addr, 49 int (*asidx_from_attrs)(CPUState *cpu, MemTxAttrs attrs); 54 GuestPanicInformation* (*get_crash_info)(CPUState *cpu); 59 int (*write_elf32_note)(WriteCoreDumpFunction f, CPUState *cpu, 65 int (*write_elf64_note)(WriteCoreDumpFunction f, CPUState *cpu, 71 int (*write_elf32_qemunote)(WriteCoreDumpFunction f, CPUState *cpu, [all …]
|
/qemu/include/accel/tcg/ |
H A D | cpu-ops.h | 62 void (*translate_code)(CPUState *cpu, TranslationBlock *tb, 69 TCGTBCPUState (*get_tb_cpu_state)(CPUState *cs); 81 void (*synchronize_from_tb)(CPUState *cpu, const TranslationBlock *tb); 90 void (*restore_state_to_opc)(CPUState *cpu, const TranslationBlock *tb, 94 void (*cpu_exec_enter)(CPUState *cpu); 96 void (*cpu_exec_exit)(CPUState *cpu); 98 void (*debug_excp_handler)(CPUState *cpu); 101 int (*mmu_index)(CPUState *cpu, bool ifetch); 110 void (*fake_user_interrupt)(CPUState *cpu); 134 void (*record_sigsegv)(CPUState *cpu, vaddr addr, [all …]
|
/qemu/include/exec/ |
H A D | cputlb.h | 34 void tlb_reset_dirty(CPUState *cpu, uintptr_t start, uintptr_t length); 57 void tlb_set_page_full(CPUState *cpu, int mmu_idx, vaddr addr, 82 void tlb_set_page_with_attrs(CPUState *cpu, vaddr addr, 93 void tlb_set_page(CPUState *cpu, vaddr addr, 106 void tlb_flush_page(CPUState *cpu, vaddr addr); 119 void tlb_flush_page_all_cpus_synced(CPUState *src, vaddr addr); 130 void tlb_flush(CPUState *cpu); 141 void tlb_flush_all_cpus_synced(CPUState *src_cpu); 152 void tlb_flush_page_by_mmuidx(CPUState *cpu, vaddr addr, 167 void tlb_flush_page_by_mmuidx_all_cpus_synced(CPUState *cpu, vaddr addr, [all …]
|
H A D | cpu-common.h | 25 void cpu_exec_step_atomic(CPUState *cpu); 38 void tcg_iommu_init_notifier_list(CPUState *cpu); 39 void tcg_iommu_free_notifier_list(CPUState *cpu); 122 void cpu_address_space_init(CPUState *cpu, int asidx, 131 void cpu_address_space_destroy(CPUState *cpu, int asidx); 170 int cpu_memory_rw_debug(CPUState *cpu, vaddr addr, 190 bool cpu_unwind_state_data(CPUState *cpu, uintptr_t host_pc, uint64_t *data); 202 bool cpu_restore_state(CPUState *cpu, uintptr_t host_pc); 216 static inline bool cpu_loop_exit_requested(CPUState *cpu) in cpu_loop_exit_requested() 221 G_NORETURN void cpu_loop_exit_noexc(CPUState *cpu); [all …]
|
H A D | watchpoint.h | 12 static inline int cpu_watchpoint_insert(CPUState *cpu, vaddr addr, vaddr len, in cpu_watchpoint_insert() 18 static inline int cpu_watchpoint_remove(CPUState *cpu, vaddr addr, in cpu_watchpoint_remove() 24 static inline void cpu_watchpoint_remove_by_ref(CPUState *cpu, in cpu_watchpoint_remove_by_ref() 29 static inline void cpu_watchpoint_remove_all(CPUState *cpu, int mask) in cpu_watchpoint_remove_all() 33 int cpu_watchpoint_insert(CPUState *cpu, vaddr addr, vaddr len, 35 int cpu_watchpoint_remove(CPUState *cpu, vaddr addr, 37 void cpu_watchpoint_remove_by_ref(CPUState *cpu, CPUWatchpoint *watchpoint); 38 void cpu_watchpoint_remove_all(CPUState *cpu, int mask);
|
H A D | gdbstub.h | 21 typedef int (*gdb_get_reg_cb)(CPUState *cpu, GByteArray *buf, int reg); 22 typedef int (*gdb_set_reg_cb)(CPUState *cpu, uint8_t *buf, int reg); 28 void gdb_init_cpu(CPUState *cpu); 39 void gdb_register_coprocessor(CPUState *cpu, 47 void gdb_unregister_coprocessor_all(CPUState *cpu); 125 int gdb_read_register(CPUState *cpu, GByteArray *buf, int reg); 143 GArray *gdb_get_register_list(CPUState *cpu); 145 void gdb_set_stop_cpu(CPUState *cpu);
|
/qemu/include/semihosting/ |
H A D | syscalls.h | 26 void semihost_sys_open(CPUState *cs, gdb_syscall_complete_cb complete, 30 void semihost_sys_close(CPUState *cs, gdb_syscall_complete_cb complete, 33 void semihost_sys_read(CPUState *cs, gdb_syscall_complete_cb complete, 36 void semihost_sys_read_gf(CPUState *cs, gdb_syscall_complete_cb complete, 39 void semihost_sys_write(CPUState *cs, gdb_syscall_complete_cb complete, 42 void semihost_sys_write_gf(CPUState *cs, gdb_syscall_complete_cb complete, 45 void semihost_sys_lseek(CPUState *cs, gdb_syscall_complete_cb complete, 48 void semihost_sys_isatty(CPUState *cs, gdb_syscall_complete_cb complete, 51 void semihost_sys_flen(CPUState *cs, gdb_syscall_complete_cb fstat_cb, 55 void semihost_sys_fstat(CPUState *cs, gdb_syscall_complete_cb complete, [all …]
|
/qemu/include/system/ |
H A D | accel-ops.h | 37 void (*cpu_reset_hold)(CPUState *cpu); 39 void (*create_vcpu_thread)(CPUState *cpu); /* MANDATORY NON-NULL */ 40 void (*kick_vcpu_thread)(CPUState *cpu); 41 bool (*cpu_thread_is_idle)(CPUState *cpu); 43 void (*synchronize_post_reset)(CPUState *cpu); 44 void (*synchronize_post_init)(CPUState *cpu); 45 void (*synchronize_state)(CPUState *cpu); 46 void (*synchronize_pre_loadvm)(CPUState *cpu); 49 void (*handle_interrupt)(CPUState *cpu, int mask); 67 int (*update_guest_debug)(CPUState *cpu); [all …]
|
H A D | kvm.h | 210 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr); 232 int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap); 234 static inline int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) in kvm_update_guest_debug() 244 int kvm_vcpu_ioctl(CPUState *cpu, unsigned long type, ...); 324 int kvm_create_vcpu(CPUState *cpu); 332 void kvm_park_vcpu(CPUState *cpu); 349 int kvm_create_and_park_vcpu(CPUState *cpu); 357 void kvm_arch_pre_run(CPUState *cpu, struct kvm_run *run); 358 MemTxAttrs kvm_arch_post_run(CPUState *cpu, struct kvm_run *run); 360 int kvm_arch_handle_exit(CPUState *cpu, struct kvm_run *run); [all …]
|
H A D | cpus.h | 13 void dummy_start_vcpu_thread(CPUState *); 20 void cpus_kick_thread(CPUState *cpu); 21 bool cpu_work_list_empty(CPUState *cpu); 22 bool cpu_thread_is_idle(CPUState *cpu); 24 bool cpu_can_run(CPUState *cpu); 25 void qemu_wait_io_event_common(CPUState *cpu); 26 void qemu_wait_io_event(CPUState *cpu); 27 void cpu_thread_signal_created(CPUState *cpu); 28 void cpu_thread_signal_destroyed(CPUState *cpu); 29 void cpu_handle_guest_debug(CPUState *cpu);
|
/qemu/hw/core/ |
H A D | cpu-system.c | 34 bool cpu_has_work(CPUState *cpu) in cpu_has_work() 39 bool cpu_paging_enabled(const CPUState *cpu) in cpu_paging_enabled() 48 bool cpu_get_memory_mapping(CPUState *cpu, MemoryMappingList *list, in cpu_get_memory_mapping() 59 hwaddr cpu_get_phys_page_attrs_debug(CPUState *cpu, vaddr addr, in cpu_get_phys_page_attrs_debug() 77 hwaddr cpu_get_phys_page_debug(CPUState *cpu, vaddr addr) in cpu_get_phys_page_debug() 84 int cpu_asidx_from_attrs(CPUState *cpu, MemTxAttrs attrs) in cpu_asidx_from_attrs() 95 int cpu_write_elf32_qemunote(WriteCoreDumpFunction f, CPUState *cpu, in cpu_write_elf32_qemunote() 104 int cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cpu, in cpu_write_elf32_note() 113 int cpu_write_elf64_qemunote(WriteCoreDumpFunction f, CPUState *cpu, in cpu_write_elf64_qemunote() 122 int cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cpu, in cpu_write_elf64_note() [all …]
|
H A D | cpu-common.c | 41 CPUState *cpu_by_arch_id(int64_t id) in cpu_by_arch_id() 43 CPUState *cpu; in cpu_by_arch_id() 58 CPUState *cpu_create(const char *typename) in cpu_create() 61 CPUState *cpu = CPU(object_new(typename)); in cpu_create() 72 void cpu_reset_interrupt(CPUState *cpu, int mask) in cpu_reset_interrupt() 85 void cpu_exit(CPUState *cpu) in cpu_exit() 93 static int cpu_common_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg) in cpu_common_gdb_read_register() 98 static int cpu_common_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg) in cpu_common_gdb_write_register() 103 void cpu_dump_state(CPUState *cpu, FILE *f, int flags) in cpu_dump_state() 111 void cpu_reset(CPUState *cpu) in cpu_reset() [all …]
|
/qemu/target/i386/hvf/ |
H A D | x86hvf.h | 23 int hvf_process_events(CPUState *cs); 24 bool hvf_inject_interrupts(CPUState *cs); 25 void hvf_set_segment(CPUState *cs, struct vmx_segment *vmx_seg, 28 void hvf_put_xsave(CPUState *cs); 29 void hvf_put_msrs(CPUState *cs); 30 void hvf_get_xsave(CPUState *cs); 31 void hvf_get_msrs(CPUState *cs); 32 void vmx_clear_int_window_exiting(CPUState *cs); 33 void vmx_update_tpr(CPUState *cs); 35 void hvf_load_regs(CPUState *cpu); [all …]
|
H A D | x86_descr.h | 32 void vmx_read_segment_descriptor(CPUState *cpu, 34 void vmx_write_segment_descriptor(CPUState *cpu, struct vmx_segment *desc, 37 x86_segment_selector vmx_read_segment_selector(CPUState *cpu, 39 void vmx_write_segment_selector(CPUState *cpu, 43 uint64_t vmx_read_segment_base(CPUState *cpu, enum X86Seg seg); 44 void vmx_write_segment_base(CPUState *cpu, enum X86Seg seg, 47 void x86_segment_descriptor_to_vmx(CPUState *cpu, 52 uint32_t vmx_read_segment_limit(CPUState *cpu, enum X86Seg seg); 53 uint32_t vmx_read_segment_ar(CPUState *cpu, enum X86Seg seg); 54 void vmx_segment_to_x86_descriptor(CPUState *cpu,
|
H A D | x86.c | 49 bool x86_read_segment_descriptor(CPUState *cpu, in x86_read_segment_descriptor() 79 bool x86_write_segment_descriptor(CPUState *cpu, in x86_write_segment_descriptor() 102 bool x86_read_call_gate(CPUState *cpu, struct x86_call_gate *idt_desc, in x86_read_call_gate() 118 bool x86_is_protected(CPUState *cpu) in x86_is_protected() 124 bool x86_is_real(CPUState *cpu) in x86_is_real() 129 bool x86_is_v8086(CPUState *cpu) in x86_is_v8086() 136 bool x86_is_long_mode(CPUState *cpu) in x86_is_long_mode() 141 bool x86_is_long64_mode(CPUState *cpu) in x86_is_long64_mode() 149 bool x86_is_paging_mode(CPUState *cpu) in x86_is_paging_mode() 155 bool x86_is_pae_enabled(CPUState *cpu) in x86_is_pae_enabled() [all …]
|
/qemu/include/qemu/ |
H A D | plugin.h | 158 void qemu_plugin_vcpu_init_hook(CPUState *cpu); 159 void qemu_plugin_vcpu_exit_hook(CPUState *cpu); 160 void qemu_plugin_tb_trans_cb(CPUState *cpu, struct qemu_plugin_tb *tb); 161 void qemu_plugin_vcpu_idle_cb(CPUState *cpu); 162 void qemu_plugin_vcpu_resume_cb(CPUState *cpu); 164 qemu_plugin_vcpu_syscall(CPUState *cpu, int64_t num, uint64_t a1, 167 void qemu_plugin_vcpu_syscall_ret(CPUState *cpu, int64_t num, int64_t ret); 169 void qemu_plugin_vcpu_mem_cb(CPUState *cpu, uint64_t vaddr, 180 static inline void qemu_plugin_disable_mem_helpers(CPUState *cpu) in qemu_plugin_disable_mem_helpers() 229 static inline void qemu_plugin_vcpu_init_hook(CPUState *cpu) in qemu_plugin_vcpu_init_hook() [all …]
|
/qemu/system/ |
H A D | cpus.c | 77 bool cpu_is_stopped(CPUState *cpu) in cpu_is_stopped() 82 bool cpu_work_list_empty(CPUState *cpu) in cpu_work_list_empty() 87 bool cpu_thread_is_idle(CPUState *cpu) in cpu_thread_is_idle() 106 CPUState *cpu; in all_cpu_threads_idle() 120 CPUState *cpu; in hw_error() 136 CPUState *cpu; in cpu_synchronize_all_states() 145 CPUState *cpu; in cpu_synchronize_all_post_reset() 154 CPUState *cpu; in cpu_synchronize_all_post_init() 163 CPUState *cpu; in cpu_synchronize_all_pre_loadvm() 170 void cpu_synchronize_state(CPUState *cpu) in cpu_synchronize_state() [all …]
|
/qemu/accel/kvm/ |
H A D | kvm-cpus.h | 13 int kvm_init_vcpu(CPUState *cpu, Error **errp); 14 int kvm_cpu_exec(CPUState *cpu); 15 void kvm_destroy_vcpu(CPUState *cpu); 16 void kvm_cpu_synchronize_post_reset(CPUState *cpu); 17 void kvm_cpu_synchronize_post_init(CPUState *cpu); 18 void kvm_cpu_synchronize_pre_loadvm(CPUState *cpu); 20 int kvm_insert_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len); 21 int kvm_remove_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len); 22 void kvm_remove_all_breakpoints(CPUState *cpu);
|
/qemu/accel/tcg/ |
H A D | internal-common.h | 28 static inline bool cpu_in_serial_context(CPUState *cs) in cpu_in_serial_context() 41 static inline bool cpu_plugin_mem_cbs_enabled(const CPUState *cpu) in cpu_plugin_mem_cbs_enabled() 50 TranslationBlock *tb_gen_code(CPUState *cpu, TCGTBCPUState s); 55 void cpu_restore_state_from_tb(CPUState *cpu, TranslationBlock *tb, 62 void tlb_init(CPUState *cpu); 67 void tlb_destroy(CPUState *cpu); 69 bool tcg_exec_realizefn(CPUState *cpu, Error **errp); 70 void tcg_exec_unrealizefn(CPUState *cpu); 73 uint32_t curr_cflags(CPUState *cpu); 75 void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr); [all …]
|
/qemu/target/i386/whpx/ |
H A D | whpx-accel-ops.h | 15 int whpx_init_vcpu(CPUState *cpu); 16 int whpx_vcpu_exec(CPUState *cpu); 17 void whpx_destroy_vcpu(CPUState *cpu); 18 void whpx_vcpu_kick(CPUState *cpu); 20 void whpx_cpu_synchronize_state(CPUState *cpu); 21 void whpx_cpu_synchronize_post_reset(CPUState *cpu); 22 void whpx_cpu_synchronize_post_init(CPUState *cpu); 23 void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu);
|
/qemu/semihosting/ |
H A D | syscalls.c | 26 static int validate_strlen(CPUState *cs, target_ulong str, target_ulong tlen) in validate_strlen() 54 static int validate_lock_user_string(char **pstr, CPUState *cs, in validate_lock_user_string() 75 static int copy_stat_to_user(CPUState *cs, target_ulong addr, in copy_stat_to_user() 121 static void gdb_open_cb(CPUState *cs, uint64_t ret, int err) in gdb_open_cb() 131 static void gdb_open(CPUState *cs, gdb_syscall_complete_cb complete, in gdb_open() 147 static void gdb_close(CPUState *cs, gdb_syscall_complete_cb complete, in gdb_close() 153 static void gdb_read(CPUState *cs, gdb_syscall_complete_cb complete, in gdb_read() 160 static void gdb_write(CPUState *cs, gdb_syscall_complete_cb complete, in gdb_write() 167 static void gdb_lseek(CPUState *cs, gdb_syscall_complete_cb complete, in gdb_lseek() 174 static void gdb_isatty(CPUState *cs, gdb_syscall_complete_cb complete, in gdb_isatty() [all …]
|
/qemu/ |
H A D | cpu-common.c | 62 CPUState *some_cpu; in cpu_get_free_index() 81 void cpu_list_add(CPUState *cpu) in cpu_list_add() 97 void cpu_list_remove(CPUState *cpu) in cpu_list_remove() 110 CPUState *qemu_get_cpu(int index) in qemu_get_cpu() 112 CPUState *cpu; in qemu_get_cpu() 124 __thread CPUState *current_cpu; 133 static void queue_work_on_cpu(CPUState *cpu, struct qemu_work_item *wi) in queue_work_on_cpu() 143 void do_run_on_cpu(CPUState *cpu, run_on_cpu_func func, run_on_cpu_data data, in do_run_on_cpu() 161 CPUState *self_cpu = current_cpu; in do_run_on_cpu() 168 void async_run_on_cpu(CPUState *cpu, run_on_cpu_func func, run_on_cpu_data data) in async_run_on_cpu() [all …]
|
/qemu/target/i386/nvmm/ |
H A D | nvmm-accel-ops.h | 15 int nvmm_init_vcpu(CPUState *cpu); 16 int nvmm_vcpu_exec(CPUState *cpu); 17 void nvmm_destroy_vcpu(CPUState *cpu); 19 void nvmm_cpu_synchronize_state(CPUState *cpu); 20 void nvmm_cpu_synchronize_post_reset(CPUState *cpu); 21 void nvmm_cpu_synchronize_post_init(CPUState *cpu); 22 void nvmm_cpu_synchronize_pre_loadvm(CPUState *cpu);
|
/qemu/target/mips/tcg/ |
H A D | tcg-internal.h | 19 void mips_translate_code(CPUState *cs, TranslationBlock *tb, 22 void mips_cpu_synchronize_from_tb(CPUState *cs, const TranslationBlock *tb); 23 G_NORETURN void mips_cpu_do_unaligned_access(CPUState *cpu, vaddr addr, 26 void mips_restore_state_to_opc(CPUState *cs, 45 void mips_cpu_do_interrupt(CPUState *cpu); 46 bool mips_cpu_exec_interrupt(CPUState *cpu, int int_req); 55 bool mips_io_recompile_replay_branch(CPUState *cs, const TranslationBlock *tb); 59 void mips_cpu_do_transaction_failed(CPUState *cs, hwaddr physaddr, 66 bool mips_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
|