Permalink
Commits on Apr 2, 2012
  1. target-i386: QOM'ify CPU reset

    Move code from cpu_state_reset() into QOM x86_cpu_reset(),
    fixing style issues for FPU init.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    committed Apr 2, 2012
  2. target-i386: QOM'ify CPU init

    Move code from cpu_x86_init() to new QOM x86_cpu_initfn().
    Also move mce_init() to cpu.c since it's used nowhere else.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    committed Apr 2, 2012
  3. target-i386: QOM'ify CPU

    Embed CPUX86State as first member of X86CPU.
    Drop cpu_x86_close() in favor of calling object_delete() directly.
    
    For now let CPUClass::reset() call cpu_state_reset().
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    committed Apr 2, 2012
  4. target-i386: Rename cpuid.c

    Name it cpu.c to align with other QOM'ified targets.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    committed Apr 2, 2012
  5. target-s390x: Update s390x_{tod,cpu}_timer to use S390CPU

    In place of CPUS390XState pass S390CPU as opaque from the new initfn.
    cpu_interrupt() is anticipated to take a CPUState in the future.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    committed Apr 2, 2012
  6. target-s390x: QOM'ify CPU init

    Move code from cpu_s390x_init() into an initfn.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    committed Apr 2, 2012
  7. target-s390x: QOM'ify CPU reset

    Move code from cpu_state_reset() to s390_cpu_reset().
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Cc: Ulrich Hecht <uli@suse.de>
    committed Apr 2, 2012
  8. target-s390x: QOM'ify CPU

    Embed CPUS390XState as first member of S390CPU.
    Since -cpu is being ignored, make TYPE_S390_CPU non-abstract.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    committed Apr 2, 2012
  9. Merge remote-tracking branch 'kiszka/queues/slirp' into staging

    * kiszka/queues/slirp:
      slirp: Signal free input buffer space to io-thread
      w32/slirp: Undefine error constants before their redefinition
      slirp: use socket_set_nonblock
      slirp: clean up conflicts with system headers
    Anthony Liguori committed Apr 2, 2012
  10. Merge remote-tracking branch 'stefanha/tracing' into staging

    * stefanha/tracing:
      tracetool: dtrace: handle in and next reserved words
      tracetool: dtrace disabled-events fix
      Makefile.target: code stp dependency on trace-events
    Anthony Liguori committed Apr 2, 2012
  11. serial: clear LSR.TEMT when populating the TSR

    We never actually clear the TEMT (transmit sending register empty) flag when
    populating the TSR.  We set the flag, but since it's never cleared, setting it
    is sort of pointless..
    
    I found this with a unit test case.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori committed Apr 1, 2012
  12. serial: fix retry logic

    I'm not sure if the retry logic has ever worked when not using FIFO mode.  I
    found this while writing a test case although code inspection confirms it is
    definitely broken.
    
    The TSR retry logic will never actually happen because it is guarded by an
    'if (s->tsr_rety > 0)' but this is the only place that can ever make the
    variable greater than zero.  That effectively makes the retry logic an 'if (0)'.
    
    I believe this is a typo and the intention was >= 0.  Once this is fixed though,
    I see double transmits with my test case.  This is because in the non FIFO
    case, serial_xmit may get invoked while LSR.THRE is still high because the
    character was processed but the retransmit timer was still active.
    
    We can handle this by simply checking for LSR.THRE and returning early.  It's
    possible that the FIFO paths also need some attention.
    
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori committed Apr 1, 2012
  13. qtest: use qemu_gettimeofday()

    On linux, qemu_timeval will always be two long ints.  On windows, we use our
    own struct definition.  This should fix win64.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori committed Mar 30, 2012
Commits on Apr 1, 2012
  1. milkymist-vgafb: add missing register

    This bug existed since the first commit. Fortunately, the affected
    registers have no functionality in qemu. This will only prevent the
    following warning:
      milkymist_vgafb: write access to unknown register 0x00000034
    
    Signed-off-by: Michael Walle <michael@walle.cc>
    mwalle committed Mar 31, 2012
  2. target-lm32: add simple disassembler

    Because binutils disassembler is based on libopcode, this is a rewrite from
    scratch.
    
    Signed-off-by: Michael Walle <michael@walle.cc>
    mwalle committed Mar 31, 2012
Commits on Mar 31, 2012
  1. milkymist-sysctl: support for new core version

    The new version introduces the following new registers:
     - SoC clock frequency: read-only of system clock used on the SoC
     - debug scratchpad: 8 bit scratchpad register
     - debug write lock: write once register, without any function on QEMU
    
    Signed-off-by: Michael Walle <michael@walle.cc>
    mwalle committed Mar 31, 2012
  2. target-lm32: init tcg only if available

    Once qtest support for target-lm32 arrives, tcg may be disabled.
    
    Signed-off-by: Michael Walle <michael@walle.cc>
    mwalle committed Mar 31, 2012
  3. tests: fix out-of-tree building for lm32 target

    Signed-off-by: Michael Walle <michael@walle.cc>
    mwalle committed Mar 31, 2012
  4. Merge branch 'arm-devs.for-upstream' of git://git.linaro.org/people/p…

    …maydell/qemu-arm
    
    * 'arm-devs.for-upstream' of git://git.linaro.org/people/pmaydell/qemu-arm:
      pl031: switch clock base to rtc_clock
      pl031: rearm alarm timer upon load
      arm: switch real-time clocks to rtc_clock
      omap: switch omap_lpg to vm_clock
      rtc: add -rtc clock=rt
    blueswirl committed Mar 31, 2012
  5. Merge branch 'qom-cpu-unicore32.v3' of git://github.com/afaerber/qemu…

    …-cpu
    
    * 'qom-cpu-unicore32.v3' of git://github.com/afaerber/qemu-cpu:
      target-unicore32: Move CPU-dependent init into initfn
      target-unicore32: QOM'ify CPU
      target-unicore32: License future contributions under GPLv2+
      target-unicore32: Relicense to GPLv2+
      MAINTAINERS: Add entry for UniCore32
    blueswirl committed Mar 31, 2012
  6. Merge branch 'target-arm.for-upstream' of git://git.linaro.org/people…

    …/pmaydell/qemu-arm
    
    * 'target-arm.for-upstream' of git://git.linaro.org/people/pmaydell/qemu-arm:
      ARM: Permit any ARMv6K CPU to read the MVFR0 and MVFR1 VFP registers.
      target-arm: Minimalistic CPU QOM'ification
      target-arm: Drop cpu_arm_close()
    blueswirl committed Mar 31, 2012
  7. buildfix: check for old pod2man versions

    Older pod2man don't have a --utf8 switch, check for this in conffigure
    and use it only when present.  Fixes build on RHEL-5.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    kraxel committed with blueswirl Mar 29, 2012
  8. Fix conversion from lower to upper case with Turkish locale

    Some locale settings let make fail or create wrong results
    because tr '[:lower:]' '[:upper:]' which is used to convert
    from lower to upper case depends on the locale.
    
    With locale tr_TR.UTF-8, lower case 'i' is not converted to 'I'.
    This results in wrong entries in config-host.h like these ones:
    
      #define CONFIG_QEMU_PREFiX "/usr/local"
      #define CONFIG_QEMU_BiNDiR "/usr/local/bin"
    
    This problem was reported by Emre Ersin.
    
    The same problem occurs when configure creates the target specific
    files config-target.mak. They get wrong declarations:
    
    TARGET_CRiS=y
    TARGET_i386=y
    TARGET_MiCROBLAZE=y
    TARGET_MiPS64=y
    TARGET_MiPS=y
    TARGET_UNiCORE32=y
    
    It is sufficient to restrict the conversion to the characters a-z.
    
    Using this explicit range avoids the dependency on the locale
    settings and is also shorter.
    
    v2:
    POSIX says that 'tr a-z' is unspecified outside of the POSIX
    locale, so we must set LC_ALL=C to make sure that we are using
    POSIX (hint from Eric Blake, thanks).
    
    Signed-off-by: Stefan Weil <sw@weilnetz.de>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    stweil committed with blueswirl Mar 27, 2012
Commits on Mar 30, 2012
  1. qtest: avoid a warning with RTC test

    Avoid this warning on OpenBSD:
      CC    tests/rtc-test.o
    /src/qemu/tests/rtc-test.c: In function 'check_time':
    /src/qemu/tests/rtc-test.c:171: warning: format '%ld' expects type 'long int', but argument 2 has type 'time_t'
    /src/qemu/tests/rtc-test.c:173: warning: format '%ld' expects type 'long int', but argument 2 has type 'time_t'
    
    Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    blueswirl committed Mar 30, 2012
  2. qtest: fix 32-bit build

    time_t appears to be an unsigned long so use %ld.
    
    Reported-by: Stefan Weil <weil@mail.berlios.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori committed Mar 30, 2012
  3. slirp: Signal free input buffer space to io-thread

    This massively accelerates slirp reception speed: If data arrives
    faster than the guest can read it from the input buffer, the file
    descriptor for the corresponding socket was taken out of the fdset for
    select. However, the event of the guest reading enough data from the
    buffer was not signaled. Thus, the io-thread only noticed this change
    on the next time-driven poll. Fix this by kicking the io-thread as
    required.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    jan-kiszka committed Mar 30, 2012
  4. qtest: fix out of tree build

    Trace objects are also needed if tracing is enabled.
    
    Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    blueswirl committed Mar 30, 2012
  5. qtest: add rtc-test test-case

    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori committed Mar 28, 2012
  6. rtc: split out macros into a header file and use in test case

    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori committed Mar 28, 2012
  7. qtest: add C version of test infrastructure

    This also includes a qtest wrapper script to make it easier to launch qtest
    tests directly.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori committed Mar 28, 2012
  8. qtest: add clock management

    This patch combines qtest and -icount together to turn the vm_clock
    into a source that can be fully managed by the client.  To this end new
    commands clock_step and clock_set are added.  Hooking them with libqtest
    is left as an exercise to the reader.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    bonzini committed with Anthony Liguori Mar 28, 2012
  9. qtest: IRQ interception infrastructure

    Since /i440fx/piix3 is being removed from the composition tree, the
    IO-APIC is placed under /i440fx.  This is wrong and should be changed
    as soon as the /i440fx/piix3 path is put back.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    bonzini committed with Anthony Liguori Mar 28, 2012
  10. qtest: add test framework

    The idea behind qtest is pretty simple.  Instead of executing a CPU via TCG or
    KVM, rely on an external process to send events to the device model that the CPU
    would normally generate.
    
    qtest presents itself as an accelerator.  In addition, a new option is added to
    establish a qtest server (-qtest) that takes a character device.  This is what
    allows the external process to send CPU events to the device model.
    
    qtest uses a simple line based protocol to send the events.  Documentation of
    that protocol is in qtest.c.
    
    I considered reusing the monitor for this job.  Adding interrupts would be a bit
    difficult.  In addition, logging would also be difficult.
    
    qtest has extensive logging support.  All protocol commands are logged with
    time stamps using a new command line option (-qtest-log).  Logging is important
    since ultimately, this is a feature for debugging.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori committed Mar 28, 2012
  11. test makefile overhaul

    This introduces new test reporting infrastructure based on
    gtester and gtester-report.
    
    Also, all existing tests are moved to tests/, and tests/Makefile
    is reorganized to factor out the commonalities in the rules.
    
    Signed-off-by: Anthony Liguori <aliguori@linux.vnet.ibm.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    bonzini committed with Anthony Liguori Mar 28, 2012
  12. tracetool: dtrace: handle in and next reserved words

    Signed-off-by: Alon Levy <alevy@redhat.com>
    Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    Alon Levy committed with Stefan Hajnoczi Mar 29, 2012