Merge remote-tracking branch 'origin/master' into amd-common
[deliverable/binutils-gdb.git] / sim / sh64 / sh64.c
index 7c11c174f2566bd0e84ab2edef5076601f16bf93..7d5546d1c6bb13e0bbce4f0eeedcbebc19bc75c9 100644 (file)
@@ -1,5 +1,5 @@
 /* SH5 simulator support code
-   Copyright (C) 2000-2013 Free Software Foundation, Inc.
+   Copyright (C) 2000-2020 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
@@ -529,22 +529,6 @@ sh64_pref (SIM_CPU *cpu, SI addr)
   /* TODO: Unimplemented.  */
 }
 
-/* Count the number of arguments.  */
-static int
-count_argc (cpu)
-     SIM_CPU *cpu;
-{
-  int i = 0;
-
-  if (! STATE_PROG_ARGV (CPU_STATE (cpu)))
-    return -1;
-  
-  while (STATE_PROG_ARGV (CPU_STATE (cpu)) [i] != NULL)
-    ++i;
-
-  return i;
-}
-
 /* Read a null terminated string from memory, return in a buffer */
 static char *
 fetch_str (current_cpu, pc, addr)
@@ -634,11 +618,11 @@ trap_handler (SIM_CPU *current_cpu, int shmedia_abi_p, UQI trapnum, PCADDR pc)
            break;
 
          case SYS_argc:
-           SET_H_GR (ret_reg, count_argc (current_cpu));
+           SET_H_GR (ret_reg, countargv (STATE_PROG_ARGV (CPU_STATE (current_cpu))));
            break;
 
          case SYS_argnlen:
-           if (PARM1 < count_argc (current_cpu))
+           if (PARM1 < countargv (STATE_PROG_ARGV (CPU_STATE (current_cpu))))
              SET_H_GR (ret_reg,
                        strlen (STATE_PROG_ARGV (CPU_STATE (current_cpu)) [PARM1]));
            else
@@ -646,7 +630,7 @@ trap_handler (SIM_CPU *current_cpu, int shmedia_abi_p, UQI trapnum, PCADDR pc)
            break;
 
          case SYS_argn:
-           if (PARM1 < count_argc (current_cpu))
+           if (PARM1 < countargv (STATE_PROG_ARGV (CPU_STATE (current_cpu))))
              {
                /* Include the NULL byte.  */
                i = strlen (STATE_PROG_ARGV (CPU_STATE (current_cpu)) [PARM1]) + 1;
@@ -1030,7 +1014,7 @@ sh64_model_init()
   /* Do nothing.  */
 }
 
-static const MODEL sh_models [] =
+static const SIM_MODEL sh_models [] =
 {
   { "sh2",        & sh2_mach,         MODEL_SH5, NULL, sh64_model_init },
   { "sh2e",       & sh2e_mach,        MODEL_SH5, NULL, sh64_model_init },
@@ -1047,7 +1031,7 @@ static const MODEL sh_models [] =
   { 0 }
 };
 
-static const MACH_IMP_PROPERTIES sh5_imp_properties =
+static const SIM_MACH_IMP_PROPERTIES sh5_imp_properties =
 {
   sizeof (SIM_CPU),
 #if WITH_SCACHE
@@ -1057,7 +1041,7 @@ static const MACH_IMP_PROPERTIES sh5_imp_properties =
 #endif
 };
 
-const MACH sh2_mach =
+const SIM_MACH sh2_mach =
 {
   "sh2", "sh2", MACH_SH5,
   16, 16, &sh_models[0], &sh5_imp_properties,
@@ -1065,7 +1049,7 @@ const MACH sh2_mach =
   sh64_prepare_run
 };
 
-const MACH sh2e_mach =
+const SIM_MACH sh2e_mach =
 {
   "sh2e", "sh2e", MACH_SH5,
   16, 16, &sh_models[1], &sh5_imp_properties,
@@ -1073,7 +1057,7 @@ const MACH sh2e_mach =
   sh64_prepare_run
 };
 
-const MACH sh2a_fpu_mach =
+const SIM_MACH sh2a_fpu_mach =
 {
   "sh2a", "sh2a", MACH_SH5,
   16, 16, &sh_models[2], &sh5_imp_properties,
@@ -1081,7 +1065,7 @@ const MACH sh2a_fpu_mach =
   sh64_prepare_run
 };
 
-const MACH sh2a_nofpu_mach =
+const SIM_MACH sh2a_nofpu_mach =
 {
   "sh2a_nofpu", "sh2a_nofpu", MACH_SH5,
   16, 16, &sh_models[3], &sh5_imp_properties,
@@ -1089,7 +1073,7 @@ const MACH sh2a_nofpu_mach =
   sh64_prepare_run
 };
 
-const MACH sh3_mach =
+const SIM_MACH sh3_mach =
 {
   "sh3", "sh3", MACH_SH5,
   16, 16, &sh_models[4], &sh5_imp_properties,
@@ -1097,7 +1081,7 @@ const MACH sh3_mach =
   sh64_prepare_run
 };
 
-const MACH sh3e_mach =
+const SIM_MACH sh3e_mach =
 {
   "sh3e", "sh3e", MACH_SH5,
   16, 16, &sh_models[5], &sh5_imp_properties,
@@ -1105,7 +1089,7 @@ const MACH sh3e_mach =
   sh64_prepare_run
 };
 
-const MACH sh4_mach =
+const SIM_MACH sh4_mach =
 {
   "sh4", "sh4", MACH_SH5,
   16, 16, &sh_models[6], &sh5_imp_properties,
@@ -1113,7 +1097,7 @@ const MACH sh4_mach =
   sh64_prepare_run
 };
 
-const MACH sh4_nofpu_mach =
+const SIM_MACH sh4_nofpu_mach =
 {
   "sh4_nofpu", "sh4_nofpu", MACH_SH5,
   16, 16, &sh_models[7], &sh5_imp_properties,
@@ -1121,7 +1105,7 @@ const MACH sh4_nofpu_mach =
   sh64_prepare_run
 };
 
-const MACH sh4a_mach =
+const SIM_MACH sh4a_mach =
 {
   "sh4a", "sh4a", MACH_SH5,
   16, 16, &sh_models[8], &sh5_imp_properties,
@@ -1129,7 +1113,7 @@ const MACH sh4a_mach =
   sh64_prepare_run
 };
 
-const MACH sh4a_nofpu_mach =
+const SIM_MACH sh4a_nofpu_mach =
 {
   "sh4a_nofpu", "sh4a_nofpu", MACH_SH5,
   16, 16, &sh_models[9], &sh5_imp_properties,
@@ -1137,7 +1121,7 @@ const MACH sh4a_nofpu_mach =
   sh64_prepare_run
 };
 
-const MACH sh4al_mach =
+const SIM_MACH sh4al_mach =
 {
   "sh4al", "sh4al", MACH_SH5,
   16, 16, &sh_models[10], &sh5_imp_properties,
@@ -1145,7 +1129,7 @@ const MACH sh4al_mach =
   sh64_prepare_run
 };
 
-const MACH sh5_mach =
+const SIM_MACH sh5_mach =
 {
   "sh5", "sh5", MACH_SH5,
   32, 32, &sh_models[11], &sh5_imp_properties,
This page took 0.025494 seconds and 4 git commands to generate.