annotate packages/hal/mips/arch/current/src/redboot_linux_exec.c @ 171:42f843b391aa

Merge from eCos master repository on 2001-07-18-03:13:25-BST
author jlarmour
date Wed, 18 Jul 2001 11:38:39 +0000
parents
children cd45958b28ff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
171
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
1 //==========================================================================
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
2 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
3 // redboot_linux_exec.c
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
4 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
5 // RedBoot exec command for Linux booting
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
6 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
7 //==========================================================================
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
8 //####COPYRIGHTBEGIN####
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
9 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
10 // -------------------------------------------
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
11 // The contents of this file are subject to the Red Hat eCos Public License
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
12 // Version 1.1 (the "License"); you may not use this file except in
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
13 // compliance with the License. You may obtain a copy of the License at
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
14 // http://www.redhat.com/
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
15 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
16 // Software distributed under the License is distributed on an "AS IS"
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
17 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
18 // License for the specific language governing rights and limitations under
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
19 // the License.
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
20 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
21 // The Original Code is eCos - Embedded Configurable Operating System,
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
22 // released September 30, 1998.
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
23 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
24 // The Initial Developer of the Original Code is Red Hat.
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
25 // Portions created by Red Hat are
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
26 // Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc.
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
27 // All Rights Reserved.
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
28 // -------------------------------------------
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
29 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
30 //####COPYRIGHTEND####
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
31 //==========================================================================
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
32 //#####DESCRIPTIONBEGIN####
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
33 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
34 // Author(s): t@keshi.org
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
35 // Contributors: t@keshi.org, jskov, dwmw2
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
36 // Date: 2001-07-09
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
37 // Purpose: RedBoot exec command for Linux booting
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
38 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
39 //####DESCRIPTIONEND####
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
40 //
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
41 //===========================================================================
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
42
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
43 #include <redboot.h>
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
44
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
45 #include <cyg/infra/cyg_type.h>
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
46 #include <cyg/hal/hal_intr.h>
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
47 #include <cyg/hal/hal_cache.h>
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
48
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
49 #define xstr(s) str(s)
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
50 #define str(s...) #s
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
51
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
52 typedef struct
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
53 {
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
54 char *name;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
55 char *val;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
56 } t_env_var;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
57
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
58 struct parmblock {
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
59 t_env_var memsize;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
60 t_env_var modetty0;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
61 t_env_var ethaddr;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
62 t_env_var env_end;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
63 char *argv[2];
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
64 char text[0];
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
65 };
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
66
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
67 static void do_exec(int argc, char *argv[]);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
68 RedBoot_cmd("exec",
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
69 "Execute an image",
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
70 "[-b <argv addr>] [-c \"kernel command line\"] [-w <timeout>]\n"
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
71 " [<entry point>]",
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
72 do_exec
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
73 );
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
74
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
75 static void
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
76 do_exec(int argc, char *argv[])
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
77 {
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
78 cyg_uint32 entry = (cyg_uint32)entry_address?:CYGDAT_REDBOOT_MIPS_LINUX_BOOT_ENTRY;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
79 cyg_uint32 base_addr = CYGDAT_REDBOOT_MIPS_LINUX_BOOT_ARGV_ADDR;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
80 char *cmd_line = xstr(CYGDAT_REDBOOT_MIPS_LINUX_BOOT_COMMAND_LINE);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
81 bool base_addr_set, cmd_line_set, wait_time_set;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
82 int wait_time, res;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
83 char line[8];
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
84
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
85 struct option_info opts[3];
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
86 char *pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
87 struct parmblock *pb;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
88 void (*linux)(int, char **, void *);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
89 int oldints;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
90
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
91 init_opts(&opts[0], 'b', true, OPTION_ARG_TYPE_NUM,
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
92 (void **)&base_addr, &base_addr_set, "base address");
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
93 init_opts(&opts[1], 'w', true, OPTION_ARG_TYPE_NUM,
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
94 (void **)&wait_time, (bool *)&wait_time_set, "wait timeout");
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
95 init_opts(&opts[2], 'c', true, OPTION_ARG_TYPE_STR,
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
96 (void **)&cmd_line, &cmd_line_set, "kernel command line");
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
97
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
98 if (!scan_opts(argc, argv, 1, opts, 3, (void *)&entry,
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
99 OPTION_ARG_TYPE_NUM, "entry address"))
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
100 return;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
101
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
102 linux = (void *)entry;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
103
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
104 printf("Now booting linux kernel:\n");
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
105 printf(" Base address 0x%08x Entry 0x%08x\n", base_addr, entry);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
106 printf(" Cmdline : %s\n", cmd_line);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
107
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
108 if (wait_time_set) {
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
109 printf("About to start execution at %p - abort with ^C within %d seconds\n",
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
110 (void *)entry, wait_time);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
111 res = gets(line, sizeof(line), wait_time*1000);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
112 if (res == _GETS_CTRLC) {
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
113 return;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
114 }
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
115 }
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
116
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
117 HAL_DISABLE_INTERRUPTS(oldints);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
118
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
119 pb = (struct parmblock *)base_addr;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
120 pcmd = pb->text;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
121
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
122 pb->memsize.name = pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
123 pcmd += sprintf(pcmd, "memsize");
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
124 pb->memsize.val = ++pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
125 pcmd += sprintf(pcmd, "0x%08x", (ram_end - ram_start + 0xFFFFF) & ~0xFFFFF);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
126
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
127 pb->modetty0.name = ++pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
128 pcmd += sprintf(pcmd, "modetty0");
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
129 pb->modetty0.val = ++pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
130 pcmd += sprintf(pcmd, "%d,n,8,1,hw", CYGNUM_HAL_VIRTUAL_VECTOR_CHANNELS_DEFAULT_BAUD);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
131
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
132 #ifdef CYGPKG_REDBOOT_NETWORKING
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
133 pb->ethaddr.name = ++pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
134 pcmd += sprintf(pcmd, "ethaddr");
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
135 pb->ethaddr.val = ++pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
136 pcmd += sprintf(pcmd, "%02x.%02x.%02x.%02x.%02x.%02x",
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
137 __local_enet_addr[0], __local_enet_addr[1],
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
138 __local_enet_addr[2], __local_enet_addr[3],
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
139 __local_enet_addr[4], __local_enet_addr[5]);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
140 pb->env_end.name = NULL;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
141 pb->env_end.val = NULL;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
142 #else
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
143 pb->ethaddr.name = NULL;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
144 pb->ethaddr.val = NULL;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
145 #endif
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
146
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
147 /* Point argv[0] at a handy `\0` */
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
148 pb->argv[0] = pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
149 pb->argv[1] = ++pcmd;
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
150
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
151 strcpy(pcmd, cmd_line);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
152
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
153 HAL_DCACHE_SYNC();
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
154 HAL_ICACHE_DISABLE();
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
155 HAL_DCACHE_DISABLE();
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
156 HAL_DCACHE_SYNC();
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
157 HAL_ICACHE_INVALIDATE_ALL();
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
158 HAL_DCACHE_INVALIDATE_ALL();
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
159
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
160 linux(2, pb->argv, pb);
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
diff changeset
161 }