fix 335-mips-kexec patch for all 3+ kernels

SVN-Revision: 31344
This commit is contained in:
Florian Fainelli 2012-04-18 15:36:30 +00:00
parent e640bc8ca4
commit 2e641b13c0
4 changed files with 16 additions and 16 deletions

View file

@ -9,7 +9,7 @@
+#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15) +#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15)
+ +
+char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec; +char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec;
+int kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec; +char *kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec;
+ +
+static void +static void
+machine_kexec_print_args(void) +machine_kexec_print_args(void)
@ -98,7 +98,7 @@
+ size = KEXEC_MIPS_ARGV_BUF_SIZE - 1; + size = KEXEC_MIPS_ARGV_BUF_SIZE - 1;
+ size = min(size, bufsz); + size = min(size, bufsz);
+ if (size < bufsz) + if (size < bufsz)
+ pr_warn("kexec command line truncated to %d bytes\n", size); + pr_warn("kexec command line truncated to %zd bytes\n", size);
+ +
+ /* Copy to kernel space */ + /* Copy to kernel space */
+ copy_from_user(kexec_argv_buf, buf, size); + copy_from_user(kexec_argv_buf, buf, size);
@ -126,7 +126,7 @@
+ continue; + continue;
} }
+ +
+ kexec_argv[argc++] = (int) ptr; + kexec_argv[argc++] = ptr;
+ ptr = strchr(ptr, ' '); + ptr = strchr(ptr, ' ');
} }
@ -138,7 +138,7 @@
- return 0; - return 0;
+ kexec_args[0] = argc; + kexec_args[0] = argc;
+ kexec_args[1] = (int) kexec_argv; + kexec_args[1] = (unsigned long)kexec_argv;
+ kexec_args[2] = 0; + kexec_args[2] = 0;
+ kexec_args[3] = 0; + kexec_args[3] = 0;
+ +

View file

@ -9,7 +9,7 @@
+#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15) +#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15)
+ +
+char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec; +char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec;
+int kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec; +char *kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec;
+ +
+static void +static void
+machine_kexec_print_args(void) +machine_kexec_print_args(void)
@ -98,7 +98,7 @@
+ size = KEXEC_MIPS_ARGV_BUF_SIZE - 1; + size = KEXEC_MIPS_ARGV_BUF_SIZE - 1;
+ size = min(size, bufsz); + size = min(size, bufsz);
+ if (size < bufsz) + if (size < bufsz)
+ pr_warn("kexec command line truncated to %d bytes\n", size); + pr_warn("kexec command line truncated to %zd bytes\n", size);
+ +
+ /* Copy to kernel space */ + /* Copy to kernel space */
+ copy_from_user(kexec_argv_buf, buf, size); + copy_from_user(kexec_argv_buf, buf, size);
@ -126,7 +126,7 @@
+ continue; + continue;
} }
+ +
+ kexec_argv[argc++] = (int) ptr; + kexec_argv[argc++] = ptr;
+ ptr = strchr(ptr, ' '); + ptr = strchr(ptr, ' ');
} }
@ -138,7 +138,7 @@
- return 0; - return 0;
+ kexec_args[0] = argc; + kexec_args[0] = argc;
+ kexec_args[1] = (int) kexec_argv; + kexec_args[1] = (unsigned long)kexec_argv;
+ kexec_args[2] = 0; + kexec_args[2] = 0;
+ kexec_args[3] = 0; + kexec_args[3] = 0;
+ +

View file

@ -9,7 +9,7 @@
+#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15) +#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15)
+ +
+char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec; +char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec;
+int kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec; +char *kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec;
+ +
+static void +static void
+machine_kexec_print_args(void) +machine_kexec_print_args(void)
@ -98,7 +98,7 @@
+ size = KEXEC_MIPS_ARGV_BUF_SIZE - 1; + size = KEXEC_MIPS_ARGV_BUF_SIZE - 1;
+ size = min(size, bufsz); + size = min(size, bufsz);
+ if (size < bufsz) + if (size < bufsz)
+ pr_warn("kexec command line truncated to %d bytes\n", size); + pr_warn("kexec command line truncated to %zd bytes\n", size);
+ +
+ /* Copy to kernel space */ + /* Copy to kernel space */
+ copy_from_user(kexec_argv_buf, buf, size); + copy_from_user(kexec_argv_buf, buf, size);
@ -126,7 +126,7 @@
+ continue; + continue;
} }
+ +
+ kexec_argv[argc++] = (int) ptr; + kexec_argv[argc++] = ptr;
+ ptr = strchr(ptr, ' '); + ptr = strchr(ptr, ' ');
} }
@ -138,7 +138,7 @@
- return 0; - return 0;
+ kexec_args[0] = argc; + kexec_args[0] = argc;
+ kexec_args[1] = (int) kexec_argv; + kexec_args[1] = (unsigned long)kexec_argv;
+ kexec_args[2] = 0; + kexec_args[2] = 0;
+ kexec_args[3] = 0; + kexec_args[3] = 0;
+ +

View file

@ -9,7 +9,7 @@
+#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15) +#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15)
+ +
+char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec; +char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec;
+int kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec; +char *kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec;
+ +
+static void +static void
+machine_kexec_print_args(void) +machine_kexec_print_args(void)
@ -98,7 +98,7 @@
+ size = KEXEC_MIPS_ARGV_BUF_SIZE - 1; + size = KEXEC_MIPS_ARGV_BUF_SIZE - 1;
+ size = min(size, bufsz); + size = min(size, bufsz);
+ if (size < bufsz) + if (size < bufsz)
+ pr_warn("kexec command line truncated to %d bytes\n", size); + pr_warn("kexec command line truncated to %zd bytes\n", size);
+ +
+ /* Copy to kernel space */ + /* Copy to kernel space */
+ copy_from_user(kexec_argv_buf, buf, size); + copy_from_user(kexec_argv_buf, buf, size);
@ -126,7 +126,7 @@
+ continue; + continue;
} }
+ +
+ kexec_argv[argc++] = (int) ptr; + kexec_argv[argc++] = ptr;
+ ptr = strchr(ptr, ' '); + ptr = strchr(ptr, ' ');
} }
@ -138,7 +138,7 @@
- return 0; - return 0;
+ kexec_args[0] = argc; + kexec_args[0] = argc;
+ kexec_args[1] = (int) kexec_argv; + kexec_args[1] = (unsigned long)kexec_argv;
+ kexec_args[2] = 0; + kexec_args[2] = 0;
+ kexec_args[3] = 0; + kexec_args[3] = 0;
+ +