All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Radim Krčmář" <rkrcmar@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: kvm@vger.kernel.org, pbonzini@redhat.com, mst@redhat.com,
	agordeev@redhat.com
Subject: Re: [kvm-unit-tests PATCH v2 01/10] asm-generic: add portio accessors to io.h
Date: Fri, 15 Jan 2016 22:34:09 +0100	[thread overview]
Message-ID: <20160115213409.GA12949@potion.brq.redhat.com> (raw)
In-Reply-To: <1452876695-9240-2-git-send-email-drjones@redhat.com>

2016-01-15 17:51+0100, Andrew Jones:
> Signed-off-by: Andrew Jones <drjones@redhat.com>
> ---
> diff --git a/lib/asm-generic/io.h b/lib/asm-generic/io.h
> @@ -152,6 +152,58 @@ static inline u64 __bswap64(u64 x)
> +#ifndef PCI_IOBASE
> +#define PCI_IOBASE ((void *)0)
> +#endif
> +
> +#ifndef inb
> +#define inb inb

(I consider this repeated pattern to be very ugly, even by C standards.)

> +static inline u8 inb(unsigned long addr)
> +{
> +	return readb(PCI_IOBASE + addr);
> +}

My first reaction was "throw this abomination out!", but Drew explained
that in*/out* is here because we'll also generalize the x86 PCI code
(which uses PIO and MMIO) and that Linux has the same code.

arm, arm64, and unicore32 define PCI_IOBASE in Linux.  I didn't figure
out why they want to use a PIO based abstraction for MMIO, so the
interface is fine with me as long as
 - functions are hidden behind a single #ifndef, like ARCH_HAS_PORT_IO.
   (Ideally defined as part of global configuration, because it's harder
    to fail that way.)
 - "unsigned long addr" is changed to "u16 port";
   x86 ought to have that and we should use different names if we need
   different types, because behavior couldn't be the same then.

  reply	other threads:[~2016-01-15 21:34 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15 16:51 [kvm-unit-tests PATCH v2 00/10] share pci-testdev with the framework Andrew Jones
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 01/10] asm-generic: add portio accessors to io.h Andrew Jones
2016-01-15 21:34   ` Radim Krčmář [this message]
2016-01-18 13:52     ` Andrew Jones
2016-01-18 16:40       ` Radim Krčmář
2016-01-18 17:02         ` Andrew Jones
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 02/10] x86: move io.h to asm Andrew Jones
2016-01-15 21:39   ` Radim Krčmář
2016-01-18 13:55     ` Andrew Jones
2016-01-18 16:43       ` Radim Krčmář
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 03/10] x86: use common portio accessors from io.h Andrew Jones
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 04/10] x86: pci.h: remove useless include Andrew Jones
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 05/10] x86: move x86/pci to the common lib Andrew Jones
2016-01-15 21:57   ` Radim Krčmář
2016-01-18 13:59     ` Andrew Jones
2016-01-18 16:46       ` Radim Krčmář
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 06/10] x86: share pci-testdev hdr in " Andrew Jones
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 07/10] lib/pci: make PCIDEVADDR_INVALID truly invalid Andrew Jones
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 08/10] lib: add linux dir for kernel uapi headers Andrew Jones
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 09/10] Revert "arm/arm64: import include/uapi/linux/psci.h" Andrew Jones
2016-01-15 16:51 ` [kvm-unit-tests PATCH v2 10/10] lib/linux: import pci_regs.h Andrew Jones
2016-01-15 21:57 ` [kvm-unit-tests PATCH v2 00/10] share pci-testdev with the framework Radim Krčmář
2016-01-18 14:01   ` Andrew Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160115213409.GA12949@potion.brq.redhat.com \
    --to=rkrcmar@redhat.com \
    --cc=agordeev@redhat.com \
    --cc=drjones@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.