Permalink
Switch branches/tags
Commits on Feb 25, 2013
  1. target-cris: Override do_interrupt for pre-v32 CPU cores

    afaerber committed Feb 18, 2013
    Instead of forwarding from cris_cpu_do_interrupt() to do_interruptv10(),
    override CPUClass::do_interrupt with crisv10_cpu_do_interrupt() in the
    newly introduced class_init functions.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  2. target-arm: Override do_interrupt for ARMv7-M profile

    afaerber committed Feb 2, 2013
    Enable ARMCPUInfo to specify a custom class_init functions.
    Introduce arm_v7m_class_init() and use it for "cortex-m3" model.
    
    Instead of forwarding from arm_cpu_do_interrupt() to do_interrupt_v7m(),
    override CPUClass::do_interrupt with arm_v7m_cpu_do_interrupt()
    in arm_v7m_class_init().
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  3. cpu: Replace do_interrupt() by CPUClass::do_interrupt method

    afaerber committed Feb 2, 2013
    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>
  4. cpu: Pass CPUState to cpu_interrupt()

    afaerber committed Jan 18, 2013
    Move it to qom/cpu.h to avoid issues with include order.
    
    Change pc_acpi_smi_interrupt() opaque to X86CPU.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  5. exec: Pass CPUState to cpu_reset_interrupt()

    afaerber committed Jan 17, 2013
    Move it to qom/cpu.c to avoid build failures depending on include order
    of cpu-qom.h and exec/cpu-all.h.
    
    Change opaques of various ..._irq_handler() functions to the
    appropriate CPU type to facilitate using cpu_reset_interrupt().
    
    Fix Coding Style issues while at it (missing braces, indentation).
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  6. cpu: Move halted and interrupt_request fields to CPUState

    afaerber committed Jan 17, 2013
    Both fields are used in VMState, thus need to be moved together.
    Explicitly zero them on reset since they were located before
    breakpoints.
    
    Pass PowerPCCPU to kvmppc_handle_halt().
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  7. target-cris/helper.c: Update Coding Style

    afaerber committed Jan 25, 2013
    Reindent, add missing braces and drop/adjust whitespace.
    
    Prepares for CPUArchState-to-CPUState field movements in
    cpu_cris_handle_mmu_fault(), do_interruptv10() and do_interrupt().
    The remaining functions were so minor that they can be fixed in one go.
    
    Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  8. target-lm32: Update VMStateDescription to LM32CPU

    afaerber committed Feb 2, 2013
    Add a vmstate_lm32_cpu referencing the previous VMStateDescription as a
    sub-struct and hook it up to CPUClass::vmsd. Drop cpu_{save,load}().
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  9. target-i386: Update VMStateDescription to X86CPU

    afaerber committed Feb 2, 2013
    Expose vmstate_cpu as vmstate_x86_cpu and hook it up to CPUClass::vmsd.
    Adapt opaques and VMState fields to X86CPU. Drop cpu_{save,load}().
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  10. cpu: Introduce cpu_class_set_vmsd()

    afaerber committed Feb 22, 2013
    This setter avoids redefining each VMStateDescription value to
    vmstate_dummy by not referencing the value for CONFIG_USER_ONLY.
    
    Suggested-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  11. cpu: Register VMStateDescription through CPUState

    afaerber committed Jan 20, 2013
    In comparison to DeviceClass::vmsd, CPU VMState is split in two,
    "cpu_common" and "cpu", and uses cpu_index as instance_id instead of -1.
    Therefore add a CPU-specific CPUClass::vmsd field.
    
    Unlike the legacy CPUArchState registration, rather register CPUState.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  12. stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY

    afaerber committed Feb 18, 2013
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  13. vmstate: Make vmstate_register() static inline

    afaerber committed Feb 18, 2013
    This avoids adding a duplicate stub for CONFIG_USER_ONLY.
    
    Suggested-by: Eduardo Habkost <ehabkost@redhat.com>
    Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  14. target-sh4: Move PVR/PRR/CVR into SuperHCPUClass

    afaerber committed Nov 20, 2012
    They are never changed once initialized, and moving them to the class
    will allow to inspect them before instantiating.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  15. target-sh4: Introduce SuperHCPU subclasses

    afaerber committed Nov 19, 2012
    Store legacy name in SuperHCPUClass for -cpu ? and for case-insensitive
    class lookup.
    
    List CPUs by iterating over TYPE_SUPERH_CPU subclasses.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  16. cpu: Introduce ENV_OFFSET macros

    afaerber committed Feb 22, 2013
    Introduce ENV_OFFSET macros which can be used in non-target-specific
    code that needs to generate TCG instructions which reference CPUState
    fields given the cpu_env register that TCG targets set up with a
    pointer to the CPUArchState struct.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  17. cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu()

    afaerber committed Feb 15, 2013
    No functional change, just less usages of first_cpu and next_cpu fields.
    
    env is passed to cpu_memory_rw_debug(), which in turn passes it to
    target-specific cpu_get_phys_page_debug(). Changing both would be a
    larger refactoring, so defer that by using env_ptr for now.
    
    Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  18. monitor: Use qemu_get_cpu() in monitor_set_cpu()

    afaerber committed Feb 15, 2013
    No functional change, just a reduction of CPU loops.
    
    The mon_cpu field is left untouched for now since changing that requires
    a number of larger prerequisites, including cpu_synchronize_state() and
    mon_get_cpu().
    
    Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
    Reviewed-by: Markus Armbruster <armbru@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
Commits on Feb 23, 2013
  1. target-mips: fix for sign-issue in MULQ_W helper

    petar-jovanovic committed with aurel32 Feb 7, 2013
    Correct sign-propagation before multiplication in MULQ_W helper.
    The change also fixes previously incorrect expected values in the
    tests for MULQ_RS.W and MULQ_S.W.
    
    Signed-off-by: Petar Jovanovic <petarj@mips.com>
    Richard Henderson <rth@twiddle.net>
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
  2. target-mips: fix for incorrect multiplication with MULQ_S.PH

    petar-jovanovic committed with aurel32 Feb 6, 2013
    The change corrects sign-related issue with MULQ_S.PH. It also includes
    extension to the already existing test which will trigger the issue.
    
    Signed-off-by: Petar Jovanovic <petarj@mips.com>
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
  3. target-xtensa: Use add2/sub2 for mac

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  4. target-xtensa: Use mul*2 for mul*hi

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  5. target-unicore32: Use mul*2 for do_mult

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  6. target-sh4: Use mul*2 for dmul*

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Aurelien Jarno <aurelien@aurel32.net>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  7. target-sparc: Use mul*2 for multiply

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Blue Swirl <blauwirbel@gmail.com>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  8. target-sparc: Use official add2/sub2 interfaces for addx/subx

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Blue Swirl <blauwirbel@gmail.com>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  9. target-ppc: Compute mullwo without branches

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  10. target-ppc: Compute arithmetic shift carry without branches

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  11. target-ppc: Implement neg in terms of subf

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  12. target-ppc: Use add2 for carry generation

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  13. target-ppc: Compute addition carry with setcond

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  14. target-ppc: Compute addition overflow without branches

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  15. target-ppc: Use setcond in gen_op_cmp

    rth7680 committed with blueswirl Feb 20, 2013
    Which means that callers need not copy data into local tmps.
    
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  16. target-ppc: Split out SO, OV, CA fields from XER

    rth7680 committed with blueswirl Feb 20, 2013
    In preparation for more efficient setting of these fields.
    
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  17. target-ppc: Use mul*2 in mulh* insns

    rth7680 committed with blueswirl Feb 20, 2013
    Cc: Alexander Graf <agraf@suse.de>
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>