* inftarg.c (child_thread_alive): New function to see if a
[deliverable/binutils-gdb.git] / gdb / h8500-tdep.c
index da4ee80c80c7e12076a0b9a7b26af814a94fa53d..83f074bc39ef037606041651c5612ed1258d6e44 100644 (file)
@@ -1,5 +1,5 @@
 /* Target-machine dependent code for Hitachi H8/500, for GDB.
-   Copyright (C) 1993 Free Software Foundation, Inc.
+   Copyright 1993, 1994, 1995 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
@@ -104,16 +104,6 @@ h8500_skip_prologue (start_pc)
   return start_pc;
 }
 
-int
-print_insn (memaddr, stream)
-     CORE_ADDR memaddr;
-     GDB_FILE *stream;
-{
-  disassemble_info info;
-  GDB_INIT_DISASSEMBLE_INFO (info, stream);
-  return print_insn_h8500 (memaddr, &info);
-}
-
 /* Given a GDB frame, determine the address of the calling function's frame.
    This will be used to create a new GDB frame struct, and then
    INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame.
@@ -121,9 +111,9 @@ print_insn (memaddr, stream)
    For us, the frame address is its stack pointer value, so we look up
    the function prologue to determine the caller's sp value, and return it.  */
 
-FRAME_ADDR
+CORE_ADDR
 h8500_frame_chain (thisframe)
-     FRAME thisframe;
+     struct frame_info *thisframe;
 {
   if (!inside_entry_file (thisframe->pc))
     return (read_memory_integer (FRAME_FP (thisframe), PTR_SIZE));
@@ -166,9 +156,9 @@ NEXT_PROLOGUE_INSN (addr, lim, pword1)
 
 CORE_ADDR
 frame_saved_pc (frame)
-     FRAME frame;
+     struct frame_info *frame;
 {
-  return read_memory_integer ((frame)->frame + 2, PTR_SIZE);
+  return read_memory_integer (FRAME_FP (frame) + 2, PTR_SIZE);
 }
 
 CORE_ADDR
@@ -193,24 +183,16 @@ h8300_pop_frame ()
 {
   unsigned regnum;
   struct frame_saved_regs fsr;
-  struct frame_info *fi;
-
-  FRAME frame = get_current_frame ();
+  struct frame_info *frame = get_current_frame ();
 
-  fi = get_frame_info (frame);
-  get_frame_saved_regs (fi, &fsr);
+  get_frame_saved_regs (frame, &fsr);
 
   for (regnum = 0; regnum < 8; regnum++)
     {
       if (fsr.regs[regnum])
-       {
          write_register (regnum, read_memory_short (fsr.regs[regnum]));
-       }
 
       flush_cached_frames ();
-      set_current_frame (create_new_frame (read_register (FP_REGNUM),
-                                          read_pc ()));
-
     }
 
 }
@@ -491,7 +473,7 @@ struct cmd_list_element *setmemorylist;
 
 #define C(name,a,b,c) name () { h8500_set_pointer_size(a); code_size = b; data_size = c; }
 
-C(large_command, 32,4,4);
+C(big_command, 32,4,4);
 C(medium_command, 32, 4,2);
 C(compact_command, 32,2,4);
 C(small_command, 16,2,2);
@@ -526,7 +508,7 @@ h8500_is_trapped_internalvar (name)
     return 0;
 }
 
-value
+value_ptr
 h8500_value_of_trapped_internalvar (var)
      struct internalvar *var;
 {
@@ -577,7 +559,7 @@ void
 h8500_set_trapped_internalvar (var, newval, bitpos, bitsize, offset)
      struct internalvar *var;
      int offset, bitpos, bitsize;
-     value newval;
+     value_ptr newval;
 {
   char *page_regnum, *regnum;
   char expression[100];
@@ -636,8 +618,8 @@ _initialize_h8500_tdep ()
   add_cmd ("small", class_support, small_command,
           "Set small memory model. (16 bit code, 16 bit data)", &setmemorylist);
 
-  add_cmd ("large", class_support, large_command,
-          "Set large memory model. (32 bit code, 32 bit data)", &setmemorylist);
+  add_cmd ("big", class_support, big_command,
+          "Set big memory model. (32 bit code, 32 bit data)", &setmemorylist);
 
   add_cmd ("medium", class_support, medium_command,
           "Set medium memory model. (32 bit code, 16 bit data)", &setmemorylist);
@@ -648,41 +630,48 @@ _initialize_h8500_tdep ()
 }
 
 CORE_ADDR
-target_read_sp ()
+h8500_read_sp ()
 {
   return read_register (PR7_REGNUM);
 }
 
 void
-target_write_sp (v)
+h8500_write_sp (v)
      CORE_ADDR v;
 {
   write_register (PR7_REGNUM, v);
 }
 
 CORE_ADDR
-target_read_pc ()
+h8500_read_pc (pid)
+     int pid;
 {
   return read_register (PC_REGNUM);
 }
 
 void
-target_write_pc (v)
+h8500_write_pc (v, pid)
      CORE_ADDR v;
+     int pid;
 {
   write_register (PC_REGNUM, v);
 }
 
 CORE_ADDR
-target_read_fp ()
+h8500_read_fp ()
 {
   return read_register (PR6_REGNUM);
 }
 
 void
-target_write_fp (v)
+h8500_write_fp (v)
      CORE_ADDR v;
 {
   write_register (PR6_REGNUM, v);
 }
 
+void
+_initialize_h8500_tdep ()
+{
+  tm_print_insn = gdb_print_insn_sh;
+}
This page took 0.025158 seconds and 4 git commands to generate.