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 v4 29/40] ARM: mm: proc-sa1100: Use the new processor struct macros
Date: Thu,  7 Jul 2011 15:27:36 +0100	[thread overview]
Message-ID: <1310048867-14172-30-git-send-email-dave.martin@linaro.org> (raw)
In-Reply-To: <1310048867-14172-1-git-send-email-dave.martin@linaro.org>

Signed-off-by: Dave Martin <dave.martin@linaro.org>
---
 arch/arm/mm/proc-sa1100.S |   84 +++++++++-----------------------------------
 1 files changed, 17 insertions(+), 67 deletions(-)

diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S
index 184a9c9..c7e08ca 100644
--- a/arch/arm/mm/proc-sa1100.S
+++ b/arch/arm/mm/proc-sa1100.S
@@ -236,59 +236,28 @@ sa1100_crval:
 	__INITDATA
 
 /*
- * Purpose : Function pointers used to access above functions - all calls
- *	     come through these
- */
-
-/*
  * SA1100 and SA1110 share the same function calls
  */
-	.type	sa1100_processor_functions, #object
-ENTRY(sa1100_processor_functions)
-	.word	v4_early_abort
-	.word	legacy_pabort
-	.word	cpu_sa1100_proc_init
-	.word	cpu_sa1100_proc_fin
-	.word	cpu_sa1100_reset
-	.word	cpu_sa1100_do_idle
-	.word	cpu_sa1100_dcache_clean_area
-	.word	cpu_sa1100_switch_mm
-	.word	cpu_sa1100_set_pte_ext
-	.word	cpu_sa1100_suspend_size
-	.word	cpu_sa1100_do_suspend
-	.word	cpu_sa1100_do_resume
-	.size	sa1100_processor_functions, . - sa1100_processor_functions
-
-	.section ".rodata"
-
-	.type	cpu_arch_name, #object
-cpu_arch_name:
-	.asciz	"armv4"
-	.size	cpu_arch_name, . - cpu_arch_name
 
-	.type	cpu_elf_name, #object
-cpu_elf_name:
-	.asciz	"v4"
-	.size	cpu_elf_name, . - cpu_elf_name
+	@ define struct processor (see <asm/proc-fns.h> and proc-macros.S)
+	define_processor_functions sa1100, dabort=v4_early_abort, pabort=legacy_pabort, suspend=1
 
-	.type	cpu_sa1100_name, #object
-cpu_sa1100_name:
-	.asciz	"StrongARM-1100"
-	.size	cpu_sa1100_name, . - cpu_sa1100_name
+	.section ".rodata"
 
-	.type	cpu_sa1110_name, #object
-cpu_sa1110_name:
-	.asciz	"StrongARM-1110"
-	.size	cpu_sa1110_name, . - cpu_sa1110_name
+	string	cpu_arch_name, "armv4"
+	string	cpu_elf_name, "v4"
+	string	cpu_sa1100_name, "StrongARM-1100"
+	string	cpu_sa1110_name, "StrongARM-1110"
 
 	.align
 
 	.section ".proc.info.init", #alloc, #execinstr
 
-	.type	__sa1100_proc_info,#object
-__sa1100_proc_info:
-	.long	0x4401a110
-	.long	0xfffffff0
+.macro sa1100_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req
+	.type	__\name\()_proc_info,#object
+__\name\()_proc_info:
+	.long	\cpu_val
+	.long	\cpu_mask
 	.long   PMD_TYPE_SECT | \
 		PMD_SECT_BUFFERABLE | \
 		PMD_SECT_CACHEABLE | \
@@ -301,32 +270,13 @@ __sa1100_proc_info:
 	.long	cpu_arch_name
 	.long	cpu_elf_name
 	.long	HWCAP_SWP | HWCAP_HALF | HWCAP_26BIT | HWCAP_FAST_MULT
-	.long	cpu_sa1100_name
+	.long	\cpu_name
 	.long	sa1100_processor_functions
 	.long	v4wb_tlb_fns
 	.long	v4_mc_user_fns
 	.long	v4wb_cache_fns
-	.size	__sa1100_proc_info, . - __sa1100_proc_info
+	.size	__\name\()_proc_info, . - __\name\()_proc_info
+.endm
 
-	.type	__sa1110_proc_info,#object
-__sa1110_proc_info:
-	.long	0x6901b110
-	.long	0xfffffff0
-	.long   PMD_TYPE_SECT | \
-		PMD_SECT_BUFFERABLE | \
-		PMD_SECT_CACHEABLE | \
-		PMD_SECT_AP_WRITE | \
-		PMD_SECT_AP_READ
-	.long   PMD_TYPE_SECT | \
-		PMD_SECT_AP_WRITE | \
-		PMD_SECT_AP_READ
-	b	__sa1100_setup
-	.long	cpu_arch_name
-	.long	cpu_elf_name
-	.long	HWCAP_SWP | HWCAP_HALF | HWCAP_26BIT | HWCAP_FAST_MULT
-	.long	cpu_sa1110_name
-	.long	sa1100_processor_functions
-	.long	v4wb_tlb_fns
-	.long	v4_mc_user_fns
-	.long	v4wb_cache_fns
-	.size	__sa1110_proc_info, . - __sa1110_proc_info
+	sa1100_proc_info sa1100, 0x4401a110, 0xfffffff0, cpu_sa1100_name
+	sa1100_proc_info sa1110, 0x6901b110, 0xfffffff0, cpu_sa1110_name
-- 
1.7.4.1

  parent reply	other threads:[~2011-07-07 14:27 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-07 14:27 [PATCH v4 00/40] ARM: mm: Add generic macros for declaring various CPU structs Dave Martin
2011-07-07 14:27 ` [PATCH v4 01/40] ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros Dave Martin
2011-07-07 14:27 ` [PATCH v4 02/40] ARM: assembler.h: Add string declaration macro Dave Martin
2011-07-07 14:27 ` [PATCH v4 03/40] ARM: mm: cache-fa: Use the new processor struct macros Dave Martin
2011-07-07 14:27 ` [PATCH v4 04/40] ARM: mm: cache-v3: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 05/40] ARM: mm: cache-v4: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 06/40] ARM: mm: cache-v4wb: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 07/40] ARM: mm: cache-v4wt: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 08/40] ARM: mm: cache-v6: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 09/40] ARM: mm: cache-v7: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 10/40] ARM: mm: proc-arm1020: " Dave Martin
2011-07-08 11:01   ` Sergei Shtylyov
2011-07-08 11:11     ` Dave Martin
2011-07-07 14:27 ` [PATCH v4 11/40] ARM: mm: proc-arm1020e: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 12/40] ARM: mm: proc-arm1022: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 13/40] ARM: mm: proc-arm1026: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 14/40] ARM: mm: proc-arm6_7: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 15/40] ARM: mm: proc-arm720: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 16/40] ARM: mm: proc-arm740: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 17/40] ARM: mm: proc-arm7tdmi: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 18/40] ARM: mm: proc-arm920: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 19/40] ARM: mm: proc-arm922: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 20/40] ARM: mm: proc-arm925: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 21/40] ARM: mm: proc-arm926: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 22/40] ARM: mm: proc-arm940: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 23/40] ARM: mm: proc-arm946: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 24/40] ARM: mm: proc-arm9tdmi: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 25/40] ARM: mm: proc-fa526: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 26/40] ARM: mm: proc-feroceon: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 27/40] ARM: mm: proc-mohawk: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 28/40] ARM: mm: proc-sa110: " Dave Martin
2011-07-07 14:27 ` Dave Martin [this message]
2011-07-07 14:27 ` [PATCH v4 30/40] ARM: mm: proc-v6: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 31/40] ARM: mm: proc-v7: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 32/40] ARM: mm: proc-xsc3: Use new generic struct definition macros Dave Martin
2011-07-07 14:27 ` [PATCH v4 33/40] ARM: mm: proc-xscale: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 34/40] ARM: mm: tlb-fa: Use the new processor struct macros Dave Martin
2011-07-07 14:27 ` [PATCH v4 35/40] ARM: mm: tlb-v3: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 36/40] ARM: mm: tlb-v4: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 37/40] ARM: mm: tlb-v4wb: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 38/40] ARM: mm: tlb-v4wbi: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 39/40] ARM: mm: tlb-v6: " Dave Martin
2011-07-07 14:27 ` [PATCH v4 40/40] ARM: mm: tlb-v7: " Dave Martin
2011-07-07 16:22 ` [PATCH v4 00/40] ARM: mm: Add generic macros for declaring various CPU structs Russell King - ARM Linux
2011-07-07 16:37   ` Dave Martin
2011-07-07 17:28     ` Will Deacon

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=1310048867-14172-30-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.