Browse Source

fix qemu spitz emulation

Waldemar Brodkorb 11 years ago
parent
commit
8e781a2e64
1 changed files with 27 additions and 0 deletions
  1. 27 0
      target/linux/patches/3.9.11/arm-spitz.patch

+ 27 - 0
target/linux/patches/3.9.11/arm-spitz.patch

@@ -0,0 +1,27 @@
+http://lists.infradead.org/pipermail/linux-arm-kernel/2013-September/198444.html
+
+diff -Nur linux-3.9.11.orig/arch/arm/common/sharpsl_param.c linux-3.9.11/arch/arm/common/sharpsl_param.c
+--- linux-3.9.11.orig/arch/arm/common/sharpsl_param.c	2013-07-21 02:16:17.000000000 +0200
++++ linux-3.9.11/arch/arm/common/sharpsl_param.c	2013-09-18 16:27:10.000000000 +0200
+@@ -26,6 +26,7 @@
+ #ifdef CONFIG_ARCH_SA1100
+ #define PARAM_BASE	0xe8ffc000
+ #else
++#include <asm/memory.h>
+ #define PARAM_BASE	0xa0000a00
+ #endif
+ #define MAGIC_CHG(a,b,c,d) ( ( d << 24 ) | ( c << 16 )  | ( b << 8 ) | a )
+@@ -41,7 +42,12 @@
+ 
+ void sharpsl_save_param(void)
+ {
+-	memcpy(&sharpsl_param, (void *)PARAM_BASE, sizeof(struct sharpsl_param_info));
++#ifdef CONFIG_ARCH_SA1100
++	void *param_start = (void *)PARAM_BASE;
++#else
++	void *param_start = phys_to_virt(PARAM_BASE);
++#endif
++	memcpy(&sharpsl_param, param_start, sizeof(struct sharpsl_param_info));
+ 
+ 	if (sharpsl_param.comadj_keyword != COMADJ_MAGIC)
+ 		sharpsl_param.comadj=-1;