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.
next prev parent 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.