On 5/25/23 21:01, Zhijian Li (Fujitsu) wrote:
On 25/05/2023 23:28, Dave Jiang wrote:
On 5/22/23 20:57, Li Zhijian wrote:
It requires some CLX specific kconfigs and testing purpose module
Signed-off-by: Li Zhijian <lizhij...@fujitsu.com>
---
README.md | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 7c7cf0dd065d..521e2582fb05 100644
--- a/README.md
+++ b/README.md
@@ -39,8 +39,8 @@ https://nvdimm.wiki.kernel.org/start
Unit Tests
==========
-The unit tests run by `meson test` require the nfit_test.ko module to be
-loaded. To build and install nfit_test.ko:
+The unit tests run by `meson test` require the nfit_test.ko and cxl_test.ko
modules to be
+loaded. To build and install nfit_test.ko and cxl_test.ko:
1. Obtain the kernel source. For example,
`git clone -b libnvdimm-for-next
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git`
@@ -70,6 +70,13 @@ loaded. To build and install nfit_test.ko:
CONFIG_NVDIMM_DAX=y
CONFIG_DEV_DAX_PMEM=m
CONFIG_ENCRYPTED_KEYS=y
+ CONFIG_CXL_BUS=m
+ CONFIG_CXL_PCI=m
+ CONFIG_CXL_ACPI=m
+ CONFIG_CXL_PMEM=m
+ CONFIG_CXL_MEM=m
+ CONFIG_CXL_PORT=m
+ CONFIG_DEV_DAX_CXL=m
Probably should have a separate entry for CXL configs for testing. There's a
cxl.git at kernel.org as well.
Also will need:
CONFIG_NVDIMM_SECURITY_TEST=y
I also noticed that Yi have sent a patch to add this and some other kconfigs
https://lore.kernel.org/nvdimm/20230516121730.2561605-1-yi.zh...@redhat.com/T/#u
CONFIG_CXL_REGION_INVALIDATION_TEST=y
Yes, i indeed missed it.
I insert a section before *run the test* as below. A markdown preview of
README.md
Please take another look.
diff --git a/README.md b/README.md
index 7c7cf0dd065d..324d179ac4ea 100644
--- a/README.md
+++ b/README.md
@@ -82,6 +82,32 @@ loaded. To build and install nfit_test.ko:
sudo make modules_install
```
+1. CXL test
+
+ The unit tests will also run CXL test by default. In order to make the
+ CXL test work properly, we need to install the cxl_test.ko as well.
+
+ Obtain the CXL kernel source(optional). For example,
+ `git clone -b pending
git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git`
+
+ Enable CXL specific kernel configurations
+ ```
+ CONFIG_CXL_BUS=m
+ CONFIG_CXL_PCI=m
+ CONFIG_CXL_ACPI=m
+ CONFIG_CXL_PMEM=m
+ CONFIG_CXL_MEM=m
+ CONFIG_CXL_PORT=m
+ CONFIG_CXL_REGION=y
+ CONFIG_CXL_REGION_INVALIDATION_TEST=y
+ CONFIG_DEV_DAX_CXL=m
+ ```
+ Install cxl_test.ko
+ ```For cxl_test.ko
+ make M=tools/testing/cxl
+ sudo make M=tools/testing/cxl modules_install
+ sudo make modules_install
+ ```
1. Now run `meson test -C build` in the ndctl source directory, or `ndctl
test`,
if ndctl was built with `-Dtest=enabled` as a configuration option to
meson.
LGTM
```
1. Build and install the unit test enabled libnvdimm modules in the
@@ -77,8 +84,14 @@ loaded. To build and install nfit_test.ko:
the `depmod` that runs during the final `modules_install`
```
+ # For nfit_test.ko
make M=tools/testing/nvdimm
sudo make M=tools/testing/nvdimm modules_install
+
+ # For cxl_test.ko
+ make M=tools/testing/cxl
+ sudo make M=tools/testing/cxl modules_install
+
sudo make modules_install
```