diff for duplicates of <20100902161846.GK11597@atomide.com> diff --git a/a/1.txt b/N1/1.txt index 2368c55..8b13789 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,72 +1 @@ ->From 7044c13594c3023da6095f8d432eda260bc3207f Mon Sep 17 00:00:00 2001 -From: Tony Lindgren <tony@atomide.com> -Date: Mon, 30 Aug 2010 14:00:54 -0700 -Subject: [PATCH 1/6] ARM: Add inline function smp_on_up() for early init testing -Add inline function smp_on_up() for early init checks, and -change build_mem_type_table to use it. - -Signed-off-by: Tony Lindgren <tony@atomide.com> ---- - arch/arm/include/asm/smp_plat.h | 16 ++++++++++++++++ - arch/arm/mm/mmu.c | 20 +++++++++++--------- - 2 files changed, 27 insertions(+), 9 deletions(-) - -diff --git a/arch/arm/include/asm/smp_plat.h b/arch/arm/include/asm/smp_plat.h -index 8db3512..5ef4114 100644 ---- a/arch/arm/include/asm/smp_plat.h -+++ b/arch/arm/include/asm/smp_plat.h -@@ -39,4 +39,20 @@ static inline int cache_ops_need_broadcast(void) - #define UP(instr...) _str(instr) - #endif - -+static inline int smp_on_up(void) -+{ -+#ifdef CONFIG_SMP_ON_UP -+ int smp_on_up; -+ -+ asm( \ -+ SMP(mov %0, #0) \ -+ UP(mov %0, #1) \ -+ : "=r" (smp_on_up)); -+ -+ return smp_on_up; -+#else -+ return 0; -+#endif -+} -+ - #endif -diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c -index 6e1c4f6..f320901 100644 ---- a/arch/arm/mm/mmu.c -+++ b/arch/arm/mm/mmu.c -@@ -430,15 +430,17 @@ static void __init build_mem_type_table(void) - /* - * Mark memory with the "shared" attribute for SMP systems - */ -- user_pgprot |= L_PTE_SHARED; -- kern_pgprot |= L_PTE_SHARED; -- vecs_pgprot |= L_PTE_SHARED; -- mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_S; -- mem_types[MT_DEVICE_WC].prot_pte |= L_PTE_SHARED; -- mem_types[MT_DEVICE_CACHED].prot_sect |= PMD_SECT_S; -- mem_types[MT_DEVICE_CACHED].prot_pte |= L_PTE_SHARED; -- mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; -- mem_types[MT_MEMORY_NONCACHED].prot_sect |= PMD_SECT_S; -+ if (!smp_on_up()) { -+ user_pgprot |= L_PTE_SHARED; -+ kern_pgprot |= L_PTE_SHARED; -+ vecs_pgprot |= L_PTE_SHARED; -+ mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_S; -+ mem_types[MT_DEVICE_WC].prot_pte |= L_PTE_SHARED; -+ mem_types[MT_DEVICE_CACHED].prot_sect |= PMD_SECT_S; -+ mem_types[MT_DEVICE_CACHED].prot_pte |= L_PTE_SHARED; -+ mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; -+ mem_types[MT_MEMORY_NONCACHED].prot_sect |= PMD_SECT_S; -+ } - #endif - } - --- -1.7.1 diff --git a/a/content_digest b/N1/content_digest index 24b1d3d..d5a5327 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -8,87 +8,11 @@ "ref\020100830225527.GC11597@atomide.com\0" "ref\020100902133637.GJ26319@n2100.arm.linux.org.uk\0" "ref\020100902161659.GJ11597@atomide.com\0" - "From\0Tony Lindgren <tony@atomide.com>\0" + "From\0tony@atomide.com (Tony Lindgren)\0" "Subject\0[PATCH 1/6] ARM: Add inline function smp_on_up() for early init testing\0" "Date\0Thu, 2 Sep 2010 09:18:47 -0700\0" - "To\0Russell King - ARM Linux <linux@arm.linux.org.uk>\0" - "Cc\0linux-omap@vger.kernel.org" - linux-arm-kernel@lists.infradead.org - Bryan Wu <bryan.wu@canonical.com> - " Will Deacon <will.deacon@arm.com>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" - ">From 7044c13594c3023da6095f8d432eda260bc3207f Mon Sep 17 00:00:00 2001\n" - "From: Tony Lindgren <tony@atomide.com>\n" - "Date: Mon, 30 Aug 2010 14:00:54 -0700\n" - "Subject: [PATCH 1/6] ARM: Add inline function smp_on_up() for early init testing\n" - "\n" - "Add inline function smp_on_up() for early init checks, and\n" - "change build_mem_type_table to use it.\n" - "\n" - "Signed-off-by: Tony Lindgren <tony@atomide.com>\n" - "---\n" - " arch/arm/include/asm/smp_plat.h | 16 ++++++++++++++++\n" - " arch/arm/mm/mmu.c | 20 +++++++++++---------\n" - " 2 files changed, 27 insertions(+), 9 deletions(-)\n" - "\n" - "diff --git a/arch/arm/include/asm/smp_plat.h b/arch/arm/include/asm/smp_plat.h\n" - "index 8db3512..5ef4114 100644\n" - "--- a/arch/arm/include/asm/smp_plat.h\n" - "+++ b/arch/arm/include/asm/smp_plat.h\n" - "@@ -39,4 +39,20 @@ static inline int cache_ops_need_broadcast(void)\n" - " #define UP(instr...)\t_str(instr)\n" - " #endif\n" - " \n" - "+static inline int smp_on_up(void)\n" - "+{\n" - "+#ifdef CONFIG_SMP_ON_UP\n" - "+\tint smp_on_up;\n" - "+\n" - "+\tasm(\t\t\t\t\t\t\t\\\n" - "+\t\tSMP(mov\t%0, #0)\t\t\t\t\t\\\n" - "+\t\tUP(mov\t%0, #1)\t\t\t\t\t\\\n" - "+\t\t: \"=r\" (smp_on_up));\n" - "+\n" - "+\treturn smp_on_up;\n" - "+#else\n" - "+\treturn 0;\n" - "+#endif\n" - "+}\n" - "+\n" - " #endif\n" - "diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c\n" - "index 6e1c4f6..f320901 100644\n" - "--- a/arch/arm/mm/mmu.c\n" - "+++ b/arch/arm/mm/mmu.c\n" - "@@ -430,15 +430,17 @@ static void __init build_mem_type_table(void)\n" - " \t\t/*\n" - " \t\t * Mark memory with the \"shared\" attribute for SMP systems\n" - " \t\t */\n" - "-\t\tuser_pgprot |= L_PTE_SHARED;\n" - "-\t\tkern_pgprot |= L_PTE_SHARED;\n" - "-\t\tvecs_pgprot |= L_PTE_SHARED;\n" - "-\t\tmem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_S;\n" - "-\t\tmem_types[MT_DEVICE_WC].prot_pte |= L_PTE_SHARED;\n" - "-\t\tmem_types[MT_DEVICE_CACHED].prot_sect |= PMD_SECT_S;\n" - "-\t\tmem_types[MT_DEVICE_CACHED].prot_pte |= L_PTE_SHARED;\n" - "-\t\tmem_types[MT_MEMORY].prot_sect |= PMD_SECT_S;\n" - "-\t\tmem_types[MT_MEMORY_NONCACHED].prot_sect |= PMD_SECT_S;\n" - "+\t\tif (!smp_on_up()) {\n" - "+\t\t\tuser_pgprot |= L_PTE_SHARED;\n" - "+\t\t\tkern_pgprot |= L_PTE_SHARED;\n" - "+\t\t\tvecs_pgprot |= L_PTE_SHARED;\n" - "+\t\t\tmem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_S;\n" - "+\t\t\tmem_types[MT_DEVICE_WC].prot_pte |= L_PTE_SHARED;\n" - "+\t\t\tmem_types[MT_DEVICE_CACHED].prot_sect |= PMD_SECT_S;\n" - "+\t\t\tmem_types[MT_DEVICE_CACHED].prot_pte |= L_PTE_SHARED;\n" - "+\t\t\tmem_types[MT_MEMORY].prot_sect |= PMD_SECT_S;\n" - "+\t\t\tmem_types[MT_MEMORY_NONCACHED].prot_sect |= PMD_SECT_S;\n" - "+\t\t}\n" - " #endif\n" - " \t}\n" - " \n" - "-- \n" - 1.7.1 -2913a32b3dbfca127165ca520316232dd7570718d448e4e42eef6b5e5902f23a +6b6ad5075a155f50fe25a8fd10eab84479b59220c0e79e118ac720e0f7f23923
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.