[PATCH] fix gcc4 warning in asm-ppc/time.h
Benjamin Herrenschmidt
benh at kernel.crashing.org
Thu Aug 4 19:46:38 EST 2005
On Thu, 2005-08-04 at 07:54 +0200, Gabriel Paubert wrote:
> On Wed, Aug 03, 2005 at 10:15:17PM -0700, Andrew Morton wrote:
> > Christoph Hellwig <hch at lst.de> wrote:
> > >
> > > A function must not return a const value, instead use
> > > __attribute_const__.
> > >
> > >
> > > Index: linux-2.6/include/asm/time.h
> > > ===================================================================
> > > --- linux-2.6.orig/include/asm/time.h 2005-04-30 10:17:19.000000000 +0200
> > > +++ linux-2.6/include/asm/time.h 2005-08-01 11:57:12.000000000 +0200
> > > @@ -10,6 +10,7 @@
> > > #define __ASM_TIME_H__
> > >
> > > #include <linux/config.h>
> > > +#include <linux/compiler.h>
> > > #include <linux/types.h>
> > > #include <linux/rtc.h>
> > > #include <linux/threads.h>
> > > @@ -58,7 +59,7 @@
> > > /* Accessor functions for the timebase (RTC on 601) registers. */
> > > /* If one day CONFIG_POWER is added just define __USE_RTC as 1 */
> > > #ifdef CONFIG_6xx
> > > -extern __inline__ int const __USE_RTC(void) {
> > > +extern __inline__ int __attribute_const__ __USE_RTC(void) {
> > > return (mfspr(SPRN_PVR)>>16) == 1;
> > > }
> > > #else
> >
> > Do we really want to do this? The above implies that mfspr(SPRN_PVR) will
> > return the same value across the entire uptime of the kernel. Is that
> > true?
>
> Yes, it is a read-only register. PVR means processor version register
> and is linked to the revision of the silicon. Besides that it is
> only used in this context to check for processors of the 601 family
> (the very first PPC processors). Nobody expects them to be hotpluggable,
> nor even used in SMP systems for the matter.
Yes ... However, we want to get rid of PVR accesses. They are a problem
for Xen-like virtualization without HW support (that is running the
kernel actually in user space) among other things.
The above should be replaced by a test of CPU features.
Ben.
More information about the Linuxppc-dev
mailing list