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 <kevin@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-leave@seabios.org