]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
Merge branch 'master' of git://git.infradead.org/users/cbou/linux-cns3xxx into devel...
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 3 May 2010 21:37:06 +0000 (22:37 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 3 May 2010 21:37:06 +0000 (22:37 +0100)
arch/arm/Kconfig
arch/arm/kernel/pmu.c
arch/arm/mach-msm/Kconfig
arch/arm/mm/Kconfig
arch/arm/mm/abort-ev7.S

index 572e6cc2b2f68fc0670f43219d986dd9f4e720a9..3806d636a401b432b98d05f58b9415c6daa5ec35 100644 (file)
@@ -610,14 +610,15 @@ config ARCH_PXA
 
 config ARCH_MSM
        bool "Qualcomm MSM"
-       select CPU_V6
+       select HAVE_CLK
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        help
-         Support for Qualcomm MSM7K based systems.  This runs on the ARM11
-         apps processor of the MSM7K and depends on a shared memory
-         interface to the ARM9 modem processor which runs the baseband stack
-         and controls some vital subsystems (clock and power control, etc).
+         Support for Qualcomm MSM/QSD based systems.  This runs on the
+         apps processor of the MSM/QSD and depends on a shared memory
+         interface to the modem processor which runs the baseband
+         stack and controls some vital subsystems
+         (clock and power control, etc).
 
 config ARCH_SHMOBILE
        bool "Renesas SH-Mobile"
index a124312e343f1c50c550773b9a576ee2752189b2..4f0eb4c2a72cf8b8dad6d772404a164dc661cf2a 100644 (file)
@@ -44,6 +44,8 @@ static const int irqs[] = {
        IRQ_IOP33X_CORE_PMU,
 #elif defined(CONFIG_ARCH_PXA)
        IRQ_PMU,
+#elif defined(CONFIG_ARCH_MSM_ARM11)
+       INT_ARM11_PMU,
 #endif
 };
 
index f780086befd78697d16da2654758270dd75bd1d6..b9fd5c528e5b35743e60087f5cd104b12d00a4d4 100644 (file)
@@ -29,12 +29,14 @@ endchoice
 
 config MACH_HALIBUT
        depends on ARCH_MSM
+       select CPU_V6
        default y
        bool "Halibut Board (QCT SURF7201A)"
        help
          Support for the Qualcomm SURF7201A eval board.
 
 config MACH_TROUT
+       select CPU_V6
        default y
        bool "HTC Dream (aka trout)"
        help
index 5bd7c89a604515273212ea304a02353ab9af5c39..d3022dabb4aa75582da5c345823e029d25b723d4 100644 (file)
@@ -572,6 +572,8 @@ config CPU_TLB_V6
 config CPU_TLB_V7
        bool
 
+config VERIFY_PERMISSION_FAULT
+       bool
 endif
 
 config CPU_HAS_ASID
index 2e6dc040c6543aad4728d27cbd96a033afe80951..ec88b157d3bb6893df82209b9ccc80302dbdc77b 100644 (file)
@@ -29,5 +29,26 @@ ENTRY(v7_early_abort)
         * V6 code adjusts the returned DFSR.
         * New designs should not need to patch up faults.
         */
+
+#if defined(CONFIG_VERIFY_PERMISSION_FAULT)
+       /*
+        * Detect erroneous permission failures and fix
+        */
+       ldr     r3, =0x40d                      @ On permission fault
+       and     r3, r1, r3
+       cmp     r3, #0x0d
+       movne   pc, lr
+
+       mcr     p15, 0, r0, c7, c8, 0           @ Retranslate FAR
+       isb
+       mrc     p15, 0, r2, c7, c4, 0           @ Read the PAR
+       and     r3, r2, #0x7b                   @ On translation fault
+       cmp     r3, #0x0b
+       movne   pc, lr
+       bic     r1, r1, #0xf                    @ Fix up FSR FS[5:0]
+       and     r2, r2, #0x7e
+       orr     r1, r1, r2, LSR #1
+#endif
+
        mov     pc, lr
 ENDPROC(v7_early_abort)