[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [5516] ETRAX-FS: Add support for passing kernel command lin
From: |
Edgar E. Iglesias |
Subject: |
[Qemu-devel] [5516] ETRAX-FS: Add support for passing kernel command lines |
Date: |
Wed, 22 Oct 2008 19:58:33 +0000 |
Revision: 5516
http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5516
Author: edgar_igl
Date: 2008-10-22 19:58:32 +0000 (Wed, 22 Oct 2008)
Log Message:
-----------
ETRAX-FS: Add support for passing kernel command lines
Modified Paths:
--------------
trunk/hw/etraxfs.c
Modified: trunk/hw/etraxfs.c
===================================================================
--- trunk/hw/etraxfs.c 2008-10-22 19:35:08 UTC (rev 5515)
+++ trunk/hw/etraxfs.c 2008-10-22 19:58:32 UTC (rev 5516)
@@ -119,11 +119,13 @@
}
if (kernel_filename) {
- uint64_t entry;
+ uint64_t entry, high;
+ int kcmdline_len;
+
/* Boots a kernel elf binary, os/linux-2.6/vmlinux from the axis
devboard SDK. */
kernel_size = load_elf(kernel_filename, -0x80000000LL,
- &entry, NULL, NULL);
+ &entry, NULL, &high);
bootstrap_pc = entry;
if (kernel_size < 0) {
/* Takes a kimage from the axis devboard SDK. */
@@ -132,6 +134,17 @@
env->regs[9] = 0x40004000 + kernel_size;
}
env->regs[8] = 0x56902387; /* RAM init magic. */
+
+ if (kernel_cmdline && (kcmdline_len = strlen(kernel_cmdline))) {
+ if (kcmdline_len > 256) {
+ fprintf(stderr, "Too long CRIS kernel cmdline (max 256)\n");
+ exit(1);
+ }
+ pstrcpy_targphys(high, 256, kernel_cmdline);
+ /* Let the kernel know we are modifying the cmdline. */
+ env->regs[10] = 0x87109563;
+ env->regs[11] = high;
+ }
}
env->pc = bootstrap_pc;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [5516] ETRAX-FS: Add support for passing kernel command lines,
Edgar E. Iglesias <=