From: Shannon Zhao Date: Mon, 29 Feb 2016 15:01:21 +0000 (+0100) Subject: arm/acpi: emulate io ports for arm X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=31122650027c1c6f4208603aea31f59f7ca7dfa1;p=people%2Fliuw%2Fxen.git arm/acpi: emulate io ports for arm Add macros to emulate x86 style ports for arm. This avoids modification in common code for acpi. Here just print a warning on ARM. Signed-off-by: Shannon Zhao Reviewed-by: Stefano Stabellini --- diff --git a/xen/include/asm-arm/arm64/io.h b/xen/include/asm-arm/arm64/io.h index 37abc4788f..f80156f56e 100644 --- a/xen/include/asm-arm/arm64/io.h +++ b/xen/include/asm-arm/arm64/io.h @@ -20,6 +20,7 @@ #ifndef _ARM_ARM64_IO_H #define _ARM_ARM64_IO_H +#include #include /* @@ -109,4 +110,26 @@ static inline u64 __raw_readq(const volatile void __iomem *addr) #define writel(v,c) ({ __iowmb(); writel_relaxed((v),(c)); }) #define writeq(v,c) ({ __iowmb(); writeq_relaxed((v),(c)); }) +/* + * Emulate x86 io ports for ARM. + */ +static inline int emulate_read(u64 addr) +{ + printk(XENLOG_G_WARNING "Can't access IO %lx\n", addr); + return 0; +} + +static inline void emulate_write(u64 addr) +{ + printk(XENLOG_G_WARNING "Can't access IO %lx\n", addr); +} + +#define inb(c) ( emulate_read(c) ) +#define inw(c) ( emulate_read(c) ) +#define inl(c) ( emulate_read(c) ) + +#define outb(v, c) ( emulate_write(c) ) +#define outw(v, c) ( emulate_write(c) ) +#define outl(v, c) ( emulate_write(c) ) + #endif /* _ARM_ARM64_IO_H */