On Thu, Apr 14, 2016 at 09:50:38AM +0200, Thomas Huth wrote: > On 11.04.2016 13:04, Alexander Gordeev wrote: > > This rework is a prerequisite for the forthcoming pci-testdev > > implementation. Basically, only generic port IO accessors are > > needed, but it turned out touching io/smp/mm files is needed. > > This update should likely be more comprehensive and split into > > several commits. > > > > Cc: Thomas Huth <thuth@xxxxxxxxxx> > > Cc: Andrew Jones <drjones@xxxxxxxxxx> > > Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> > > --- > > lib/asm-generic/io.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++++---- > > lib/x86/asm/page.h | 1 + > > lib/x86/io.h | 36 ++++++++++++++++++++++------------ > > lib/x86/smp.h | 4 ---- > > lib/x86/vm.c | 1 - > > lib/x86/vm.h | 12 +----------- > > x86/eventinj.c | 7 +------ > > x86/kvmclock.c | 1 + > > 8 files changed, 79 insertions(+), 38 deletions(-) > > create mode 100644 lib/x86/asm/page.h > > > > diff --git a/lib/asm-generic/io.h b/lib/asm-generic/io.h > > index 49283d6eb020..bd78f3586b9e 100644 > > --- a/lib/asm-generic/io.h > > +++ b/lib/asm-generic/io.h > > @@ -127,6 +127,9 @@ static inline u64 __bswap64(u64 x) > > ({ u64 __r = !__cpu_is_be() ? __bswap64(x) : ((u64)x); __r; }) > > #define cpu_to_be64 be64_to_cpu > > > > +#ifndef mb > > +#define mb() do { } while (0) > > +#endif > > I think it would be better to at least use a > asm volatile ("":::"memory") > here to make sure that the compiler does not try to optimize memory > access before and behind the barrier? This is a blind copy of existing rmb() and wmb() in the current implementation. This particular patch is rather to allow the following changes and may be to get some suggestions on how to rework the existing generic code in a better way. I should have clarified this more clearly. > Thomas > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html