xref: /linux/tools/testing/cxl/Kbuild (revision 2c73cda8908f1275b0ecf81ae540a3bc2a90fc30)
1# SPDX-License-Identifier: GPL-2.0
2ldflags-y += --wrap=acpi_table_parse_cedt
3ldflags-y += --wrap=is_acpi_device_node
4ldflags-y += --wrap=acpi_evaluate_integer
5ldflags-y += --wrap=acpi_pci_find_root
6ldflags-y += --wrap=nvdimm_bus_register
7ldflags-y += --wrap=hmat_get_extended_linear_cache_size
8ldflags-y += --wrap=walk_hmem_resources
9ldflags-y += --wrap=region_intersects
10ldflags-y += --wrap=region_intersects_soft_reserve
11wrap_cxl_core := --wrap=cxl_await_media_ready
12wrap_cxl_core += --wrap=devm_cxl_add_rch_dport
13wrap_cxl_core += --wrap=devm_cxl_add_dport_by_dev
14wrap_cxl_core += --wrap=devm_cxl_switch_port_decoders_setup
15wrap_cxl_core += --wrap=devm_cxl_endpoint_decoders_setup
16wrap_cxl_core += --wrap=cxl_endpoint_parse_cdat
17LDFLAGS_cxl_acpi.o += $(wrap_cxl_core)
18LDFLAGS_cxl_pmem.o += $(wrap_cxl_core)
19LDFLAGS_cxl_port.o += $(wrap_cxl_core)
20LDFLAGS_cxl_mem.o  += $(wrap_cxl_core)
21
22DRIVERS := ../../../drivers
23DAX_HMEM_SRC := $(DRIVERS)/dax/hmem
24CXL_SRC := $(DRIVERS)/cxl
25CXL_CORE_SRC := $(DRIVERS)/cxl/core
26ccflags-y := -I$(srctree)/drivers/cxl/
27ccflags-y += -D__mock=__weak
28ccflags-y += -DCXL_TEST_ENABLE=1
29ccflags-y += -DTRACE_INCLUDE_PATH=$(CXL_CORE_SRC) -I$(srctree)/drivers/cxl/core/
30
31obj-m += cxl_acpi.o
32
33cxl_acpi-y := $(CXL_SRC)/acpi.o
34cxl_acpi-y += mock_acpi.o
35cxl_acpi-y += config_check.o
36cxl_acpi-y += cxl_acpi_test.o
37
38obj-m += cxl_pmem.o
39
40cxl_pmem-y := $(CXL_SRC)/pmem.o
41cxl_pmem-y += $(CXL_SRC)/security.o
42cxl_pmem-y += config_check.o
43cxl_pmem-y += cxl_pmem_test.o
44
45obj-m += cxl_port.o
46
47cxl_port-y := $(CXL_SRC)/port.o
48cxl_port-y += config_check.o
49cxl_port-y += cxl_port_test.o
50
51
52obj-m += cxl_mem.o
53
54cxl_mem-y := $(CXL_SRC)/mem.o
55cxl_mem-y += config_check.o
56cxl_mem-y += cxl_mem_test.o
57
58obj-m += cxl_core.o
59
60cxl_core-y := $(CXL_CORE_SRC)/port.o
61cxl_core-y += $(CXL_CORE_SRC)/pmem.o
62cxl_core-y += $(CXL_CORE_SRC)/regs.o
63cxl_core-y += $(CXL_CORE_SRC)/memdev.o
64cxl_core-y += $(CXL_CORE_SRC)/mbox.o
65cxl_core-y += $(CXL_CORE_SRC)/pci.o
66cxl_core-y += $(CXL_CORE_SRC)/hdm.o
67cxl_core-y += $(CXL_CORE_SRC)/pmu.o
68cxl_core-y += $(CXL_CORE_SRC)/cdat.o
69cxl_core-$(CONFIG_TRACING) += $(CXL_CORE_SRC)/trace.o
70cxl_core-$(CONFIG_CXL_REGION) += $(CXL_CORE_SRC)/region.o $(CXL_CORE_SRC)/region_pmem.o $(CXL_CORE_SRC)/region_dax.o
71cxl_core-$(CONFIG_CXL_MCE) += $(CXL_CORE_SRC)/mce.o
72cxl_core-$(CONFIG_CXL_FEATURES) += $(CXL_CORE_SRC)/features.o
73cxl_core-$(CONFIG_CXL_EDAC_MEM_FEATURES) += $(CXL_CORE_SRC)/edac.o
74cxl_core-$(CONFIG_CXL_RAS) += $(CXL_CORE_SRC)/ras.o
75cxl_core-$(CONFIG_CXL_RAS) += $(CXL_CORE_SRC)/ras_rch.o
76cxl_core-$(CONFIG_CXL_ATL) += $(CXL_CORE_SRC)/atl.o
77cxl_core-y += config_check.o
78cxl_core-y += cxl_core_test.o
79cxl_core-y += cxl_core_exports.o
80
81obj-m += dax_hmem.o
82dax_hmem-y := $(DAX_HMEM_SRC)/hmem.o
83
84KBUILD_CFLAGS := $(filter-out -Wmissing-prototypes -Wmissing-declarations, $(KBUILD_CFLAGS))
85
86obj-m += test/
87