/* Target-machine dependent code for Motorola 88000 series, for GDB.
- Copyright 1988, 1990, 1991, 1994, 1995 Free Software Foundation, Inc.
+ Copyright 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 2000,
+ 2001 Free Software Foundation, Inc.
This file is part of GDB.
#include "symtab.h"
#include "setjmp.h"
#include "value.h"
+#include "regcache.h"
/* Size of an instruction */
#define BYTES_PER_88K_INSN 4
of an instruction. Shrug. */
CORE_ADDR
-m88k_addr_bits_remove (addr)
- CORE_ADDR addr;
+m88k_addr_bits_remove (CORE_ADDR addr)
{
return ((addr) & ~3);
}
the function prologue to determine the caller's sp value, and return it. */
CORE_ADDR
-frame_chain (thisframe)
- struct frame_info *thisframe;
+frame_chain (struct frame_info *thisframe)
{
frame_find_saved_regs (thisframe, (struct frame_saved_regs *) 0);
}
int
-frameless_function_invocation (frame)
- struct frame_info *frame;
+frameless_function_invocation (struct frame_info *frame)
{
frame_find_saved_regs (frame, (struct frame_saved_regs *) 0);
}
void
-init_extra_frame_info (fromleaf, frame)
- int fromleaf;
- struct frame_info *frame;
+init_extra_frame_info (int fromleaf, struct frame_info *frame)
{
frame->fsr = 0; /* Not yet allocated */
frame->args_pointer = 0; /* Unknown */
is stored at 'pword1'. */
CORE_ADDR
-next_insn (memaddr, pword1)
- unsigned long *pword1;
- CORE_ADDR memaddr;
+next_insn (CORE_ADDR memaddr, unsigned long *pword1)
{
*pword1 = read_memory_integer (memaddr, BYTES_PER_88K_INSN);
return memaddr + BYTES_PER_88K_INSN;
/* Read a register from frames called by us (or from the hardware regs). */
static int
-read_next_frame_reg (frame, regno)
- struct frame_info *frame;
- int regno;
+read_next_frame_reg (struct frame_info *frame, int regno)
{
for (; frame; frame = frame->next)
{
to reflect the offsets of the arg pointer and the locals pointer. */
static CORE_ADDR
-examine_prologue (ip, limit, frame_sp, fsr, fi)
- register CORE_ADDR ip;
- register CORE_ADDR limit;
- CORE_ADDR frame_sp;
- struct frame_saved_regs *fsr;
- struct frame_info *fi;
+examine_prologue (register CORE_ADDR ip, register CORE_ADDR limit,
+ CORE_ADDR frame_sp, struct frame_saved_regs *fsr,
+ struct frame_info *fi)
{
register CORE_ADDR next_ip;
register int src;
prologue. */
CORE_ADDR
-m88k_skip_prologue (ip)
-CORE_ADDR (ip);
+m88k_skip_prologue (CORE_ADDR ip)
{
struct frame_saved_regs saved_regs_dummy;
struct symtab_and_line sal;
fairly expensive. */
void
-frame_find_saved_regs (fi, fsr)
- struct frame_info *fi;
- struct frame_saved_regs *fsr;
+frame_find_saved_regs (struct frame_info *fi, struct frame_saved_regs *fsr)
{
register struct frame_saved_regs *cache_fsr;
CORE_ADDR ip;
argument pointer, so this is the same as frame_args_address(). */
CORE_ADDR
-frame_locals_address (fi)
- struct frame_info *fi;
+frame_locals_address (struct frame_info *fi)
{
struct frame_saved_regs fsr;
described by FI. Returns 0 if the address is unknown. */
CORE_ADDR
-frame_args_address (fi)
- struct frame_info *fi;
+frame_args_address (struct frame_info *fi)
{
struct frame_saved_regs fsr;
just use the register SRP_REGNUM itself. */
CORE_ADDR
-frame_saved_pc (frame)
- struct frame_info *frame;
+frame_saved_pc (struct frame_info *frame)
{
return read_next_frame_reg (frame, SRP_REGNUM);
}
#define DUMMY_FRAME_SIZE 192
static void
-write_word (sp, word)
- CORE_ADDR sp;
- ULONGEST word;
+write_word (CORE_ADDR sp, ULONGEST word)
{
register int len = REGISTER_SIZE;
char buffer[MAX_REGISTER_RAW_SIZE];
}
void
-m88k_push_dummy_frame ()
+m88k_push_dummy_frame (void)
{
register CORE_ADDR sp = read_register (SP_REGNUM);
register int rn;
}
void
-pop_frame ()
+pop_frame (void)
{
register struct frame_info *frame = get_current_frame ();
register CORE_ADDR fp;
}
void
-_initialize_m88k_tdep ()
+_initialize_m88k_tdep (void)
{
tm_print_insn = print_insn_m88k;
}