lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140719091156.GA31772@ravnborg.org>
Date:	Sat, 19 Jul 2014 11:11:56 +0200
From:	Sam Ravnborg <sam@...nborg.org>
To:	Arnd Bergmann <arnd@...db.de>
Cc:	Thierry Reding <thierry.reding@...il.com>,
	Russell King <linux@....linux.org.uk>,
	Catalin Marinas <catalin.marinas@....com>,
	Will Deacon <will.deacon@....com>,
	Stephen Boyd <sboyd@...eaurora.org>,
	linux-arm-kernel@...ts.infradead.org, linux-arch@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 1/3] asm-generic/io.h: Implement generic
 {read,write}s*()

On Sat, Jul 19, 2014 at 11:05:33AM +0200, Arnd Bergmann wrote:
> On Saturday 19 July 2014 10:41:52 Sam Ravnborg wrote:
> > > > 
> > > > This set:
> > > > #define inb_p(addr)     inb(addr)
> > > > #define inw_p(addr)     inw(addr)
> > > > #define inl_p(addr)     inl(addr)
> > > > #define outb_p(x, addr) outb((x), (addr))
> > > > #define outw_p(x, addr) outw((x), (addr))
> > > > #define outl_p(x, addr) outl((x), (addr))
> > > > 
> > > > Should have a comment that say they are deprecated.
> > > > Especially the "b" variants still have many users.
> > > 
> > > Are they? I don't remember ever seeing a reason to deprecate
> > > them. We could perhaps enclose them in #ifdef CONFIG_ISA, but
> > > there may also be some drivers that use the same code for ISA
> > > and PCI, and it doesn't really hurt on PCI.
> > 
> > It is my understanding that inl and inl_p are the same these days.
> > A quick grep indicate that only m68k define the
> > _p variant different from the other.
> > But I failed to find and description of the difference between the
> > two which is why I assumed they were identical and thus no need for both.
> 
> I don't know why m68k needs it, it's really an x86-specific
> thing, see slow_down_io() in arch/x86/include/asm/io.h.

I had missed the x86 versions when grepping.
Hmm, and with the macro tricks they play in asm/io.h this
file is not at all grep friendly.

So xxx_p is for pause (or something like that).
This also matches that m68k do some tricks with delay() in the _p variants.
Thanks for the explanation.

	Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ