/* Simulator for Analog Devices Blackfin processors.
- Copyright (C) 2005-2016 Free Software Foundation, Inc.
+ Copyright (C) 2005-2019 Free Software Foundation, Inc.
Contributed by Analog Devices, Inc.
This file is part of simulators.
bfin_syscall (SIM_CPU *cpu)
{
SIM_DESC sd = CPU_STATE (cpu);
- const char * const *argv = (void *)STATE_PROG_ARGV (sd);
+ char * const *argv = (void *)STATE_PROG_ARGV (sd);
host_callback *cb = STATE_CALLBACK (sd);
bu32 args[6];
CB_SYSCALL sc;
trace_prefix (sd, cpu, NULL_CIA, oldpc, TRACE_LINENUM_P (cpu),
NULL, 0, " "); /* Use a space for gcc warnings. */
+ TRACE_DISASM (cpu, oldpc);
+
/* Handle hardware single stepping when lower than EVT3, and when SYSCFG
has already had the SSSTEP bit enabled. */
ssstep = false;
SIM_DESC
sim_open (SIM_OPEN_KIND kind, host_callback *callback,
- struct bfd *abfd, char **argv)
+ struct bfd *abfd, char * const *argv)
{
char c;
int i;
e_sim_add_option_table (sd, bfin_mmu_options);
e_sim_add_option_table (sd, bfin_mach_options);
- /* getopt will print the error message so we just have to exit if this fails.
- FIXME: Hmmm... in the case of gdb we need getopt to call
- print_filtered. */
+ /* The parser will print an error message for us, so we silently return. */
if (sim_parse_args (sd, argv) != SIM_RC_OK)
{
free_state (sd);
}
/* Some utils don't like having a NULL environ. */
-static const char * const simple_env[] = { "HOME=/", "PATH=/bin", NULL };
+static char * const simple_env[] = { "HOME=/", "PATH=/bin", NULL };
static bu32 fdpic_load_offset;
free (data);
- max_load_addr = MAX (paddr + memsz, max_load_addr);
+ max_load_addr = max (paddr + memsz, max_load_addr);
*sp -= 12;
sim_write (sd, *sp+0, (void *)&paddr, 4); /* loadseg.addr */
}
/* Update the load offset with a few extra pages. */
- fdpic_load_offset = ALIGN (MAX (max_load_addr, fdpic_load_offset), 0x10000);
+ fdpic_load_offset = ALIGN (max (max_load_addr, fdpic_load_offset), 0x10000);
fdpic_load_offset += 0x10000;
/* Push the summary loadmap info onto the stack last. */
static void
bfin_user_init (SIM_DESC sd, SIM_CPU *cpu, struct bfd *abfd,
- const char * const *argv, const char * const *env)
+ char * const *argv, char * const *env)
{
/* XXX: Missing host -> target endian ... */
/* Linux starts the user app with the stack:
}
static void
-bfin_os_init (SIM_DESC sd, SIM_CPU *cpu, const char * const *argv)
+bfin_os_init (SIM_DESC sd, SIM_CPU *cpu, char * const *argv)
{
/* Pass the command line via a string in R0 like Linux expects. */
int i;
SIM_RC
sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
- char **argv, char **env)
+ char * const *argv, char * const *env)
{
SIM_CPU *cpu = STATE_CPU (sd, 0);
SIM_ADDR addr;
switch (STATE_ENVIRONMENT (sd))
{
case USER_ENVIRONMENT:
- bfin_user_init (sd, cpu, abfd, (void *)argv, (void *)env);
+ bfin_user_init (sd, cpu, abfd, argv, env);
break;
case OPERATING_ENVIRONMENT:
- bfin_os_init (sd, cpu, (void *)argv);
+ bfin_os_init (sd, cpu, argv);
break;
default:
bfin_virtual_init (sd, cpu);