Thread (7 messages) flat view 7 messages, 5 authors, 2005-08-04

Re: [PATCH] fix gcc4 warning in asm-ppc/time.h

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-08-04 09:51:01

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:
quoted
Christoph Hellwig [off-list ref] wrote:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help