History log of /haiku/src/add-ons/kernel/drivers/disk/nvme/compat/libnvme_haiku.cpp
Revision Date Author Comments
# 6489b77d 06-Jul-2022 Augustin Cavalier <waddlesplash@gmail.com>

nvme_disk: Fix build on non-PAE 32-bit architectures.


# 138d4bbd 06-Jul-2022 Augustin Cavalier <waddlesplash@gmail.com>

nvme_disk: Refactor 64-bit BAR handling into nvme_pcicfg_get_bar_addr_len.

Then invoke this function in nvme_pcicfg_map_bar instead of duplicating
the logic.


# f7179d9f 18-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

nvme_disk: Improve nvme_pcicfg_map_bar logic.

The 64-bit address accounting that was added used a hardcoded bar of 0,
which is not what we want here, so use the correct offsets instead.
Also account for sizes, too.


# 0877e4d7 25-Jul-2021 X512 <danger_mail@list.ru>

nvme: add legacy interrupts support

Change-Id: I29b9676c6c2407e7795af4c7b1c56a7afb546f6e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4312
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 1b3ccbc5 27-Apr-2020 Augustin Cavalier <waddlesplash@gmail.com>

nvme_disk: Overhaul to use physical-buffer-based I/O.

This fixes the virtual/physical mixup problems that plagued
the driver until now.

This is rather inefficent, though, as it does its own page-based
bouncing instead of using DMAResource. That will come in the
next commit.


# d4304f43 20-Apr-2020 Augustin Cavalier <waddlesplash@gmail.com>

nvme_disk: Correct get_memory_map invocation.

Passing "1" as the bytes argument instead of "0" means that
get_memory_map would never return an error in the case that
one physical_entry was not enough for the vaddr's map.

This reveals the true cause of the disk corruptions:
libnvme is assuming some of the passed buffers are
physically contiguous, and they are not.


# 4b88e723 14-Apr-2019 Augustin Cavalier <waddlesplash@gmail.com>

nvme: Import glue code to our PCI and VM APIs.

Largely simple and painless, thanks to libnvme's abstractions.