• Home
  • Raw
  • Download

Lines Matching refs:cpu

43 int hax_vcpu_emulation_mode(CPUState *cpu)  in hax_vcpu_emulation_mode()  argument
45 CPUX86State *env = cpu->env_ptr; in hax_vcpu_emulation_mode()
63 static int hax_stop_tbloop(CPUState *cpu) in hax_stop_tbloop() argument
65 switch (cpu->hax_vcpu->emulation_state) in hax_stop_tbloop()
71 if (!hax_vcpu_emulation_mode(cpu)) in hax_stop_tbloop()
76 cpu->hax_vcpu->emulation_state); in hax_stop_tbloop()
83 int hax_stop_emulation(CPUState *cpu) in hax_stop_emulation() argument
85 if (hax_stop_tbloop(cpu)) in hax_stop_emulation()
87 cpu->hax_vcpu->emulation_state = HAX_EMULATE_STATE_NONE; in hax_stop_emulation()
92 hax_vcpu_sync_state(cpu, 1); in hax_stop_emulation()
99 int hax_stop_translate(CPUState *cpu) in hax_stop_translate() argument
103 vstate = cpu->hax_vcpu; in hax_stop_translate()
116 hax_fd hax_vcpu_get_fd(CPUState *cpu) in hax_vcpu_get_fd() argument
118 struct hax_vcpu_state *vcpu = cpu->hax_vcpu; in hax_vcpu_get_fd()
238 int hax_vcpu_destroy(CPUState *cpu) in hax_vcpu_destroy() argument
240 struct hax_vcpu_state *vcpu = cpu->hax_vcpu; in hax_vcpu_destroy()
261 int hax_init_vcpu(CPUState *cpu) in hax_init_vcpu() argument
265 ret = hax_vcpu_create(cpu->cpu_index); in hax_init_vcpu()
272 cpu->hax_vcpu = hax_global.vm->vcpus[cpu->cpu_index]; in hax_init_vcpu()
273 cpu->hax_vcpu->emulation_state = HAX_EMULATE_STATE_INITIAL; in hax_init_vcpu()
471 static int hax_vcpu_interrupt(CPUState *cpu) in hax_vcpu_interrupt() argument
473 struct hax_vcpu_state *vcpu = cpu->hax_vcpu; in hax_vcpu_interrupt()
475 CPUX86State *env = cpu->env_ptr; in hax_vcpu_interrupt()
482 (cpu->interrupt_request & CPU_INTERRUPT_HARD)) in hax_vcpu_interrupt()
486 cpu->interrupt_request &= ~CPU_INTERRUPT_HARD; in hax_vcpu_interrupt()
489 hax_inject_interrupt(cpu, irq); in hax_vcpu_interrupt()
499 if ((cpu->interrupt_request & CPU_INTERRUPT_HARD)) in hax_vcpu_interrupt()
506 void hax_raise_event(CPUState *cpu) in hax_raise_event() argument
508 struct hax_vcpu_state *vcpu = cpu->hax_vcpu; in hax_raise_event()
526 static int hax_vcpu_hax_exec(CPUState *cpu) in hax_vcpu_hax_exec() argument
529 CPUX86State *env = cpu->env_ptr; in hax_vcpu_hax_exec()
530 struct hax_vcpu_state *vcpu = cpu->hax_vcpu; in hax_vcpu_hax_exec()
533 if (hax_vcpu_emulation_mode(cpu)) in hax_vcpu_hax_exec()
542 if (cpu->exit_request) { in hax_vcpu_hax_exec()
547 hax_vcpu_interrupt(cpu); in hax_vcpu_hax_exec()
586 cpu_dump_state(cpu, stderr, fprintf, 0); in hax_vcpu_hax_exec()
593 cpu_dump_state(cpu, stderr, fprintf, 0); in hax_vcpu_hax_exec()
597 if (!(cpu->interrupt_request & CPU_INTERRUPT_HARD) && in hax_vcpu_hax_exec()
598 !(cpu->interrupt_request & CPU_INTERRUPT_NMI)) { in hax_vcpu_hax_exec()
601 cpu->halted = 1; in hax_vcpu_hax_exec()
614 cpu_dump_state(cpu, stderr, fprintf, 0); in hax_vcpu_hax_exec()
620 if (cpu->exit_request) { in hax_vcpu_hax_exec()
621 cpu->exit_request = 0; in hax_vcpu_hax_exec()
630 int hax_vcpu_exec(CPUState *cpu) in hax_vcpu_exec() argument
634 CPUX86State *env = cpu->env_ptr; in hax_vcpu_exec()
636 if (cpu->hax_vcpu->emulation_state != HAX_EMULATE_STATE_NONE) in hax_vcpu_exec()
639 vcpu = cpu->hax_vcpu; in hax_vcpu_exec()
640 next = hax_vcpu_hax_exec(cpu); in hax_vcpu_exec()
830 CPUState *cpu = ENV_GET_CPU(env); in hax_sync_vcpu_register() local
837 ret = hax_sync_vcpu_state(cpu, &regs, 0); in hax_sync_vcpu_register()
884 ret = hax_sync_vcpu_state(cpu, &regs, 1); in hax_sync_vcpu_register()
1034 int hax_arch_get_registers(CPUState *cpu) in hax_arch_get_registers() argument
1036 CPUX86State *env = cpu->env_ptr; in hax_arch_get_registers()
1054 static int hax_arch_set_registers(CPUState *cpu) in hax_arch_set_registers() argument
1057 CPUX86State *env = cpu->env_ptr; in hax_arch_set_registers()
1081 void hax_vcpu_sync_state(CPUState *cpu, int modified) in hax_vcpu_sync_state() argument
1085 hax_arch_set_registers(cpu); in hax_vcpu_sync_state()
1087 hax_arch_get_registers(cpu); in hax_vcpu_sync_state()
1098 CPUState *cpu; in hax_sync_vcpus() local
1100 CPU_FOREACH(cpu) { in hax_sync_vcpus()
1101 int ret = hax_arch_set_registers(cpu); in hax_sync_vcpus()
1114 CPUState *cpu; in hax_reset_vcpu_state() local
1115 CPU_FOREACH(cpu) { in hax_reset_vcpu_state()
1116 if (cpu->hax_vcpu) { in hax_reset_vcpu_state()
1117 cpu->hax_vcpu->emulation_state = HAX_EMULATE_STATE_INITIAL; in hax_reset_vcpu_state()
1118 cpu->hax_vcpu->tunnel->user_event_pending = 0; in hax_reset_vcpu_state()
1119 cpu->hax_vcpu->tunnel->ready_for_interrupt_injection = 0; in hax_reset_vcpu_state()