• Hypervisors like KVM perform badly while doing mmio on
    a loop, because it'll generate an exit on each access.
    This is the case with VGA, which results in very bad
    performance.
    
    In this patch, we map the linear frame buffer as RAM,
    make sure it has dirty region tracking enabled, and then
    just let the region to be written.
    
    Cleanups suggestions by:
      Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5793 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »

  • Add another breakpoint/watchpoint type to BP_GDB: BP_CPU. This type is
    intended for hardware-assisted break/watchpoint emulations like the x86
    architecture requires.
    
    To keep the highest priority for BP_GDB breakpoints, this type is
    always inserted at the head of break/watchpoint lists, thus is found
    first when looking up the origin of a debug interruption.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5746 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • When one watchpoint is hit, others might have triggered as well. To
    support users of the watchpoint API which need to detect such cases,
    the BP_WATCHPOINT_HIT flag is introduced and maintained.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5744 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • In order to provide accurate information about the triggering
    instruction, this patch adds the required bits to restore the pc if the
    access happened inside a TB. With the BP_STOP_BEFORE_ACCESS flag, the
    watchpoint user can control if the debug trap should be issued on or
    after the accessing instruction.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5741 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • This patch prepares the QEMU cpu_watchpoint/breakpoint API to allow the
    succeeding enhancements this series comes with.
    
    First of all, it overcomes MAX_BREAKPOINTS/MAX_WATCHPOINTS by switching
    to dynamically allocated data structures that are kept in linked lists.
    This also allows to return a stable reference to the related objects,
    required for later introduced x86 debug register support.
    
    Breakpoints and watchpoints are stored with their full information set
    and an additional flag field that makes them easily extensible for use
    beyond pure guest debugging.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5738 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse File »










  • Implement the 'k' gdbserial packet which kills the qemu instance via
    the debugger stub.
    
    Implement the 'D' detach packet for the gdb stub such that you can
    disconnect gdb with the "detach" command.  This required implementing
    a cpu_breakpoint_remove_all() and a cpu_watchpoint_remove_all()
    function to cleanup all the breakpoints and watchpoints prior to
    leaving the gdb stub else simulation can stop with no debugger
    attached.
    
    On a '?' packet remove all the breakpoints and watchpoints.  This is
    considered more of a safety net in case you force killed gdb or it
    crashed and you are reconnecting.  The identical behavior exists for
    kgdb in the linux kernel.
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4478 c046a42c-6fe2-441c-8c8c-71466251a162
    edgar_igl authored
     
    Browse Code »








  • The patch below uses the float32 and float64 types instead of the float
    and double types in the PPC code. This doesn't change anything when
    using softfloat-native as the types are the same, but that helps
    compiling the PPC target with softfloat.
    
    It also defines a new union CPU_FloatU in addition to CPU_DoubleU, and
    use them instead of identical unions that are defined in numerous
    places.
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4047 c046a42c-6fe2-441c-8c8c-71466251a162
    aurel32 authored
     
    Browse Code »