Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Kaushik Phatak <Kaushik.Phatak@kpitcummins.com>
To: Mike Frysinger <vapier@gentoo.org>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>,
	Yao Qi	<yao@codesourcery.com>
Subject: RE: [RFC] New GDB Port CR16
Date: Thu, 30 Aug 2012 05:23:00 -0000	[thread overview]
Message-ID: <C6CA53A2A46BA7469348BDBD663AB65845B2866D@KCHJEXMB03.kpit.com> (raw)
In-Reply-To: <CAJaTeTrp4cCM6-0WybhzQnH_ZDBoa9xDhnW4+QGtaS7Un3Zv=Q@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

Hi Mike,
Thanks for detailed review.

> needs a space there: > +	    switch(a)
> just one space after "case"
> also, the comment should have two spaces before the */:

I have fixed the above three issues in the attached patch.
If everything else looks OK, could you please check these in for me as I
do not have write privileges to the repository?

I will create a separate thread for cr16 gdb related patches.

Best Regards,
Kaushik
KPIT Cummins Infosystems Ltd
www.kpitcummins.com


[-- Attachment #2: cr16_sim.diff --]
[-- Type: application/octet-stream, Size: 4001 bytes --]

--- gdb_src.orig/sim/common/gennltvals.sh	2012-03-19 10:24:48.000000000 +0530
+++ ./gdb_src/sim/common/gennltvals.sh	2012-08-17 15:35:15.000000000 +0530
@@ -41,7 +41,7 @@ $shell ${srccom}/gentvals.sh $target sys
 # OBSOLETE $shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \
 # OBSOLETE 	"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
 
-dir=libgloss target=cr16
+dir=libgloss/cr16/sys target=cr16
 $shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \
 	"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
 
--- gdb_src.orig/sim/common/nltvals.def	2011-05-26 23:50:13.000000000 +0530
+++ ./gdb_src/sim/common/nltvals.def	2012-08-17 15:36:39.000000000 +0530
@@ -218,30 +218,34 @@
 #ifdef sys_defs
 /* from syscall.h */
 /* begin cr16 sys target macros */
- { "SYS_argc", 22 },
- { "SYS_argn", 24 },
- { "SYS_argnlen", 23 },
- { "SYS_argv", 13 },
- { "SYS_argvlen", 12 },
- { "SYS_chdir", 14 },
- { "SYS_chmod", 16 },
- { "SYS_close", 3 },
- { "SYS_exit", 1 },
- { "SYS_fstat", 10 },
- { "SYS_getpid", 8 },
- { "SYS_gettimeofday", 19 },
- { "SYS_kill", 9 },
- { "SYS_link", 21 },
- { "SYS_lseek", 6 },
- { "SYS_open", 2 },
- { "SYS_read", 4 },
- { "SYS_reconfig", 25 },
- { "SYS_stat", 15 },
- { "SYS_time", 18 },
- { "SYS_times", 20 },
- { "SYS_unlink", 7 },
- { "SYS_utime", 17 },
- { "SYS_write", 5 },
+ { "SYS_ARG", 24 },
+ { "SYS_chdir", 12 },
+ { "SYS_chmod", 15 },
+ { "SYS_chown", 16 },
+ { "SYS_close", 0x402 },
+ { "SYS_create", 8 },
+ { "SYS_execv", 11 },
+ { "SYS_execve", 59 },
+ { "SYS_exit", 0x410 },
+ { "SYS_fork", 2 },
+ { "SYS_fstat", 22 },
+ { "SYS_getpid", 20 },
+ { "SYS_isatty", 21 },
+ { "SYS_kill", 60 },
+ { "SYS_link", 9 },
+ { "SYS_lseek", 0x405 },
+ { "SYS_mknod", 14 },
+ { "SYS_open", 0x401 },
+ { "SYS_pipe", 42 },
+ { "SYS_read", 0x403 },
+ { "SYS_rename", 0x406 },
+ { "SYS_stat", 38 },
+ { "SYS_time", 0x300 },
+ { "SYS_unlink", 0x407 },
+ { "SYS_utime", 201 },
+ { "SYS_wait", 202 },
+ { "SYS_wait4", 7 },
+ { "SYS_write", 0x404 },
 /* end cr16 sys target macros */
 #endif
 #endif
--- gdb_src.orig/sim/cr16/cr16_sim.h	2012-01-04 13:58:07.000000000 +0530
+++ ./gdb_src/sim/cr16/cr16_sim.h	2012-08-24 17:22:24.000000000 +0530
@@ -472,3 +472,9 @@ extern void write_longlong PARAMS ((uint
    PSR is masked for zero bits. */
 
 extern creg_t move_to_cr (int cr, creg_t mask, creg_t val, int psw_hw_p);
+
+#ifndef SIGTRAP
+#define SIGTRAP 5
+#endif
+/* Special purpose trap  */
+#define TRAP_BREAKPOINT 8
--- gdb_src.orig/sim/cr16/interp.c	2012-06-18 05:04:17.000000000 +0530
+++ ./gdb_src/sim/cr16/interp.c	2012-08-17 15:41:35.000000000 +0530
@@ -1192,7 +1192,11 @@ sim_resume (SIM_DESC sd, int step, int s
       iaddr = imem_addr ((uint32)PC);
       if (iaddr == State.mem.fault)
         {
+#ifdef SIGBUS
           State.exception = SIGBUS;
+#else
+          State.exception = SIGSEGV;
+#endif
           break;
         }
  
@@ -1548,6 +1552,11 @@ sim_store_register (sd, rn, memory, leng
   return size;
 }
 
+char **
+sim_complete_command (SIM_DESC sd, char *text, char *word)
+{
+  return NULL;
+}
 
 void
 sim_do_command (sd, cmd)
--- gdb_src.orig/sim/cr16/simops.c	2012-01-04 13:58:07.000000000 +0530
+++ ./gdb_src/sim/cr16/simops.c	2012-08-30 10:29:28.000000000 +0530
@@ -5059,6 +5059,8 @@ OP_14C_14 ()
 void
 OP_C_C ()
 {
+  uint32 tmp;
+  uint16 a;
   trace_input ("excp", OP_CONSTANT4, OP_VOID, OP_VOID);
   switch (OP[0])
     {
@@ -5465,9 +5467,24 @@ OP_C_C ()
 #endif
 	    
 	  default:
-	    cr16_callback->error (cr16_callback, "Unknown syscall %d", FUNC);
+	    a = OP[0];
+	    switch (a)
+	    {
+	      case TRAP_BREAKPOINT:
+		State.exception = SIGTRAP;
+		tmp = (PC);
+		JMP(tmp);
+		trace_output_void ();
+		break;
+	      case SIGTRAP:  /* supervisor call ?  */
+		State.exception = SIG_CR16_EXIT;
+		trace_output_void ();
+		break;
+	      default:
+		cr16_callback->error (cr16_callback, "Unknown syscall %d", FUNC);
+		break;
+	    }
 	  }
-
 	if ((uint16) result == (uint16) -1)
 	  RETERR (cr16_callback->get_errno(cr16_callback));
 	else

  reply	other threads:[~2012-08-30  5:23 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-27  6:37 Kaushik Phatak
2012-08-27 16:21 ` Yao Qi
2012-08-28 14:47   ` Kaushik Phatak
2012-08-29 22:14     ` Mike Frysinger
2012-08-30  5:23       ` Kaushik Phatak [this message]
2012-08-30  6:10         ` Mike Frysinger
2012-09-03  9:31         ` Pedro Alves
2012-09-04  3:52           ` Mike Frysinger
2012-09-04  6:50             ` Kaushik Phatak
2012-09-07 17:47               ` Pedro Alves
2012-09-11 13:16                 ` Kaushik Phatak
2012-09-11 19:02                   ` Mike Frysinger
2012-09-24 12:55                     ` Kaushik Phatak
2012-09-11 19:00               ` Mike Frysinger
2012-08-27 21:10 ` Mike Frysinger
2012-08-28 16:24 ` Pedro Alves
2012-08-30  4:49   ` Kaushik Phatak
2012-08-30  5:14     ` Yao Qi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C6CA53A2A46BA7469348BDBD663AB65845B2866D@KCHJEXMB03.kpit.com \
    --to=kaushik.phatak@kpitcummins.com \
    --cc=gdb-patches@sourceware.org \
    --cc=vapier@gentoo.org \
    --cc=yao@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox