Permalink
Switch branches/tags
Commits on Apr 15, 2012
  1. target-alpha: QOM'ify CPU init

    Move code from cpu_alpha_init() into a CPU initializer.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Acked-by: Richard Henderson <rth@twiddle.net>
    committed Apr 6, 2012
  2. target-alpha: QOM'ify CPU

    Embed CPUAlphaState as first member of AlphaCPU.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Acked-by: Richard Henderson <rth@twiddle.net>
    committed Apr 6, 2012
  3. Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf

    * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf:
      pseries: Fix reset of VIO network device
      pseries: Reset vscsi properly
      pseries: Correctly use the device model reset hooks
      pseries: Remove old hcalls hook stub
      pseries: Remove old debug leftovers from spapr_vscsi
      pseries: Fix RTAS based config access
      target-ppc/machine.c: Drop unnecessary ifdefs
      target-ppc: Init dcache and icache size for e500 user mode
      target-ppc: Fix type casts for w64 (uintptr_t)
      target-ppc: QOM'ify CPU reset
      target-ppc: Start QOM'ifying CPU init
      target-ppc: QOM'ify CPU
      target-ppc: Add hooks for handling tcg and kvm limitations
      target-ppc: Drop cpu_ppc_close()
      pseries: Consolidate hack for RTAS display-character usage
      pseries: Remove unused fields from VIOsPAPRBus structure
      pseries: Implement RTAS system-reboot call
      pseries: Fix bug with reset of VIO CRQs
      pseries: Clean up hcall_dprintf() debugging messages
      PPC: Fix TLB invalidation bug within the PPC interrupt handler.
    blueswirl committed Apr 15, 2012
  4. pseries: Fix reset of VIO network device

    Currently, the PAPR VIO network device does not have a reset handler.  This
    means that after a hard reset, H_REGISTER_LOGICAL_LAN will return an error
    when the new guest boot attempts to initialize the device.
    
    This patch corrects this, adding a suitable reset hook.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 12, 2012
  5. pseries: Reset vscsi properly

    Currently the PAPR vscsi implementation does not properly clear its table
    of request tags when the system is reset.  This patch adds a reset hook
    to do so.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 12, 2012
  6. pseries: Correctly use the device model reset hooks

    Recently we added code to properly clean away VIO CRQs on reset  However,
    this directly uses qemu_register, rather than the existing device model
    reset callbacks.  This patch cleans this up by adding proper use of the
    reset hook to the VIO bus model.  The existing CRQ reset code is converted
    to the new method.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 12, 2012
  7. pseries: Remove old hcalls hook stub

    Some time ago we removed all use of the 'hcalls' callback in the pseries
    VIO code, which was used to workaround an ordering problem which has since
    been solved properly.  However, the function pointer for the hook remains.
    This patch cleans it away.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 12, 2012
  8. pseries: Remove old debug leftovers from spapr_vscsi

    The PAPR VSCSI emulation contains a few lines of code which were once used
    for debug but now do nothing at all.  This patch removes them.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 12, 2012
  9. pseries: Fix RTAS based config access

    On the pseries platform, access to PCI config space is via RTAS calls(
    which go to the hypervisor) rather than MMIO.  This means we don't use
    the same code path as nearly everyone else which goes through pci_host.c
    and we're missing some of the parameter checking along the way.
    
    We do have some parameter checking in the RTAS calls, but it's not enough.
    It checks for overruns, but does not check for unaligned accesses,
    oversized accesses (which means the guest could trigger an assertion
    failure from pci_host_config_{read,write}_common().  Worse it doesn't do
    the basic checking for the number of RTAS arguments and results before
    accessing them.
    
    This patch fixes these bugs.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    [AF: Fix typos spotted by mst]
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 2, 2012
  10. target-xtensa: add license to core-fsf.c

    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Reviewed-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    jcmvbkbc committed with blueswirl Apr 15, 2012
  11. target-xtensa: add license to core-dc232b.c

    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Reviewed-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    jcmvbkbc committed with blueswirl Apr 15, 2012
  12. target-xtensa: add dc233c core

    This is Diamond 233L Standard Core Rev.C (LE), implemented through
    linux/gdb overlay.
    
    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Reviewed-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    jcmvbkbc committed with blueswirl Apr 15, 2012
  13. linux-user: Fix exit syscall with QOM CPU

    For QOM'ified CPUs we cannot g_free() CPUArchState, we must
    object_delete() the object it is embedded into.
    
    Fixes LP#982321 (invalid free() while executing pacman with qemu-arm).
    
    Reported-by: Serge Schneider <serge@xecdesign.com>
    Reported-by: Russell Keith Davis <russell@russelldavis.org>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Tested-by: Serge Schneider <serge@xecdesign.com>
    Tested-by: Russell Keith Davis <russell@russelldavis.org>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    committed with blueswirl Apr 15, 2012
  14. target-ppc/machine.c: Drop unnecessary ifdefs

    machine.c is only compiled for softmmu targets, so checks for
    !defined(CONFIG_USER_ONLY) are unnecessary and can be dropped.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    [AF: Use more verbose commit message suggested by PMM]
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    juanquintela committed with Mar 19, 2012
  15. target-ppc: Init dcache and icache size for e500 user mode

    commit f7aa558 pulled the dcache and icache
    line size initialization inside of a '#if !defined(CONFIG_USER_ONLY)' block.
    This is not correct because instructions like 'dcbz' need the dcache size
    initialized even for user mode.
    
    Signed-off-by: Meador Inge <meadori@codesourcery.com>
    Cc: Varun Sethi <Varun.Sethi@freescale.com>
    [AF: Simplify #ifdefs by using cache line size 32 for *-user as before]
    Suggested-by: Scott Wood <scottwood@freescale.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    meadori committed with Apr 10, 2012
  16. target-ppc: Fix type casts for w64 (uintptr_t)

    This changes nothing for other hosts.
    
    Signed-off-by: Stefan Weil <sw@weilnetz.de>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    stweil committed with Apr 15, 2012
  17. target-ppc: QOM'ify CPU reset

    Move code from cpu_state_reset() into ppc_cpu_reset().
    Reorder #include of helper_regs.h to use it in translate_init.c.
    
    Adjust whitespace and add braces.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Acked-by: David Gibson <david@gibson.dropbear.id.au>
    committed Apr 6, 2012
  18. target-ppc: Start QOM'ifying CPU init

    Move code not dependent on ppc_def_t from cpu_ppc_init() into an initfn.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Acked-by: David Gibson <david@gibson.dropbear.id.au>
    committed Apr 6, 2012
  19. target-ppc: QOM'ify CPU

    Embed CPUPPCState as first member of PowerPCCPU.
    Distinguish between "powerpc-cpu", "powerpc64-cpu" and
    "embedded-powerpc-cpu".
    
    Let CPUClass::reset() call cpu_state_reset() for now.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Acked-by: David Gibson <david@gibson.dropbear.id.au>
    committed Apr 6, 2012
  20. target-ppc: Add hooks for handling tcg and kvm limitations

    On target-ppc, our table of CPU types and features encodes the features as
    found on the hardware, regardless of whether these features are actually
    usable under TCG or KVM.  We already have cases where the information from
    the cpu table must be fixed up to account for limitations in the emulation
    method we're using.  e.g. TCG does not support the DFP and VSX instructions
    and KVM needs different numbering of the CPUs in order to tell it the
    correct thread to core mappings.
    
    This patch cleans up these hacks to handle emulation limitations by
    consolidating them into a pair of functions specifically for the purpose.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    [AF: Style and typo fixes, rename new functions and drop ppc_def_t arg]
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 4, 2012
  21. target-ppc: Drop cpu_ppc_close()

    It is unused, so avoid QOM'ifying it unneededly.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Acked-by: David Gibson <david@gibson.dropbear.id.au>
    committed Apr 6, 2012
  22. pseries: Consolidate hack for RTAS display-character usage

    Currently the pseries machine contains not one but two somewhat ugly hacks
    to allow printing of early debug messages before the guest has properly
    read the device tree.
    
    First, we special case H_PUT_TERM_CHAR so that a vtermno of 0 (usually
    invalid) will look for a suitable vty and use that.  This supports Linux's
    early debug code which will use H_PUT_TERM_CHAR with vtermno==0 before
    reading the device tree.  Second, we support the RTAS display-character call.
    This takes no vtermno so we assume the address of the default first VTY.
    
    This patch makes things more consistent by folding the second hack into the
    first.  Now, display-character uses the existing vty_lookup() function to
    do the same search for a suitable VTY.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 4, 2012
  23. pseries: Remove unused fields from VIOsPAPRBus structure

    The VIOsPAPRBus structure, used on the pseries machine contains some old
    fields which are no longer used anywhere.  This patch removes them.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Apr 4, 2012
  24. pseries: Implement RTAS system-reboot call

    This patch adds the PAPR defined RTAS system-reboot call to the pseries
    machine emulation, providing the guest with a way to trigger a reboot.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Mar 28, 2012
  25. pseries: Fix bug with reset of VIO CRQs

    PAPR specifies a Command Response Queue (CRQ) mechanism used for virtual
    IO, which we implement.  However, we don't correctly clean up registered
    CRQs when we reset the system.
    
    This patch adds a reset handler to fix this bug.  While we're at it, add
    in some of the extra debug messages that were used to track the problem
    down.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    [AF: Updated hcall_dprintf()s to not duplicate the function name]
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Mar 28, 2012
  26. pseries: Clean up hcall_dprintf() debugging messages

    The pseries machine code has a number of debug messages for debugging PAPR
    hypercalls, dependent on DEBUG_SPAPR_HCALLS.  This patch cleans these
    messages up a bit, by adding __func__ to the hcall_dprintf() macro and
    simplifying up a number of the individual messages accordingly.
    
    Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    dgibson committed with Mar 28, 2012
  27. PPC: Fix TLB invalidation bug within the PPC interrupt handler.

    Commit 4155744 also introduced a subtle TLB
    flush bug. By applying a mask to the interrupt MSR which cleared the IR/DR
    bits at the start of the interrupt handler, the logic towards the end of the
    handler to force a TLB flush if either one of these bits were set would never
    be triggered.
    
    This patch simply changes the IR/DR bit check in the TLB flush logic to use
    the original MSR value (albeit with some interrupt-specific bits cleared) so
    that the IR/DR bits are preserved at the point where the check takes place.
    
    Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
    Acked-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    mcayland committed with Mar 27, 2012
  28. pcspk: initialize PC speaker if compiled in

    PC speaker has been moved to target-independant code in 7109371,
    so do not depend of target to include it or not.
    
    Cc: malc <av1474@comtv.ru>
    Cc: Blue Swirl <blauwirbel@gmail.com>
    Signed-off-by: Herv? Poussineau <hpoussin@reactos.org>
    Signed-off-by: malc <av1474@comtv.ru>
    Hervé Poussineau committed with malc Apr 14, 2012
Commits on Apr 14, 2012
  1. tests: remove .SECONDARY special target

    The special target should not be needed anymore, and caused (perhaps
    due to a Make bug) a failure with "make -j2".  In any case, the
    main makefile is a better place for such special targets rather
    than an included makefile.
    
    Reported-by: Luiz Capitulino <lcapitulino@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Tested-by: Luiz Capitulino <lcapitulino@redhat.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    bonzini committed with blueswirl Mar 31, 2012
  2. target-xtensa: add test for IBREAK invalidation

    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    jcmvbkbc committed with blueswirl Apr 9, 2012
  3. target-xtensa: add tests for LBEG/LEND invalidation

    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    jcmvbkbc committed with blueswirl Apr 9, 2012
  4. target-xtensa: fix tb invalidation for IBREAK and LOOP

    Instruction breakpoint/zero overhead loop handling code is built into
    TBs pointed to by IBREAKA/LEND SRs. When these or related SRs get
    changed TBs at virtual addresses corresponding to their old and their
    new values must be invalidated.
    
    Virtual address range is passed to the tb_invalidate_phys_page_range,
    which is incorrect in system emulation mode.
    
    To fix it use guest TLB/MMU to translate virtual address to physical
    address.
    
    However the guest may not have virtual-to-physical mapping at the moment
    of IBREAKA/LEND change, thus this fix is not 100% accurate.
    
    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    jcmvbkbc committed with blueswirl Apr 9, 2012
  5. exec: provide tb_invalidate_phys_addr function

    Allow TB invalidation by its physical address, extract implementation
    from the breakpoint_invalidate function.
    
    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    jcmvbkbc committed with blueswirl Apr 9, 2012
  6. Use uintptr_t for various op related functions

    Use uintptr_t instead of void * or unsigned long in
    several op related functions, env->mem_io_pc and
    GETPC() macro.
    
    Reviewed-by: Stefan Weil <sw@weilnetz.de>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    blueswirl committed Apr 9, 2012
  7. coroutine-gthread.c: Avoid threading APIs deprecated in GLib 2.31

    The GLib threading APIs were revamped in GLib 2.31 and a number
    of the old interfaces were deprecated, which means they provoke
    compilation warnings (errors if -Werror) now. Add support for the
    new interfaces while retaining the old ones so we can still compile
    on older versions of GLib too.
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    pm215 committed with blueswirl Mar 3, 2012