Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* HW breakpoints, watchpoints and trace
@ 2001-05-15 23:42 Marko Mlinar
  2001-05-17 10:31 ` J.T. Conklin
  0 siblings, 1 reply; 2+ messages in thread
From: Marko Mlinar @ 2001-05-15 23:42 UTC (permalink / raw)
  To: gdb

Hi guys,

I have a question:
Our processor (or1k) has a lot of HW debugging capabilities and I was
wondering what would be the best solution to include them into
user interface.

e.g.: We can create HW watchpoint as

"watchpoint_event" = $1234 == 506 && ( $50 > 70 && $50 <= 120 ||
!write_to_address_occured (4567))

(Sorry about this freaky pseudo code, but I hope you get my point)
We could surely add special command which would support such
functionality, but
I would like to have this functionality detected automaticaly using
break or hbreak.
Is this possible and how to do it. I read in documentation that
expessions are
translated to byte code. Where is that code and how should I intercept
that data?

The same point goes to catchpoints and trace.

thanks,
	Marko


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: HW breakpoints, watchpoints and trace
  2001-05-15 23:42 HW breakpoints, watchpoints and trace Marko Mlinar
@ 2001-05-17 10:31 ` J.T. Conklin
  0 siblings, 0 replies; 2+ messages in thread
From: J.T. Conklin @ 2001-05-17 10:31 UTC (permalink / raw)
  To: markom; +Cc: gdb

>>>>> "Marko" == Marko Mlinar <markom@opencores.org> writes:
Marko> I have a question: Our processor (or1k) has a lot of HW
Marko> debugging capabilities and I was wondering what would be the
Marko> best solution to include them into user interface.

Marko> e.g.: We can create HW watchpoint as
Marko> "watchpoint_event" = $1234 == 506 && ( $50 > 70 && $50 <= 120
Marko> || !write_to_address_occured (4567))

Marko> (Sorry about this freaky pseudo code, but I hope you get my
Marko> point) 

Actually, I'm a bit confused.

Marko> We could surely add special command which would support such
Marko> functionality, but I would like to have this functionality
Marko> detected automaticaly using break or hbreak.

Note that GDB already supports hardware watchpoints on several
targets.  See the watch, awatch, and rwatch commands for details.

The low-level guts of GDB only supports read, write, or access watch-
points on memory locations, but the high level CLI takes expressions.
So with "watch foo > 3", GDB would get an event when "foo" is changed,
and then it would evaluate "foo > 3".  

From your above pseudo code, it appears that the or1k processor might
be able to evaluate the entire expression.  GDB has no support for such
a thing.  I suggest getting basic hardware watchpoints working before 
taking on such a project.

        --jtc

-- 
J.T. Conklin
RedBack Networks


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-05-17 10:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-15 23:42 HW breakpoints, watchpoints and trace Marko Mlinar
2001-05-17 10:31 ` J.T. Conklin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox