forked from shenki/linux
-
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.
Merge branches 'ftrace', 'gic', 'io', 'kexec', 'mod', 'sa11x0', 'sh' …
…and 'versatile' into devel
- Loading branch information
Showing
84 changed files
with
1,612 additions
and
753 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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/* | ||
* The head-file for SH-Mobile ARM platforms | ||
* | ||
* Kuninori Morimoto <[email protected]> | ||
* Simon Horman <[email protected]> | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation; version 2 of the License. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
*/ | ||
|
||
#ifdef CONFIG_ZBOOT_ROM | ||
|
||
.section ".start", "ax" | ||
|
||
/* load board-specific initialization code */ | ||
#include <mach/zboot.h> | ||
|
||
b 1f | ||
__atags:@ tag #1 | ||
.long 12 @ tag->hdr.size = tag_size(tag_core); | ||
.long 0x54410001 @ tag->hdr.tag = ATAG_CORE; | ||
.long 0 @ tag->u.core.flags = 0; | ||
.long 0 @ tag->u.core.pagesize = 0; | ||
.long 0 @ tag->u.core.rootdev = 0; | ||
@ tag #2 | ||
.long 8 @ tag->hdr.size = tag_size(tag_mem32); | ||
.long 0x54410002 @ tag->hdr.tag = ATAG_MEM; | ||
.long CONFIG_MEMORY_SIZE @ tag->u.mem.size = CONFIG_MEMORY_SIZE; | ||
.long CONFIG_MEMORY_START @ @ tag->u.mem.start = CONFIG_MEMORY_START; | ||
@ tag #3 | ||
.long 0 @ tag->hdr.size = 0 | ||
.long 0 @ tag->hdr.tag = ATAG_NONE; | ||
1: | ||
|
||
/* Set board ID necessary for boot */ | ||
ldr r7, 1f @ Set machine type register | ||
adr r8, __atags @ Set atag register | ||
b 2f | ||
|
||
1 : .long MACH_TYPE | ||
2 : | ||
|
||
#endif /* CONFIG_ZBOOT_ROM */ |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
/* | ||
* arch/arm/include/asm/hardware/entry-macro-gic.S | ||
* | ||
* Low-level IRQ helper macros for GIC | ||
* | ||
* 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. | ||
*/ | ||
|
||
#include <asm/hardware/gic.h> | ||
|
||
#ifndef HAVE_GET_IRQNR_PREAMBLE | ||
.macro get_irqnr_preamble, base, tmp | ||
ldr \base, =gic_cpu_base_addr | ||
ldr \base, [\base] | ||
.endm | ||
#endif | ||
|
||
/* | ||
* The interrupt numbering scheme is defined in the | ||
* interrupt controller spec. To wit: | ||
* | ||
* Interrupts 0-15 are IPI | ||
* 16-28 are reserved | ||
* 29-31 are local. We allow 30 to be used for the watchdog. | ||
* 32-1020 are global | ||
* 1021-1022 are reserved | ||
* 1023 is "spurious" (no interrupt) | ||
* | ||
* For now, we ignore all local interrupts so only return an interrupt if it's | ||
* between 30 and 1020. The test_for_ipi routine below will pick up on IPIs. | ||
* | ||
* A simple read from the controller will tell us the number of the highest | ||
* priority enabled interrupt. We then just need to check whether it is in the | ||
* valid range for an IRQ (30-1020 inclusive). | ||
*/ | ||
|
||
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp | ||
|
||
ldr \irqstat, [\base, #GIC_CPU_INTACK] | ||
/* bits 12-10 = src CPU, 9-0 = int # */ | ||
|
||
ldr \tmp, =1021 | ||
bic \irqnr, \irqstat, #0x1c00 | ||
cmp \irqnr, #29 | ||
cmpcc \irqnr, \irqnr | ||
cmpne \irqnr, \tmp | ||
cmpcs \irqnr, \irqnr | ||
.endm | ||
|
||
/* We assume that irqstat (the raw value of the IRQ acknowledge | ||
* register) is preserved from the macro above. | ||
* If there is an IPI, we immediately signal end of interrupt on the | ||
* controller, since this requires the original irqstat value which | ||
* we won't easily be able to recreate later. | ||
*/ | ||
|
||
.macro test_for_ipi, irqnr, irqstat, base, tmp | ||
bic \irqnr, \irqstat, #0x1c00 | ||
cmp \irqnr, #16 | ||
strcc \irqstat, [\base, #GIC_CPU_EOI] | ||
cmpcs \irqnr, \irqnr | ||
.endm | ||
|
||
/* As above, this assumes that irqstat and base are preserved.. */ | ||
|
||
.macro test_for_ltirq, irqnr, irqstat, base, tmp | ||
bic \irqnr, \irqstat, #0x1c00 | ||
mov \tmp, #0 | ||
cmp \irqnr, #29 | ||
moveq \tmp, #1 | ||
streq \irqstat, [\base, #GIC_CPU_EOI] | ||
cmp \tmp, #0 | ||
.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
File renamed without changes.
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
Oops, something went wrong.