From 1c59c67009f781bb9aed08e01db16cac6e5a44c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=A8jfb8856606?= Date: Tue, 6 Sep 2022 04:45:51 +0000 Subject: [PATCH] Update igb_uio. --- dpdk/kernel/linux/igb_uio/compat.h | 14 ++++++++++++++ dpdk/kernel/linux/igb_uio/igb_uio.c | 6 +++--- dpdk/kernel/linux/igb_uio/meson.build | 4 ++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/dpdk/kernel/linux/igb_uio/compat.h b/dpdk/kernel/linux/igb_uio/compat.h index 8dbb896ae..71172f40c 100644 --- a/dpdk/kernel/linux/igb_uio/compat.h +++ b/dpdk/kernel/linux/igb_uio/compat.h @@ -152,3 +152,17 @@ static inline bool igbuio_kernel_is_locked_down(void) return false; #endif } + +#ifndef fallthrough + +#ifndef __has_attribute +#define __has_attribute(x) 0 +#endif + +#if __has_attribute(__fallthrough__) +#define fallthrough __attribute__((__fallthrough__)) +#else +#define fallthrough do {} while (0) /* fallthrough */ +#endif + +#endif diff --git a/dpdk/kernel/linux/igb_uio/igb_uio.c b/dpdk/kernel/linux/igb_uio/igb_uio.c index ea439d131..33e0e0286 100644 --- a/dpdk/kernel/linux/igb_uio/igb_uio.c +++ b/dpdk/kernel/linux/igb_uio/igb_uio.c @@ -250,7 +250,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev *udev) } #endif - /* falls through - to MSI */ + fallthrough; case RTE_INTR_MODE_MSI: #ifndef HAVE_ALLOC_IRQ_VECTORS if (pci_enable_msi(udev->pdev) == 0) { @@ -269,7 +269,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev *udev) break; } #endif - /* falls through - to INTX */ + fallthrough; case RTE_INTR_MODE_LEGACY: if (pci_intx_mask_supported(udev->pdev)) { dev_dbg(&udev->pdev->dev, "using INTX"); @@ -279,7 +279,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev *udev) break; } dev_notice(&udev->pdev->dev, "PCI INTX mask not supported\n"); - /* falls through - to no IRQ */ + fallthrough; case RTE_INTR_MODE_NONE: udev->mode = RTE_INTR_MODE_NONE; udev->info.irq = UIO_IRQ_NONE; diff --git a/dpdk/kernel/linux/igb_uio/meson.build b/dpdk/kernel/linux/igb_uio/meson.build index cb7a1c421..cff40e1bc 100644 --- a/dpdk/kernel/linux/igb_uio/meson.build +++ b/dpdk/kernel/linux/igb_uio/meson.build @@ -8,7 +8,7 @@ mkfile = custom_target('igb_uio_makefile', custom_target('igb_uio', input: ['igb_uio.c', 'Kbuild'], output: 'igb_uio.ko', - command: ['make', '-C', kernel_dir + '/build', + command: ['make', '-C', kernel_build_dir + '/build', 'M=' + meson.current_build_dir(), 'src=' + meson.current_source_dir(), 'EXTRA_CFLAGS=-I' + meson.current_source_dir() + @@ -16,5 +16,5 @@ custom_target('igb_uio', 'modules'], depends: mkfile, install: true, - install_dir: kernel_dir + '/extra/dpdk', + install_dir: kernel_build_dir + '/extra/dpdk', build_by_default: get_option('enable_kmods'))