linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: dave.martin@linaro.org (Dave Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] ARM: Make cpu_alignment into a global variable
Date: Tue, 16 Aug 2011 17:21:21 +0100	[thread overview]
Message-ID: <20110816162121.GD1993@arm.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1108161214520.20358@xanadu.home>

On Tue, Aug 16, 2011 at 12:15:59PM -0400, Nicolas Pitre wrote:
> On Tue, 16 Aug 2011, Dave Martin wrote:
> 
> > The CPU architecture really should not be changing at runtime, so
> > make it a global variable instead of a function.
> > 
> > The cpu_architecture() function in <asm/system.h> remains the
> > correct way to read this variable from C code.
> > 
> > Signed-off-by: Dave Martin <dave.martin@linaro.org>
> 
> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>

Thanks
---Dave

> 
> > ---
> >  arch/arm/include/asm/system.h |   11 ++++++++++-
> >  arch/arm/kernel/setup.c       |    5 ++++-
> >  2 files changed, 14 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
> > index 832888d..b0445f7 100644
> > --- a/arch/arm/include/asm/system.h
> > +++ b/arch/arm/include/asm/system.h
> > @@ -57,6 +57,8 @@
> >  
> >  #ifndef __ASSEMBLY__
> >  
> > +#include <linux/bug.h>
> > +#include <linux/compiler.h>
> >  #include <linux/linkage.h>
> >  #include <linux/irqflags.h>
> >  
> > @@ -104,7 +106,14 @@ struct mm_struct;
> >  extern void show_pte(struct mm_struct *mm, unsigned long addr);
> >  extern void __show_regs(struct pt_regs *);
> >  
> > -extern int cpu_architecture(void);
> > +extern int __cpu_architecture;
> > +
> > +static inline int __pure cpu_architecture(void)
> > +{
> > +	BUG_ON(__cpu_architecture == CPU_ARCH_UNKNOWN);
> > +	return __cpu_architecture;
> > +}
> > +
> >  extern void cpu_init(void);
> >  
> >  void arm_machine_restart(char mode, const char *cmd);
> > diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
> > index 70bca64..1e0c1b3 100644
> > --- a/arch/arm/kernel/setup.c
> > +++ b/arch/arm/kernel/setup.c
> > @@ -42,6 +42,7 @@
> >  #include <asm/cacheflush.h>
> >  #include <asm/cachetype.h>
> >  #include <asm/tlbflush.h>
> > +#include <asm/system.h>
> >  
> >  #include <asm/prom.h>
> >  #include <asm/mach/arch.h>
> > @@ -114,6 +115,7 @@ struct cpu_cache_fns cpu_cache __read_mostly;
> >  struct outer_cache_fns outer_cache __read_mostly;
> >  EXPORT_SYMBOL(outer_cache);
> >  #endif
> > +int __cpu_architecture __read_mostly = CPU_ARCH_UNKNOWN;
> >  
> >  struct stack {
> >  	u32 irq[3];
> > @@ -210,7 +212,7 @@ static const char *proc_arch[] = {
> >  	"?(17)",
> >  };
> >  
> > -int cpu_architecture(void)
> > +static int __init __get_cpu_architecture(void)
> >  {
> >  	int cpu_arch;
> >  
> > @@ -413,6 +415,7 @@ static void __init setup_processor(void)
> >  	}
> >  
> >  	cpu_name = list->cpu_name;
> > +	__cpu_architecture = __get_cpu_architecture();
> >  
> >  #ifdef MULTI_CPU
> >  	processor = *list->proc;
> > -- 
> > 1.7.4.1
> > 

  reply	other threads:[~2011-08-16 16:21 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-16 14:14 [PATCH 0/3] Fix Thumb-2 undef handling for mixed-arch kernels Dave Martin
2011-08-16 14:14 ` [PATCH 1/3] ARM: Make cpu_alignment into a global variable Dave Martin
2011-08-16 16:15   ` Nicolas Pitre
2011-08-16 16:21     ` Dave Martin [this message]
2011-08-17 11:31   ` Sergei Shtylyov
2011-08-17 13:37     ` Dave Martin
2011-08-16 14:14 ` [PATCH 2/3] ARM: entry: Remove unnecessary masking when decoding Thumb-2 instructions Dave Martin
2011-08-16 16:17   ` Nicolas Pitre
2011-08-16 16:21     ` Dave Martin
2011-08-16 14:14 ` [PATCH 3/3] ARM: entry: Fix Thumb-2 undef handling for multi-CPU kernels Dave Martin
2011-08-16 14:51   ` Tixy
2011-08-16 15:47     ` Nicolas Pitre
2011-08-16 16:05       ` Dave Martin
2011-08-16 16:14         ` Nicolas Pitre
2011-08-16 16:20           ` Dave Martin
2011-08-16 14:58 ` [PATCH 0/3] Fix Thumb-2 undef handling for mixed-arch kernels Tixy
2011-08-16 16:06   ` Dave Martin
2011-08-16 16:43     ` Tixy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110816162121.GD1993@arm.com \
    --to=dave.martin@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).