All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] Fix Keystone 2 physical address switch
@ 2015-05-06 10:30 Russell King - ARM Linux
  2015-05-06 10:30 ` [PATCH 1/7] ARM: keystone2: move platform notifier initialisation into platform init Russell King
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Russell King - ARM Linux @ 2015-05-06 10:30 UTC (permalink / raw)
  To: linux-arm-kernel

For some time, the Keystone 2 physical address switch has been
tainting the kernel ever since we decided that it was not safe.

This series re-works the address switch to be compliant architecturally.

There's still a niggle in the keystone2 code, where we set the
arch_virt_to_idmap function pointer in keystone_pv_fixup() - something
I'd ideally like to avoid.

I'm in two minds about how much of this code should be in SoC specific
code, and how much should be in generic code - on one hand, I don't
want to give a green light to this kind of sillyness by encouraging
it, but I'd rather not end up with multiple implementations of this.

I've incorporated my change to the update of the PV offset constants
into this series, and included the 7th patch in this set which I think
is worth having - it's quite a large patch which gets rid of the TTBR1
setting that Keystone has to do.  We basically pass the full 64-bits
for TTBR0 in the assembly code so that Keystone doesn't have to re-set
the page table pointer after secondary CPU initialisation.  That needs
us to juggle around some registers in the assembly code.

 arch/arm/include/asm/mach/arch.h  |   2 +-
 arch/arm/include/asm/memory.h     |  16 ----
 arch/arm/include/asm/proc-fns.h   |   7 --
 arch/arm/include/asm/smp.h        |   2 +-
 arch/arm/kernel/head-nommu.S      |   2 +-
 arch/arm/kernel/head.S            |  42 ++++++++---
 arch/arm/kernel/setup.c           |   7 +-
 arch/arm/kernel/smp.c             |  10 ++-
 arch/arm/mach-keystone/keystone.c |  41 +++++-----
 arch/arm/mach-keystone/platsmp.c  |  13 ----
 arch/arm/mm/Kconfig               |   4 +
 arch/arm/mm/Makefile              |   1 +
 arch/arm/mm/mmu.c                 | 153 ++++++++++++++++----------------------
 arch/arm/mm/nommu.c               |   9 ---
 arch/arm/mm/proc-v7-2level.S      |   6 +-
 arch/arm/mm/proc-v7-3level.S      |  14 ++--
 arch/arm/mm/proc-v7.S             |  26 +++----
 arch/arm/mm/pv-fixup-asm.S        |  88 ++++++++++++++++++++++
 18 files changed, 239 insertions(+), 204 deletions(-)

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-08-06 11:14 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-06 10:30 [PATCH v2 0/7] Fix Keystone 2 physical address switch Russell King - ARM Linux
2015-05-06 10:30 ` [PATCH 1/7] ARM: keystone2: move platform notifier initialisation into platform init Russell King
2015-05-06 10:30 ` [PATCH 2/7] ARM: keystone2: move update of the phys-to-virt constants into generic code Russell King
2015-05-06 10:30 ` [PATCH 3/7] ARM: keystone2: move address space switch printk " Russell King
2015-05-06 10:30 ` [PATCH 4/7] ARM: keystone2: rename init_meminfo to pv_fixup Russell King
2015-05-06 10:30 ` [PATCH 5/7] ARM: re-implement physical address space switching Russell King
2015-05-11 18:58   ` Nishanth Menon
2015-05-11 19:59     ` Russell King - ARM Linux
2015-05-12 17:22       ` Nishanth Menon
2015-05-06 10:30 ` [PATCH 6/7] ARM: cleanup early_paging_init() calling Russell King
2015-05-06 10:30 ` [PATCH 7/7] ARM: redo TTBR setup code for LPAE Russell King
2015-08-05 15:26   ` Gregory CLEMENT
2015-08-05 16:01     ` Russell King - ARM Linux
2015-08-06 11:14       ` Gregory CLEMENT

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.