On Thursday 23 August 2018 05:25 PM, Gustavo Pimentel wrote:
> Change tool compiling process in order to be build using the same
> mechanism used in other linux tools (e.g. iio, perf, etc). This will
> allow in future the buildroot tool to build and integrate this tool in
> a more expeditious way.
> 
> Update documentation accordingly.
> 
> Signed-off-by: Gustavo Pimentel <gustavo.pimen...@synopsys.com>

Reviewed-by: Kishon Vijay Abraham I <kis...@ti.com>
> ---
>  Documentation/PCI/endpoint/pci-test-howto.txt | 19 ++++++----
>  tools/Makefile                                | 13 ++++---
>  tools/pci/Build                               |  1 +
>  tools/pci/Makefile                            | 53 
> +++++++++++++++++++++++++++
>  4 files changed, 72 insertions(+), 14 deletions(-)
>  create mode 100644 tools/pci/Build
>  create mode 100644 tools/pci/Makefile
> 
> diff --git a/Documentation/PCI/endpoint/pci-test-howto.txt 
> b/Documentation/PCI/endpoint/pci-test-howto.txt
> index 75f48c3..16df733 100644
> --- a/Documentation/PCI/endpoint/pci-test-howto.txt
> +++ b/Documentation/PCI/endpoint/pci-test-howto.txt
> @@ -98,17 +98,20 @@ Note that the devices listed here correspond to the value 
> populated in 1.4 above
>  2.2 Using Endpoint Test function Device
>  
>  pcitest.sh added in tools/pci/ can be used to run all the default PCI 
> endpoint
> -tests. Before pcitest.sh can be used pcitest.c should be compiled using the
> -following commands.
> +tests. To compile this tool the following commands should be used:
>  
> -     cd <kernel-dir>
> -     make headers_install ARCH=arm
> -     arm-linux-gnueabihf-gcc -Iusr/include tools/pci/pcitest.c -o pcitest
> -     cp pcitest  <rootfs>/usr/sbin/
> -     cp tools/pci/pcitest.sh <rootfs>
> +     # cd <kernel-dir>
> +     # make -C tools/pci
> +
> +or if you desire to compile and install in your system:
> +
> +     # cd <kernel-dir>
> +     # make -C tools/pci install
> +
> +The tool and script will be located in <rootfs>/usr/bin/
>  
>  2.2.1 pcitest.sh Output
> -     # ./pcitest.sh
> +     # pcitest.sh
>       BAR tests
>  
>       BAR0:           OKAY
> diff --git a/tools/Makefile b/tools/Makefile
> index be02c8b..abb358a 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -21,6 +21,7 @@ help:
>       @echo '  leds                   - LEDs  tools'
>       @echo '  liblockdep             - user-space wrapper for kernel 
> locking-validator'
>       @echo '  bpf                    - misc BPF tools'
> +     @echo '  pci                    - PCI tools'
>       @echo '  perf                   - Linux performance measurement and 
> analysis tool'
>       @echo '  selftests              - various kernel selftests'
>       @echo '  spi                    - spi tools'
> @@ -59,7 +60,7 @@ acpi: FORCE
>  cpupower: FORCE
>       $(call descend,power/$@)
>  
> -cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi: 
> FORCE
> +cgroup firewire hv guest spi usb virtio vm bpf iio gpio objtool leds wmi 
> pci: FORCE
>       $(call descend,$@)
>  
>  liblockdep: FORCE
> @@ -94,7 +95,7 @@ kvm_stat: FORCE
>  all: acpi cgroup cpupower gpio hv firewire liblockdep \
>               perf selftests spi turbostat usb \
>               virtio vm bpf x86_energy_perf_policy \
> -             tmon freefall iio objtool kvm_stat wmi
> +             tmon freefall iio objtool kvm_stat wmi pci
>  
>  acpi_install:
>       $(call descend,power/$(@:_install=),install)
> @@ -102,7 +103,7 @@ acpi_install:
>  cpupower_install:
>       $(call descend,power/$(@:_install=),install)
>  
> -cgroup_install firewire_install gpio_install hv_install iio_install 
> perf_install spi_install usb_install virtio_install vm_install bpf_install 
> objtool_install wmi_install:
> +cgroup_install firewire_install gpio_install hv_install iio_install 
> perf_install spi_install usb_install virtio_install vm_install bpf_install 
> objtool_install wmi_install pci_install:
>       $(call descend,$(@:_install=),install)
>  
>  liblockdep_install:
> @@ -128,7 +129,7 @@ install: acpi_install cgroup_install cpupower_install 
> gpio_install \
>               perf_install selftests_install turbostat_install usb_install \
>               virtio_install vm_install bpf_install 
> x86_energy_perf_policy_install \
>               tmon_install freefall_install objtool_install kvm_stat_install \
> -             wmi_install
> +             wmi_install pci_install
>  
>  acpi_clean:
>       $(call descend,power/acpi,clean)
> @@ -136,7 +137,7 @@ acpi_clean:
>  cpupower_clean:
>       $(call descend,power/cpupower,clean)
>  
> -cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean 
> vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean:
> +cgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean 
> vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean 
> pci_clean:
>       $(call descend,$(@:_clean=),clean)
>  
>  liblockdep_clean:
> @@ -174,6 +175,6 @@ clean: acpi_clean cgroup_clean cpupower_clean hv_clean 
> firewire_clean \
>               perf_clean selftests_clean turbostat_clean spi_clean usb_clean 
> virtio_clean \
>               vm_clean bpf_clean iio_clean x86_energy_perf_policy_clean 
> tmon_clean \
>               freefall_clean build_clean libbpf_clean libsubcmd_clean 
> liblockdep_clean \
> -             gpio_clean objtool_clean leds_clean wmi_clean
> +             gpio_clean objtool_clean leds_clean wmi_clean pci_clean
>  
>  .PHONY: FORCE
> diff --git a/tools/pci/Build b/tools/pci/Build
> new file mode 100644
> index 0000000..c375aea
> --- /dev/null
> +++ b/tools/pci/Build
> @@ -0,0 +1 @@
> +pcitest-y += pcitest.o
> diff --git a/tools/pci/Makefile b/tools/pci/Makefile
> new file mode 100644
> index 0000000..46e4c2f
> --- /dev/null
> +++ b/tools/pci/Makefile
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: GPL-2.0
> +include ../scripts/Makefile.include
> +
> +bindir ?= /usr/bin
> +
> +ifeq ($(srctree),)
> +srctree := $(patsubst %/,%,$(dir $(CURDIR)))
> +srctree := $(patsubst %/,%,$(dir $(srctree)))
> +endif
> +
> +# Do not use make's built-in rules
> +# (this improves performance and avoids hard-to-debug behaviour);
> +MAKEFLAGS += -r
> +
> +CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
> +
> +ALL_TARGETS := pcitest pcitest.sh
> +ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))
> +
> +all: $(ALL_PROGRAMS)
> +
> +export srctree OUTPUT CC LD CFLAGS
> +include $(srctree)/tools/build/Makefile.include
> +
> +#
> +# We need the following to be outside of kernel tree
> +#
> +$(OUTPUT)include/linux/: ../../include/uapi/linux/
> +     mkdir -p $(OUTPUT)include/linux/ 2>&1 || true
> +     ln -sf $(CURDIR)/../../include/uapi/linux/pcitest.h $@
> +
> +prepare: $(OUTPUT)include/linux/
> +
> +PCITEST_IN := $(OUTPUT)pcitest-in.o
> +$(PCITEST_IN): prepare FORCE
> +     $(Q)$(MAKE) $(build)=pcitest
> +$(OUTPUT)pcitest: $(PCITEST_IN)
> +     $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
> +
> +clean:
> +     rm -f $(ALL_PROGRAMS)
> +     rm -rf $(OUTPUT)include/
> +     find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' 
> -delete
> +
> +install: $(ALL_PROGRAMS)
> +     install -d -m 755 $(DESTDIR)$(bindir);          \
> +     for program in $(ALL_PROGRAMS); do              \
> +             install $$program $(DESTDIR)$(bindir);  \
> +     done
> +
> +FORCE:
> +
> +.PHONY: all install clean FORCE prepare
> 

Reply via email to