• While most of the ARMv5 instructions are backward compatible with ARMv4, there
    are few important differences. Most notably the stack pop and load instructions
    ignore the lowest bit, which is used by ARMv5 to switch to Thumb mode. A
    base-updated data-abort model is used on ARM7TDMI, CP15 coprocessor is not
    present and several instructions of later architectures are not implemented.
    
    This patch introduces flags for the V5, CP15 and ABORT_BU (base-updated abort
    model) features. When V5 feature is not set the bit 0 on POP, LD and LDM of PC
    register is ignored and doesn't swith to/from Thumb mode and several
    instructions are treated as unimplemented (BLX, PLD, BKPT, LDRD, STRD).
    
    Based on patch by Ulrich Hecht <uli@suse.de>.
    
    Signed-off-by: Filip Navara <filip.navara@gmail.com>
    Filip Navara authored
     
    Browse Code »


  • Once again, the emulation of the EERD and ICS registers in e1000.c is
    incorrect. Nobody has noticed this before because none of the Intel-written
    e1000 drivers use these registers, and all of the independently written open
    source drivers copy Intel's example, so they don't use them either.
    Regardless, these registers are documented in the programmer's manuals, and
    their emulated behavior doesn't match the verified behavior of real hardware,
    so any software that does use them doesn't function correctly.
    
    -Bill
    
    Signed-off-by: Bill Paul <wpaul@windriver.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Bill Paul authored
     
    Browse Code »
  • It works much better when parse_option_number actually
    returns the number parsed ...
    
    Common breakage resulting from this bug is that
    'qemu -hda foo.img -cdrom bar.iso' stops working
    (cdrom isn't there).
    
    Cc: Avi Kivity <avi@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gerd Hoffmann authored
     
    Browse Code »
  • Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gerd Hoffmann authored
     
    Browse Code »
  • Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gerd Hoffmann authored
     
    Browse Code »
  • Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gerd Hoffmann authored
     
    Browse Code »
  • When a VM state change handler changes VM state, other VM state change
    handlers can see the state transitions out of order.
    
    bmdma_map(), scsi_disk_init() and virtio_blk_init() install VM state
    change handlers to restart DMA.  These handlers can vm_stop() by
    running into a write error on a drive with werror=stop.  This throws
    the VM state change handler callback into disarray.  Here's an example
    case I observed:
    
    0. The virtual IDE drive goes south.  All future writes return errors.
    
    1. Something encounters a write error, and duly stops the VM with
       vm_stop().
    
    2. vm_stop() calls vm_state_notify(0).
    
    3. vm_state_notify() runs the callbacks in list vm_change_state_head.
       It contains ide_dma_restart_cb() installed by bmdma_map().  It also
       contains audio_vm_change_state_handler() installed by audio_init().
    
    4. audio_vm_change_state_handler() stops audio stuff.
    
    5. User continues VM with monitor command "c".  This runs vm_start().
    
    6. vm_start() calls vm_state_notify(1).
    
    7. vm_state_notify() runs the callbacks in vm_change_state_head.
    
    8. ide_dma_restart_cb() happens to come first.  It does its work, runs
       into a write error, and duly stops the VM with vm_stop().
    
    9. vm_stop() runs vm_state_notify(0).
    
    10. vm_state_notify() runs the callbacks in vm_change_state_head.
    
    11. audio_vm_change_state_handler() stops audio stuff.  Which isn't
       running.
    
    12. vm_stop() finishes, ide_dma_restart_cb() finishes, step 7's
       vm_state_notify() resumes running handlers.
    
    13. audio_vm_change_state_handler() starts audio stuff.  Oopsie.
    
    Fix this by moving the actual write from each VM state change handler
    into a new bottom half (suggested by Gleb Natapov).
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Markus Armbruster authored
     
    Browse Code »
  • When sending a copyrect command to the vnc client, we must also update
    the local server surface.  Otherwise the server's and the client's idea
    of the screen content run out of sync and screen updates don't work
    correctly.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gerd Hoffmann authored
     
    Browse Code »
  • These are now unused.
    
    However, perhaps the idea is that when we add -device, they will be
    useful? In that case, we should add virtio-net-pci-0-10 too.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Mark McLoughlin authored
     
    Browse Code »
  • We have the pc-0.10 machine type now which does exactly the same
    thing.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Mark McLoughlin authored
     
    Browse Code »
  • Since migration returns right away, starting the VM right
    after calling qemu_start_incoming_migration is wrong even
    if -S is not passed.  We have to do this after migration
    has completed.
    
    Cc: Glauber Costa  <glommer@redhat.com>
    Cc: Anthony Liguori  <aliguori@us.ibm.com>
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Paolo Bonzini authored
     
    Browse Code »
  • Both input and output streams may be in SND_PCM_STATE_SUSPENDED
    after the host is suspended and resumed, meaning "Hardware is
    suspended".  snd_pcm_readi() and snd_pcm_writei() will return
    -ESTRPIPE if called while the stream is in this state.
    
    Call snd_pcm_resume() to enable audio output and capture after
    host resume.
    
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Signed-off-by: malc <av1474@comtv.ru>
    Bjørn Mork authored
     
    Browse Code »