> -----Original Message----- > From: David Marchand <[email protected]> > Sent: Monday, March 15, 2021 18:20 > To: Wang, Haiyue <[email protected]>; 谢华伟(此时此刻) > <[email protected]> > Cc: [email protected]; Yigit, Ferruh <[email protected]>; > [email protected]; Burakov, Anatoly > <[email protected]>; [email protected]; [email protected] > Subject: Re: [dpdk-dev] [PATCH v11 2/2] bus/pci: support MMIO in PCI ioport > accessors > > On Thu, Mar 11, 2021 at 7:43 AM Wang, Haiyue <[email protected]> wrote: > > Like kernel use macro to do pio and mmio, maybe we can also to do so for > > making code clean: > > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/iomap.c > > > > #define IO_COND(addr, is_pio, is_mmio) do { \ > > unsigned long port = (unsigned long __force)addr; \ > > if (port >= PIO_RESERVED) { \ > > is_mmio; \ > > } else if (port > PIO_OFFSET) { \ > > port &= PIO_MASK; \ > > is_pio; \ > > } else \ > > bad_io_access(port, #is_pio ); \ > > } while (0) > > > > > > Like: > > > > #if defined(RTE_ARCH_X86) > > #define IO_COND(addr, is_pio, is_mmio) do { \ > > if ((uint64_t)(uintptr_t)addr >= PIO_MAX) { \ > > is_mmio; \ > > } else { \ > > is_pio; \ > > } \ > > } while (0) > > #else > > #define IO_COND(addr, is_pio, is_mmio) do { \ > > is_mmio; \ > > } while (0) > > #endif > > We should not just copy/paste kernel code. >
Got it ;-) > > > -- > David Marchand

