qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [RESEND][PATCH] Add 40-bit DMA support to LSI scsi emul


From: Blue Swirl
Subject: [Qemu-devel] Re: [RESEND][PATCH] Add 40-bit DMA support to LSI scsi emulation
Date: Mon, 17 Nov 2008 21:25:27 +0200

On 11/17/08, Ryan Harper <address@hidden> wrote:
>
>  Looking for some feedback on this patch, MAINTAINERS points to Paul for
>  scsi stuff, and I saw Blue Swirl commit a scsi patch recently.
>
>  This patch fixes Linux machines configured with > 4G of ram and using a
>  SCSI device.  I'm working on 64-bit DMA support as well which should
>  hopefully fix 64-bit Windows using SCSI devices as well.

    addr = s->dnad;
+    if (lsi_dma_40bit(s))
+        addr |= ((uint64_t)s->dnad64 << 32UL);
+    else if (s->sbms)
+        addr |= ((uint64_t)s->sbms << 32UL);

Maybe the address could be calculated at script parsing phase for
small performance gain.

I would use ULL instead of UL, because on 32 bit host long is still 32 bits.

>  +    DPRINTF("DMA addr=0x%" PRIx64 " len=%d\n", addr, count);

PRIx64 will be incorrect if target_phys_addr_t is 32 bits. You should
use TARGET_FMT_plx instead.

>  +    uint32_t addr, addr64;

Looking at the code after this I thought that addr64 is 64 bits, maybe
addr_high would be a better name?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]