- Aug 12, 2014
-
-
Lluís Vilanova authored
Signed-off-by:
Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
- Jun 05, 2014
-
-
Paolo Bonzini authored
This will collect all load and store helpers soon. For now it is just a replacement for softmmu_exec.h, which this patch stops including directly, but we also include it where this will be necessary in order to simplify the next patch. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
They do not need to be in op_helper.c. Because cputlb.c now includes softmmu_template.h twice for each size, io_readX must be elided the second time through. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- May 28, 2014
-
-
Richard Henderson authored
Rather than include helper.h with N values of GEN_HELPER, include a secondary file that sets up the macros to include helper.h. This minimizes the files that must be rebuilt when changing the macros for file N. Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
- Mar 13, 2014
-
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
This lets us drop some local variables in tlb_fill() functions. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Most targets were using offsetof(CPUFooState, breakpoints) to determine how much of CPUFooState to clear on reset. Use the next field after CPU_COMMON instead, if any, or sizeof(CPUFooState) otherwise. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Note that while such functions may exist both for *-user and softmmu, only *-user uses the CPUState hook, while softmmu reuses the prototype for calling it directly. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Peter Maydell authored
Remove the custom qemu_assert() function defined by target-m68k/translate.c in favour of either using glib g_assert_not_reached() (for the genuinely can't-happen cases) or cpu_abort() (for the "this isn't implemented", in line with other unimplemented cases in the target). This has the benefit of silencing some clang warnings about variables used while uninitialized (which are emitted because clang can't figure out that qemu_assert(0, something) never returns. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Default to false. Tidy variable naming and inline cast uses while at it. Tested-by: Jia Liu <proljc@gmail.com> (or32) Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Oct 10, 2013
-
-
Richard Henderson authored
No longer needs to be done on a per-target basis. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
This brings the m68k target in line with all other targets. Reviewed-by:
Stefan Weil <sw@weilnetz.de> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
- Oct 07, 2013
-
-
Andreas Färber authored
Since this is only read in cpu_copy() and linux-user has a global cpu_model, drop the field from generic code. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Sep 02, 2013
-
-
Richard Henderson authored
And update all users. Reviewed-by:
Aurelien Jarno <aurelien@aurel32.net> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
- Jul 29, 2013
-
-
Andreas Färber authored
Commit c643bed9 moved qemu_init_vcpu() calls to common CPUState code. This causes x86 cpu-add to fail with "KVM: setting VAPIC address failed". The reason for the failure is that CPUClass::kvm_fd is not yet initialized in the following call graph: ->x86_cpu_realizefn ->x86_cpu_apic_realize ->qdev_init ->device_set_realized ->device_reset (hotplugged == 1) ->apic_reset_common ->vapic_base_update ->kvm_apic_vapic_base_update This causes attempted KVM vCPU ioctls to fail. By contrast, in the non-hotplug case the APIC is reset much later, when the vCPU is already initialized. As a quick and safe solution, move the qemu_init_vcpu() call back into the targets' realize functions. Reported-by:
Chen Fan <chen.fan.fnst@cn.fujitsu.com> Acked-by: Igor Mammedov <imammedo@redhat.com> (for i386) Tested-by: Jia Liu <proljc@gmail.com> (for openrisc) Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jul 26, 2013
-
-
Andreas Färber authored
Replace the GDB_CORE_XML define in gdbstub.c with a CPUClass field. Use first_cpu for qSupported and qXfer:features:read: for now. Add a stub for xml_builtin. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Completes migration of target-specific code to new target-*/gdbstub.c. Acked-by: Michael Walle <michael@walle.cc> (for lm32) Acked-by: Max Filippov <jcmvbkbc@gmail.com> (for xtensa) Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
This avoids polluting the global namespace with a non-prefixed macro and makes it obvious in the call sites that we return. Semi-automatic conversion using, e.g., sed -i 's/GET_REGL(/return gdb_get_regl(mem_buf, /g' target-*/gdbstub.c followed by manual tweaking for sparc's GET_REGA() and Coding Style. Acked-by: Michael Walle <michael@walle.cc> (for lm32) Acked-by: Max Filippov <jcmvbkbc@gmail.com> (for xtensa) Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
CPUState::gdb_num_regs replaces num_g_regs. CPUClass::gdb_num_core_regs replaces NUM_CORE_REGS. Allows building gdb_register_coprocessor() for xtensa, too. As a side effect this should fix coprocessor register numbering for SMP. Acked-by: Michael Walle <michael@walle.cc> (for lm32) Acked-by: Max Filippov <jcmvbkbc@gmail.com> (for xtensa) Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jul 23, 2013
-
-
Andreas Färber authored
Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Change breakpoint_invalidate() argument to CPUState alongside. Since all targets now assign a softmmu-only field, we can drop helpers cpu_class_set_{do_unassigned_access,vmsd}() and device_class_set_vmsd(). Prepares for changing cpu_memory_rw_debug() argument to CPUState. Acked-by: Max Filippov <jcmvbkbc@gmail.com> (for xtensa) Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Callback implementations were specific to arm and m68k, so can easily cast to ARMCPU and M68kCPU respectively. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Prepares for changing cpu_single_step() argument to CPUState. Acked-by: Michael Walle <michael@walle.cc> (for lm32) Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Where no extra implementation is needed, fall back to CPUClass::set_pc(). Acked-by: Michael Walle <michael@walle.cc> (for lm32) Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
This adds support for GDB's c addr (Continue) and s addr (Single Step). Prepares for dropping cpu_pc_from_tb(). Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jul 09, 2013
-
-
Andreas Färber authored
x86 was using additional CPU_DUMP_* flags, so make that configurable in CPUClass::reset_dump_flags. This adds reset logging for alpha, unicore32 and xtensa. Acked-by: Michael Walle <michael@walle.cc> (for lm32) Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Since commit 878096ee (cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks) CPUArchState is no longer needed. Add documentation and make the functions available through qemu/log.h outside NEED_CPU_H to allow use in qom/cpu.c. Moving them to qom/cpu.h was not yet possible due to convoluted include paths, so that some devices grow an implicit and unneeded dependency on qom/cpu.h for now. Acked-by: Michael Walle <michael@walle.cc> (for lm32) Reviewed-by:
Richard Henderson <rth@twiddle.net> [AF: Simplified mb_cpu_do_interrupt() and do_interrupt_all() changes] Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
A transition from CPUFooState to FooCPU can be considered safe, just like FooCPU::env access in the opposite direction. The only benefit of the FOO_CPU() casts would be protection against bogus CPUFooState pointers, but then surrounding code would likely break, too. This should slightly improve interrupt etc. performance when going from CPUFooState to FooCPU. For any additional CPU() casts see 3556c233 (qom: allow turning cast debugging off). Reported-by:
Anthony Liguori <aliguori@us.ibm.com> Acked-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Peter Maydell authored
The functions cpu_clone_regs() and cpu_set_tls() are not purely CPU related -- they are specific to the TLS ABI for a a particular OS. Move them into the linux-user/ tree where they belong. target-lm32 had entirely unused implementations, since it has no linux-user target; just drop them. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Acked-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jun 28, 2013
-
-
Andreas Färber authored
This allows to move the call into CPUState's realizefn. Therefore move the stub into libqemustub.a. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Make cpustats monitor command available unconditionally. Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec() arguments to CPUState. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Mar 12, 2013
-
-
Andreas Färber authored
This removes a global per-target function and thus takes us one step closer to compiling multiple targets into one executable. It will also allow to override the interrupt handling for certain CPU families. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-