From 650c8b81a2b2242d8e42274933539ae33441ba3e Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Thu, 20 Jun 2019 12:05:40 -0500 Subject: [PATCH] nvme: Use kernel private memory barriers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I1747de7afb2a5b2ec845c1c14f013dbcb9bd72f8 Reviewed-on: https://review.haiku-os.org/c/1528 Reviewed-by: Alex von Gluck IV Reviewed-by: Adrien Destugues Reviewed-by: Axel Dörfler --- .../kernel/drivers/disk/nvme/compat/nvme_arch.h | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/add-ons/kernel/drivers/disk/nvme/compat/nvme_arch.h b/src/add-ons/kernel/drivers/disk/nvme/compat/nvme_arch.h index d4d3a3e7fc..394d90e873 100644 --- a/src/add-ons/kernel/drivers/disk/nvme/compat/nvme_arch.h +++ b/src/add-ons/kernel/drivers/disk/nvme/compat/nvme_arch.h @@ -8,27 +8,23 @@ #ifndef __NVME_ARCH_H__ #define __NVME_ARCH_H__ + #include +#include +#include #define NVME_ARCH_64 __HAIKU_ARCH_64_BIT #define NVME_MMIO_64BIT NVME_ARCH_64 #define PAGE_SIZE B_PAGE_SIZE -#define PAGE_SHIFT (12) // FIXME: values for other arches #ifndef asm #define asm __asm__ #endif -#if defined(__i386__) || defined(__amd64__) -#define nvme_wmb() __asm__ volatile("sfence" ::: "memory") -#elif defined(__ARM__) -#define nvme_wmb() __asm__ volatile("mcr p15, 0, %0, c7, c10, 5" :: "r" (0) : "memory") -#else -#warning Implement nvme memory barrier for arch! -#define nvme_wmb() __asm__ volatile("" ::: "memory") -#endif + +#define nvme_wmb() memory_write_barrier() typedef uint8 __u8;