-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: Add common entry code for system with two VICs
Add a common entry-macro-vic2.S for systems where there are two VICs so that the machine or platform directories just need to setup the correct information before including <asm/entry-macro-vic2.S> into their own entry-macro.S file. Since this code is from the S3C64XX project, we update the S3C64XX machine entry code to use this new header. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
- Loading branch information
Ben Dooks
committed
Jan 15, 2010
1 parent
51022cf
commit 5b39be4
Showing
7 changed files
with
69 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/* arch/arm/include/asm/entry-macro-vic2.S | ||
* | ||
* Originally arch/arm/mach-s3c6400/include/mach/entry-macro.S | ||
* | ||
* Copyright 2008 Openmoko, Inc. | ||
* Copyright 2008 Simtec Electronics | ||
* http://armlinux.simtec.co.uk/ | ||
* Ben Dooks <ben@simtec.co.uk> | ||
* | ||
* Low-level IRQ helper macros for a device with two VICs | ||
* | ||
* This file is licensed under the terms of the GNU General Public | ||
* License version 2. This program is licensed "as is" without any | ||
* warranty of any kind, whether express or implied. | ||
*/ | ||
|
||
/* This should be included from <mach/entry-macro.S> with the necessary | ||
* defines for virtual addresses and IRQ bases for the two vics. | ||
* | ||
* The code needs the following defined: | ||
* IRQ_VIC0_BASE IRQ number of VIC0's first IRQ | ||
* IRQ_VIC1_BASE IRQ number of VIC1's first IRQ | ||
* VA_VIC0 Virtual address of VIC0 | ||
* VA_VIC1 Virtual address of VIC1 | ||
* | ||
* Note, code assumes VIC0's virtual address is an ARM immediate constant | ||
* away from VIC1. | ||
*/ | ||
|
||
#include <asm/hardware/vic.h> | ||
|
||
.macro disable_fiq | ||
.endm | ||
|
||
.macro get_irqnr_preamble, base, tmp | ||
ldr \base, =VA_VIC0 | ||
.endm | ||
|
||
.macro arch_ret_to_user, tmp1, tmp2 | ||
.endm | ||
|
||
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp | ||
|
||
@ check the vic0 | ||
mov \irqnr, #IRQ_VIC0_BASE + 31 | ||
ldr \irqstat, [ \base, # VIC_IRQ_STATUS ] | ||
teq \irqstat, #0 | ||
|
||
@ otherwise try vic1 | ||
addeq \tmp, \base, #(VA_VIC1 - VA_VIC0) | ||
addeq \irqnr, \irqnr, #(IRQ_VIC1_BASE - IRQ_VIC0_BASE) | ||
ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] | ||
teqeq \irqstat, #0 | ||
|
||
clzne \irqstat, \irqstat | ||
subne \irqnr, \irqnr, \irqstat | ||
.endm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters