[PATCH v3 04/62] arm/acpi: Emulate io ports for arm

Shannon Zhao zhaoshenglong at huawei.com
Tue Nov 17 23:01:26 PST 2015


Hi Arnd,

On 2015/11/17 17:50, Arnd Bergmann wrote:
> On Tuesday 17 November 2015 17:40:03 shannon.zhao at linaro.org wrote:
>> +/*
>> + * Emulate x86 io ports for arm.
>> + */
>> +#define __armio(addr) ( (void __iomem *)addr )
>> +
>> +#define inb(c) ( readb( __armio(c) ) )
>> +#define inw(c) ( readw( __armio(c) ) )
>> +#define inl(c) ( readl( __armio(c) ) )
>> +
>> +#define outb(v, c) ( writeb(v, __armio(c) ) )
>> +#define outw(v, c) ( writew(v, __armio(c) ) )
>> +#define outl(v, c) ( writel(v, __armio(c) ) )
>> +
> 
> This is almost certainly wrong. There might be I/O port accesses, but they
> won't be in the same place as normal pointers.
> 
Sorry, maybe I didn't get what you mean. Here it just wants emulate the
in(b,w,l) and out(b,w,l) which exist on x86 while not on ARM. So it
could introduce less change to the common ACPI codes, for example
acpi_os_write_port().

I see there is the same thing in Linux arch/arm/include/asm/io.h

Thanks,
-- 
Shannon




More information about the linux-arm-kernel mailing list