All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <4DF8811B.9090506@arm.com>

diff --git a/a/1.txt b/N1/1.txt
index 6d7e469..135f913 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -63,7 +63,7 @@ On 15/06/11 01:52, Kyungmin Park wrote:
 >>>
 >>> --
 >>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
->>> the body of a message to majordomo@vger.kernel.org
+>>> the body of a message to majordomo at vger.kernel.org
 >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
 >>>
 >>
@@ -103,3 +103,7 @@ Cheers,
 
 -- 
 Jazz is not dead. It just smells funny...
+-------------- next part --------------
+An embedded and charset-unspecified text was scrubbed...
+Name: 0001-ARM-exynos4-fix-secondary-CPU-boot-on-early-SoC-revi.txt
+URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110615/6ce337a7/attachment.txt>
diff --git a/a/2.hdr b/a/2.hdr
deleted file mode 100644
index baf1ea7..0000000
--- a/a/2.hdr
+++ /dev/null
@@ -1,6 +0,0 @@
-Content-Type: text/plain;
-	name=0001-ARM-exynos4-fix-secondary-CPU-boot-on-early-SoC-revi.txt
-Content-Transfer-Encoding: quoted-printable
-Content-Disposition: inline;
- filename*0="0001-ARM-exynos4-fix-secondary-CPU-boot-on-early-SoC-revi.tx";
- filename*1="t"
diff --git a/a/2.txt b/a/2.txt
deleted file mode 100644
index bff8b60..0000000
--- a/a/2.txt
+++ /dev/null
@@ -1,135 +0,0 @@
->From a24392183d396fab790557b0efb35e840c9e8a81 Mon Sep 17 00:00:00 2001
-From: Marc Zyngier <marc.zyngier@arm.com>
-Date: Fri, 20 May 2011 14:38:25 +0100
-Subject: [PATCH] ARM: exynos4: fix secondary CPU boot on early SoC revisions
-
-It appears that the system-wide flags register that used to be at
-0x02025000 on the first revision of Exynos4 has moved to 0x02020000.
-
-The kernel has been updated accordingly, but this unfortunately leaves
-early boards without SMP support (the secondary CPU spins endlessly
-in BL0 waiting for an address to be written at that memory location).
-
-Solve the problem by providing an s3c_get_chip_id() function, common
-to all s3c/s5p implementations, and test the result on the secondary boot
-path.
-
-Revision table, as provided by Kyungmin Park <kmpark@infradead.org>:
-0x4320 0200 EVT0
-0x4321 0210 EVT1
-0x4321 0211 EVT2
-
-The last 8 bits can be overrided by efuses, so only bits [16:19] are
-used to identify the revision.
-
-Tested on a vintage SMDK-v310.
-
-Cc: Kukjin Kim <kgene.kim@samsung.com>
-Cc: Kyungmin Park <kmpark@infradead.org>
-Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
----
- arch/arm/mach-exynos4/include/mach/map.h |    1 +
- arch/arm/mach-exynos4/platsmp.c          |   22 +++++++++++++++++++++-
- arch/arm/plat-samsung/include/plat/cpu.h |    2 ++
- arch/arm/plat-samsung/init.c             |    8 ++++++++
- 4 files changed, 32 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-exynos4/include/mach/map.h b/arch/arm/mach-exynos4/include/mach/map.h
-index 57d8074..da08f5c 100644
---- a/arch/arm/mach-exynos4/include/mach/map.h
-+++ b/arch/arm/mach-exynos4/include/mach/map.h
-@@ -24,6 +24,7 @@
- #include <plat/map-s5p.h>
- 
- #define EXYNOS4_PA_SYSRAM		0x02020000
-+#define EXYNOS4_PA_SYSRAM_EVT0		0x02025000
- 
- #define EXYNOS4_PA_FIMC0		0x11800000
- #define EXYNOS4_PA_FIMC1		0x11810000
-diff --git a/arch/arm/mach-exynos4/platsmp.c b/arch/arm/mach-exynos4/platsmp.c
-index c5e65a0..086d1e3 100644
---- a/arch/arm/mach-exynos4/platsmp.c
-+++ b/arch/arm/mach-exynos4/platsmp.c
-@@ -26,6 +26,8 @@
- #include <asm/smp_scu.h>
- #include <asm/unified.h>
- 
-+#include <plat/cpu.h>
-+
- #include <mach/hardware.h>
- #include <mach/regs-clock.h>
- 
-@@ -170,6 +172,24 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus)
- 	 * system-wide flags register. The boot monitor waits
- 	 * until it receives a soft interrupt, and then the
- 	 * secondary CPU branches to this address.
-+	 *
-+	 * EVT0 has the system-wide flags register at a different
-+	 * address, hence the following hackery...
- 	 */
--	__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)), S5P_VA_SYSRAM);
-+	if (s3c_get_chip_id() & 0xF0000UL)
-+		__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)),
-+			     S5P_VA_SYSRAM);
-+	else {
-+		void __iomem *sysram_evt0;
-+
-+		sysram_evt0 = ioremap(EXYNOS4_PA_SYSRAM_EVT0, SZ_4K);
-+		if (!sysram_evt0) {
-+			pr_err("Unable to remap EXYNOS4_PA_SYSRAM_EVT0\n");
-+			return;
-+		}
-+		__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)),
-+			     sysram_evt0);
-+		iounmap(sysram_evt0);
-+	}
-+
- }
-diff --git a/arch/arm/plat-samsung/include/plat/cpu.h b/arch/arm/plat-samsung/include/plat/cpu.h
-index c0a5741..41573cc 100644
---- a/arch/arm/plat-samsung/include/plat/cpu.h
-+++ b/arch/arm/plat-samsung/include/plat/cpu.h
-@@ -44,6 +44,8 @@ struct cpu_table {
- extern void s3c_init_cpu(unsigned long idcode,
- 			 struct cpu_table *cpus, unsigned int cputab_size);
- 
-+extern unsigned long s3c_get_chip_id(void);
-+
- /* core initialisation functions */
- 
- extern void s3c24xx_init_irq(void);
-diff --git a/arch/arm/plat-samsung/init.c b/arch/arm/plat-samsung/init.c
-index 79d10fc..320b88f 100644
---- a/arch/arm/plat-samsung/init.c
-+++ b/arch/arm/plat-samsung/init.c
-@@ -30,6 +30,7 @@
- #include <plat/regs-serial.h>
- 
- static struct cpu_table *cpu;
-+static unsigned long s3c_chip_id;
- 
- static struct cpu_table * __init s3c_lookup_cpu(unsigned long idcode,
- 						struct cpu_table *tab,
-@@ -60,6 +61,8 @@ void __init s3c_init_cpu(unsigned long idcode,
- 		panic("Unsupported Samsung CPU");
- 	}
- 
-+	s3c_chip_id = idcode;
-+
- 	cpu->map_io();
- }
- 
-@@ -140,6 +143,11 @@ void __init s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no)
- 		(cpu->init_uarts)(cfg, no);
- }
- 
-+unsigned long s3c_get_chip_id(void)
-+{
-+	return s3c_chip_id;
-+}
-+
- static int __init s3c_arch_init(void)
- {
- 	int ret;
--- 
-1.7.0.4
diff --git a/a/content_digest b/N1/content_digest
index 7e6c674..ba868a2 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -9,15 +9,11 @@
  "ref\01307004853.31098.12.camel@e102391-lin.cambridge.arm.com\0"
  "ref\0BANLkTi=hEBKTpEq6daMyEdLo63aet52Gbg@mail.gmail.com\0"
  "ref\0BANLkTinov=XKF5dH9EOpMj=oQC7oyKGKfA@mail.gmail.com\0"
- "From\0Marc Zyngier <marc.zyngier@arm.com>\0"
- "Subject\0Re: [PATCH] ARM: exynos4: fix secondary CPU boot\0"
+ "From\0marc.zyngier@arm.com (Marc Zyngier)\0"
+ "Subject\0[PATCH] ARM: exynos4: fix secondary CPU boot\0"
  "Date\0Wed, 15 Jun 2011 10:53:31 +0100\0"
- "To\0Kyungmin Park <kmpark@infradead.org>\0"
- "Cc\0Angus Ainslie <angus.ainslie@linaro.org>"
-  linux-samsung-soc@vger.kernel.org <linux-samsung-soc@vger.kernel.org>
-  Kukjin Kim <kgene.kim@samsung.com>
- " linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>\0"
- "\01:1\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
+ "\00:1\0"
  "b\0"
  "On 15/06/11 01:52, Kyungmin Park wrote:\n"
  "> On Wed, Jun 15, 2011 at 7:26 AM, Angus Ainslie <angus.ainslie@linaro.org> wrote:\n"
@@ -84,7 +80,7 @@
  ">>>\n"
  ">>> --\n"
  ">>> To unsubscribe from this list: send the line \"unsubscribe linux-samsung-soc\" in\n"
- ">>> the body of a message to majordomo@vger.kernel.org\n"
+ ">>> the body of a message to majordomo at vger.kernel.org\n"
  ">>> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"
  ">>>\n"
  ">>\n"
@@ -123,144 +119,10 @@
  "\tM.\n"
  "\n"
  "-- \n"
- Jazz is not dead. It just smells funny...
- "\01:2\0"
- "fn\00001-ARM-exynos4-fix-secondary-CPU-boot-on-early-SoC-revi.txt\0"
- "b\0"
- ">From a24392183d396fab790557b0efb35e840c9e8a81 Mon Sep 17 00:00:00 2001\n"
- "From: Marc Zyngier <marc.zyngier@arm.com>\n"
- "Date: Fri, 20 May 2011 14:38:25 +0100\n"
- "Subject: [PATCH] ARM: exynos4: fix secondary CPU boot on early SoC revisions\n"
- "\n"
- "It appears that the system-wide flags register that used to be at\n"
- "0x02025000 on the first revision of Exynos4 has moved to 0x02020000.\n"
- "\n"
- "The kernel has been updated accordingly, but this unfortunately leaves\n"
- "early boards without SMP support (the secondary CPU spins endlessly\n"
- "in BL0 waiting for an address to be written at that memory location).\n"
- "\n"
- "Solve the problem by providing an s3c_get_chip_id() function, common\n"
- "to all s3c/s5p implementations, and test the result on the secondary boot\n"
- "path.\n"
- "\n"
- "Revision table, as provided by Kyungmin Park <kmpark@infradead.org>:\n"
- "0x4320 0200 EVT0\n"
- "0x4321 0210 EVT1\n"
- "0x4321 0211 EVT2\n"
- "\n"
- "The last 8 bits can be overrided by efuses, so only bits [16:19] are\n"
- "used to identify the revision.\n"
- "\n"
- "Tested on a vintage SMDK-v310.\n"
- "\n"
- "Cc: Kukjin Kim <kgene.kim@samsung.com>\n"
- "Cc: Kyungmin Park <kmpark@infradead.org>\n"
- "Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>\n"
- "---\n"
- " arch/arm/mach-exynos4/include/mach/map.h |    1 +\n"
- " arch/arm/mach-exynos4/platsmp.c          |   22 +++++++++++++++++++++-\n"
- " arch/arm/plat-samsung/include/plat/cpu.h |    2 ++\n"
- " arch/arm/plat-samsung/init.c             |    8 ++++++++\n"
- " 4 files changed, 32 insertions(+), 1 deletions(-)\n"
- "\n"
- "diff --git a/arch/arm/mach-exynos4/include/mach/map.h b/arch/arm/mach-exynos4/include/mach/map.h\n"
- "index 57d8074..da08f5c 100644\n"
- "--- a/arch/arm/mach-exynos4/include/mach/map.h\n"
- "+++ b/arch/arm/mach-exynos4/include/mach/map.h\n"
- "@@ -24,6 +24,7 @@\n"
- " #include <plat/map-s5p.h>\n"
- " \n"
- " #define EXYNOS4_PA_SYSRAM\t\t0x02020000\n"
- "+#define EXYNOS4_PA_SYSRAM_EVT0\t\t0x02025000\n"
- " \n"
- " #define EXYNOS4_PA_FIMC0\t\t0x11800000\n"
- " #define EXYNOS4_PA_FIMC1\t\t0x11810000\n"
- "diff --git a/arch/arm/mach-exynos4/platsmp.c b/arch/arm/mach-exynos4/platsmp.c\n"
- "index c5e65a0..086d1e3 100644\n"
- "--- a/arch/arm/mach-exynos4/platsmp.c\n"
- "+++ b/arch/arm/mach-exynos4/platsmp.c\n"
- "@@ -26,6 +26,8 @@\n"
- " #include <asm/smp_scu.h>\n"
- " #include <asm/unified.h>\n"
- " \n"
- "+#include <plat/cpu.h>\n"
- "+\n"
- " #include <mach/hardware.h>\n"
- " #include <mach/regs-clock.h>\n"
- " \n"
- "@@ -170,6 +172,24 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus)\n"
- " \t * system-wide flags register. The boot monitor waits\n"
- " \t * until it receives a soft interrupt, and then the\n"
- " \t * secondary CPU branches to this address.\n"
- "+\t *\n"
- "+\t * EVT0 has the system-wide flags register at a different\n"
- "+\t * address, hence the following hackery...\n"
- " \t */\n"
- "-\t__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)), S5P_VA_SYSRAM);\n"
- "+\tif (s3c_get_chip_id() & 0xF0000UL)\n"
- "+\t\t__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)),\n"
- "+\t\t\t     S5P_VA_SYSRAM);\n"
- "+\telse {\n"
- "+\t\tvoid __iomem *sysram_evt0;\n"
- "+\n"
- "+\t\tsysram_evt0 = ioremap(EXYNOS4_PA_SYSRAM_EVT0, SZ_4K);\n"
- "+\t\tif (!sysram_evt0) {\n"
- "+\t\t\tpr_err(\"Unable to remap EXYNOS4_PA_SYSRAM_EVT0\\n\");\n"
- "+\t\t\treturn;\n"
- "+\t\t}\n"
- "+\t\t__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)),\n"
- "+\t\t\t     sysram_evt0);\n"
- "+\t\tiounmap(sysram_evt0);\n"
- "+\t}\n"
- "+\n"
- " }\n"
- "diff --git a/arch/arm/plat-samsung/include/plat/cpu.h b/arch/arm/plat-samsung/include/plat/cpu.h\n"
- "index c0a5741..41573cc 100644\n"
- "--- a/arch/arm/plat-samsung/include/plat/cpu.h\n"
- "+++ b/arch/arm/plat-samsung/include/plat/cpu.h\n"
- "@@ -44,6 +44,8 @@ struct cpu_table {\n"
- " extern void s3c_init_cpu(unsigned long idcode,\n"
- " \t\t\t struct cpu_table *cpus, unsigned int cputab_size);\n"
- " \n"
- "+extern unsigned long s3c_get_chip_id(void);\n"
- "+\n"
- " /* core initialisation functions */\n"
- " \n"
- " extern void s3c24xx_init_irq(void);\n"
- "diff --git a/arch/arm/plat-samsung/init.c b/arch/arm/plat-samsung/init.c\n"
- "index 79d10fc..320b88f 100644\n"
- "--- a/arch/arm/plat-samsung/init.c\n"
- "+++ b/arch/arm/plat-samsung/init.c\n"
- "@@ -30,6 +30,7 @@\n"
- " #include <plat/regs-serial.h>\n"
- " \n"
- " static struct cpu_table *cpu;\n"
- "+static unsigned long s3c_chip_id;\n"
- " \n"
- " static struct cpu_table * __init s3c_lookup_cpu(unsigned long idcode,\n"
- " \t\t\t\t\t\tstruct cpu_table *tab,\n"
- "@@ -60,6 +61,8 @@ void __init s3c_init_cpu(unsigned long idcode,\n"
- " \t\tpanic(\"Unsupported Samsung CPU\");\n"
- " \t}\n"
- " \n"
- "+\ts3c_chip_id = idcode;\n"
- "+\n"
- " \tcpu->map_io();\n"
- " }\n"
- " \n"
- "@@ -140,6 +143,11 @@ void __init s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no)\n"
- " \t\t(cpu->init_uarts)(cfg, no);\n"
- " }\n"
- " \n"
- "+unsigned long s3c_get_chip_id(void)\n"
- "+{\n"
- "+\treturn s3c_chip_id;\n"
- "+}\n"
- "+\n"
- " static int __init s3c_arch_init(void)\n"
- " {\n"
- " \tint ret;\n"
- "-- \n"
- 1.7.0.4
+ "Jazz is not dead. It just smells funny...\n"
+ "-------------- next part --------------\n"
+ "An embedded and charset-unspecified text was scrubbed...\n"
+ "Name: 0001-ARM-exynos4-fix-secondary-CPU-boot-on-early-SoC-revi.txt\n"
+ URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110615/6ce337a7/attachment.txt>
 
-f9c9620cf305e8442828bbe3f40779e3ba7b92e00722a23ca2a8e95fc4a4161b
+24a205485e1b0bf22b3c5b26bd7c31ab7a1358a5e9938898baeb14aac962d82c

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.