• 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@7232 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • Currently IRQ are reinjected as soon as they are acknowledged to
    the RTC, but Windows sometimes do acknowledgement in a loop with
    global interrupt disabled waiting for interrupt to be cleared and
    it does not mask RTC vector in PIC/APIC while doing this. In such
    situation interrupt injection always fails and RTC interrupt is never
    cleared.
    
    Instead of reinjecting coalesced IRQs on acknowledgement the patch below
    reinjects them by accelerating RTC clock a bit. This way RTC interrupt
    is not constantly raced after coalesced interrupt.
    
    Signed-off-by: Gleb Natapov <gleb@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7231 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • If fault happened during event delivery exit_int_info should contain
    valid info about the event on vm exit.
    
    Signed-off-by: Gleb Natapov <gleb@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7230 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Dir »
  • this patch adds a buffer_alignment field to BlockDriverState and
    implements a qemu_blockalign function that uses that field to allocate a
    memory aligned buffer to be used by the block driver.
    buffer_alignment is initialized to 512 but each block driver can set
    a different value (at the moment none of them do).
    This patch modifies ide.c, block-qcow.c, block-qcow2.c and block.c to
    use qemu_blockalign instead of qemu_memalign.
    There is only one place left that still uses qemu_memalign to allocate
    buffers used by block drivers that is posix-aio-compat:handle_aiocb_rw
    because it is not possible to get the BlockDriverState from that
    function. However I think it is not important because posix-aio-compat
    already deals with driver specific code so it is supposed to know its
    own needs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7229 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »