aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/ppc/ChangeLog14
-rw-r--r--sim/ppc/device_tree.c2
-rw-r--r--sim/ppc/psim.c19
-rw-r--r--sim/ppc/sim_calls.c1
4 files changed, 27 insertions, 9 deletions
diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog
index 0d34501..29b3692 100644
--- a/sim/ppc/ChangeLog
+++ b/sim/ppc/ChangeLog
@@ -1,3 +1,17 @@
+Mon Nov 6 20:49:56 1995 Andrew Cagney <cagney@highland.com.au>
+
+ * sim_calls.c (sim_open): Fix parsing of `target sim' options.
+
+ * device_tree.c (device_tree_add_string): Wasn't saving the value
+ of the string being entered into the tree.
+
+ * psim.c (create_filed_device_tree): Not terminating string device
+ names with a null.
+
+ * psim.c (psim_create): Use `env' instead of
+ `environment-architecture' to be consistent with configure.
+ Reconize user/uea, virtual/vea and operating/oea.
+
Sat Nov 4 12:29:45 1995 Fred Fish <fnf@cygnus.com>
* core.c: Rename to corefile.c
diff --git a/sim/ppc/device_tree.c b/sim/ppc/device_tree.c
index 3442ba8..2997388 100644
--- a/sim/ppc/device_tree.c
+++ b/sim/ppc/device_tree.c
@@ -279,7 +279,7 @@ device_tree_add_string(device_tree *root,
path, /* full-name */
node_string,
device_tree_grow);
- new_node->string = string;
+ new_node->string = strdup(string);
TRACE(trace_device_tree,
("device_tree_add_string() = 0x%x\n", new_node));
return new_node;
diff --git a/sim/ppc/psim.c b/sim/ppc/psim.c
index 03b57fe..60acc9b 100644
--- a/sim/ppc/psim.c
+++ b/sim/ppc/psim.c
@@ -121,7 +121,7 @@ create_hardware_device_tree(bfd *image,
MAX_NR_PROCESSORS);
device_tree_add_boolean(root, "/options/little-endian?",
!image->xvec->byteorder_big_p);
- device_tree_add_string(root, "/options/environment-architecture",
+ device_tree_add_string(root, "/options/env",
"operating");
device_tree_add_boolean(root, "/options/strict-alignment?",
(WITH_ALIGNMENT == STRICT_ALIGNMENT
@@ -209,7 +209,7 @@ create_vea_device_tree(bfd *image,
device_tree_add_integer(root, "/options/smp", 1); /* always */
device_tree_add_boolean(root, "/options/little-endian?",
!image->xvec->byteorder_big_p);
- device_tree_add_string(root, "/options/environment-architecture",
+ device_tree_add_string(root, "/options/env",
(WITH_ENVIRONMENT == USER_ENVIRONMENT
? "user" : "virtual"));
device_tree_add_boolean(root, "/options/strict-alignment?",
@@ -303,7 +303,7 @@ create_filed_device_tree(const char *file_name,
}
else {
/* any thing else */
- space = '\0';
+ *space = '\0';
device_tree_add_string(root, device_path, space + 1);
}
}
@@ -410,16 +410,19 @@ psim_create(const char *file_name)
/* fill in the missing OEA/VEA information */
env = device_tree_find_string(system->devices,
- "/options/environment-architecture");
- current_environment = (strcmp(env, "user") == 0
+ "/options/env");
+ current_environment = ((strcmp(env, "user") == 0
+ || strcmp(env, "uea") == 0)
? USER_ENVIRONMENT
- : strcmp(env, "virtual") == 0
+ : (strcmp(env, "virtual") == 0
+ || strcmp(env, "vea") == 0)
? VIRTUAL_ENVIRONMENT
- : strcmp(env, "operating") == 0
+ : (strcmp(env, "operating") == 0
+ || strcmp(env, "oea") == 0)
? OPERATING_ENVIRONMENT
: 0);
if (current_environment == 0)
- error("unreconized /options/environment-architecture\n");
+ error("unreconized /options/env\n");
if (CURRENT_ENVIRONMENT != current_environment)
error("target environment conflict\n");
diff --git a/sim/ppc/sim_calls.c b/sim/ppc/sim_calls.c
index 8121c94..32bd4f5 100644
--- a/sim/ppc/sim_calls.c
+++ b/sim/ppc/sim_calls.c
@@ -91,6 +91,7 @@ sim_open (char *args)
print_info = 1;
break;
}
+ p += 1;
}
}
argp += 1;