History

Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King: "A few ARM fixes: - Robin Murphy noticed that the non-secure privileged entry was relying on undefined behaviour, which needed to be fixed. - Vladimir Murzin noticed that prov-v7 fails to build for MMUless configurations because a required header file wasn't included. - A bunch of fixes for StrongARM regressions found while testing 4.8-rc on such platforms" * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: sa1100: clear reset status prior to reboot ARM: 8600/1: Enforce some NS-SVC initialisation ARM: 8599/1: mm: pull asm/memory.h explicitly ARM: sa1100: register clocks early ARM: sa1100: fix 3.6864MHz clock

Linus Torvalds committed 10 years ago

Commit 53d5f1d2 parents 711bef6 da606265 files · +23 −2Browse files

Unified · Split

5 files
  1. arch/arm/kernel/hyp-stub.S +13 −0
  2. arch/arm/mach-sa1100/clock.c +3 −2
  3. arch/arm/mach-sa1100/generic.c +4 −0
  4. arch/arm/mach-sa1100/generic.h +2 −0
  5. arch/arm/mm/proc-v7.S +1 −0
arch/arm/kernel/hyp-stub.S+13−0
@@ -142,6 +142,19 @@ ARM_BE8(orr r7, r7, #(1 << 25)) @ HSCTLR.EE · 141 unmodified lines
142142 and r7, #0x1f @ Preserve HPMN
143143 mcr p15, 4, r7, c1, c1, 1 @ HDCR
144144
145+ @ Make sure NS-SVC is initialised appropriately
146+ mrc p15, 0, r7, c1, c0, 0 @ SCTLR
147+ orr r7, #(1 << 5) @ CP15 barriers enabled
148+ bic r7, #(3 << 7) @ Clear SED/ITD for v8 (RES0 for v7)
149+ bic r7, #(3 << 19) @ WXN and UWXN disabled
150+ mcr p15, 0, r7, c1, c0, 0 @ SCTLR
151+
152+ mrc p15, 0, r7, c0, c0, 0 @ MIDR
153+ mcr p15, 4, r7, c0, c0, 0 @ VPIDR
154+
155+ mrc p15, 0, r7, c0, c0, 5 @ MPIDR
156+ mcr p15, 4, r7, c0, c0, 5 @ VMPIDR
157+
145158 #if !defined(ZIMAGE) && defined(CONFIG_ARM_ARCH_TIMER)
146159 @ make CNTP_* and CNTPCT accessible from PL1
147160 mrc p15, 0, r7, c0, c1, 1 @ ID_PFR1
arch/arm/mach-sa1100/clock.c+3−2
@@ -125,6 +125,8 @@ static unsigned long clk_36864_get_rate(struct clk *clk) · 124 unmodified lines
125125 }
126126
127127 static struct clkops clk_36864_ops = {
128+ .enable = clk_cpu_enable,
129+ .disable = clk_cpu_disable,
128130 .get_rate = clk_36864_get_rate,
129131 };
130132
@@ -140,9 +142,8 @@ static struct clk_lookup sa11xx_clkregs[] = { · 9 unmodified lines
140142 CLKDEV_INIT(NULL, "OSTIMER0", &clk_36864),
141143 };
142144
143−static int __init sa11xx_clk_init(void)
145+int __init sa11xx_clk_init(void)
144146 {
145147 clkdev_add_table(sa11xx_clkregs, ARRAY_SIZE(sa11xx_clkregs));
146148 return 0;
147149 }
148−core_initcall(sa11xx_clk_init);
arch/arm/mach-sa1100/generic.c+4−0
@@ -34,6 +34,7 @@ · 33 unmodified lines
3434
3535 #include <mach/hardware.h>
3636 #include <mach/irqs.h>
37+#include <mach/reset.h>
3738
3839 #include "generic.h"
3940 #include <clocksource/pxa.h>
@@ -95,6 +96,8 @@ static void sa1100_power_off(void) · 55 unmodified lines
9596
9697 void sa11x0_restart(enum reboot_mode mode, const char *cmd)
9798 {
99+ clear_reset_status(RESET_STATUS_ALL);
100+
98101 if (mode == REBOOT_SOFT) {
99102 /* Jump into ROM at address 0 */
100103 soft_restart(0);
@@ -388,6 +391,7 @@ void __init sa1100_init_irq(void) · 287 unmodified lines
388391 sa11x0_init_irq_nodt(IRQ_GPIO0_SC, irq_resource.start);
389392
390393 sa1100_init_gpio();
394+ sa11xx_clk_init();
391395 }
392396
393397 /*
arch/arm/mach-sa1100/generic.h+2−0
@@ -44,3 +44,5 @@ int sa11x0_pm_init(void); · 43 unmodified lines
4444 #else
4545 static inline int sa11x0_pm_init(void) { return 0; }
4646 #endif
47+
48+int sa11xx_clk_init(void);
arch/arm/mm/proc-v7.S+1−0
@@ -16,6 +16,7 @@ · 15 unmodified lines
1616 #include <asm/hwcap.h>
1717 #include <asm/pgtable-hwdef.h>
1818 #include <asm/pgtable.h>
19+#include <asm/memory.h>
1920
2021 #include "proc-macros.S"
2122

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t