All of lore.kernel.org
 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 15:14:11 +0100	[thread overview]
Message-ID: <1313504053-27873-2-git-send-email-dave.martin@linaro.org> (raw)
In-Reply-To: <1313504053-27873-1-git-send-email-dave.martin@linaro.org>

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>
---
 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 14:14 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 ` Dave Martin [this message]
2011-08-16 16:15   ` [PATCH 1/3] ARM: Make cpu_alignment into a global variable Nicolas Pitre
2011-08-16 16:21     ` Dave Martin
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=1313504053-27873-2-git-send-email-dave.martin@linaro.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.