patch set tested successfully along with the subsequent single bounce
buffer patch on a Purism Librem 15v4 w/Samsung 960 EVO

On Wed, Jan 19, 2022 at 12:45 PM Kevin O'Connor <ke...@koconnor.net> wrote:
>
> Hi Alex,
>
> I was looking at your recent fix for SeaBIOS NVME.  I agree that it is
> not valid to write to the f-segment during runtime.  However, I was
> struggling to understand the PRP list management in the nvme.c code.
>
> I came up with a different implementation that avoids allocating
> another buffer in the "high zone".  Instead, the code in this patch
> series builds the page list in the existing "dma bounce buffer".
>
> I don't have a good way to test this on real hardware.  It passes
> simple qemu tests (both with and without kvm).  For example:
>
> qemu-system-x86_64 -k en-us -snapshot -L test -chardev stdio,id=seabios 
> -device isa-debugcon,iobase=0x402,chardev=seabios -m 512 -drive 
> file=dos-drivec,if=none,id=drive0 -device nvme,drive=drive0,serial=nvme-1 
> -boot menu=on
>
> Thanks,
> -Kevin
>
>
> Kevin O'Connor (5):
>   nvme: Rework nvme_io_readwrite() to return -1 on error
>   nvme: Add nvme_bounce_xfer() helper function
>   nvme: Convert nvme_build_prpl() to nvme_prpl_xfer()
>   nvme: Pass prp1 and prp2 directly to nvme_io_xfer()
>   nvme: Build the page list in the existing dma buffer
>
>  src/hw/nvme-int.h |   7 ---
>  src/hw/nvme.c     | 143 ++++++++++++++++++++--------------------------
>  2 files changed, 61 insertions(+), 89 deletions(-)
>
> --
> 2.31.1
>
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to