summaryrefslogtreecommitdiff
path: root/ddb/db_break.c
diff options
context:
space:
mode:
Diffstat (limited to 'ddb/db_break.c')
-rw-r--r--ddb/db_break.c124
1 files changed, 63 insertions, 61 deletions
diff --git a/ddb/db_break.c b/ddb/db_break.c
index 9b1d6049..c3a9e181 100644
--- a/ddb/db_break.c
+++ b/ddb/db_break.c
@@ -36,6 +36,7 @@
*/
#include <mach/boolean.h>
#include <machine/db_machdep.h>
+#include <machine/db_interface.h>
#include <ddb/db_lex.h>
#include <ddb/db_break.h>
#include <ddb/db_access.h>
@@ -63,7 +64,7 @@ static int db_breakpoint_number = 0;
db_breakpoint_t
db_breakpoint_alloc()
{
- register db_breakpoint_t bkpt;
+ db_breakpoint_t bkpt;
if ((bkpt = db_free_breakpoints) != 0) {
db_free_breakpoints = bkpt->link;
@@ -81,7 +82,7 @@ db_breakpoint_alloc()
void
db_breakpoint_free(bkpt)
- register db_breakpoint_t bkpt;
+ db_breakpoint_t bkpt;
{
bkpt->link = db_free_breakpoints;
db_free_breakpoints = bkpt;
@@ -89,11 +90,12 @@ db_breakpoint_free(bkpt)
static int
db_add_thread_breakpoint(bkpt, task_thd, count, task_bpt)
- register db_breakpoint_t bkpt;
+ const db_breakpoint_t bkpt;
vm_offset_t task_thd;
+ int count;
boolean_t task_bpt;
{
- register db_thread_breakpoint_t tp;
+ db_thread_breakpoint_t tp;
if (db_thread_break_init == FALSE) {
for (tp = db_thread_break_list;
@@ -119,12 +121,12 @@ db_add_thread_breakpoint(bkpt, task_thd, count, task_bpt)
}
static int
-db_delete_thread_breakpoint(bkpt, task_thd)
- register db_breakpoint_t bkpt;
- vm_offset_t task_thd;
+db_delete_thread_breakpoint(
+ db_breakpoint_t bkpt,
+ vm_offset_t task_thd)
{
- register db_thread_breakpoint_t tp;
- register db_thread_breakpoint_t *tpp;
+ db_thread_breakpoint_t tp;
+ db_thread_breakpoint_t *tpp;
if (task_thd == 0) {
/* delete all the thread-breakpoints */
@@ -152,13 +154,13 @@ db_delete_thread_breakpoint(bkpt, task_thd)
}
}
-static db_thread_breakpoint_t
+static db_thread_breakpoint_t __attribute__ ((pure))
db_find_thread_breakpoint(bkpt, thread)
- db_breakpoint_t bkpt;
- thread_t thread;
+ const db_breakpoint_t bkpt;
+ const thread_t thread;
{
- register db_thread_breakpoint_t tp;
- register task_t task = (thread == THREAD_NULL)? TASK_NULL: thread->task;
+ db_thread_breakpoint_t tp;
+ task_t task = (thread == THREAD_NULL)? TASK_NULL: thread->task;
for (tp = bkpt->threads; tp; tp = tp->tb_next) {
if (tp->tb_is_task) {
@@ -174,24 +176,24 @@ db_find_thread_breakpoint(bkpt, thread)
db_thread_breakpoint_t
db_find_thread_breakpoint_here(task, addr)
- task_t task;
+ const task_t task;
db_addr_t addr;
{
db_breakpoint_t bkpt;
- bkpt = db_find_breakpoint(task, (db_addr_t)addr);
+ bkpt = db_find_breakpoint(task, addr);
if (bkpt == 0)
return(0);
return(db_find_thread_breakpoint(bkpt, current_thread()));
}
db_thread_breakpoint_t
-db_find_breakpoint_number(num, bkptp)
- int num;
- db_breakpoint_t *bkptp;
+db_find_breakpoint_number(
+ int num,
+ db_breakpoint_t *bkptp)
{
- register db_thread_breakpoint_t tp;
- register db_breakpoint_t bkpt;
+ db_thread_breakpoint_t tp;
+ db_breakpoint_t bkpt;
for (bkpt = db_breakpoint_list; bkpt != 0; bkpt = bkpt->link) {
for (tp = bkpt->threads; tp; tp = tp->tb_next) {
@@ -206,10 +208,10 @@ db_find_breakpoint_number(num, bkptp)
}
static void
-db_force_delete_breakpoint(bkpt, task_thd, is_task)
- db_breakpoint_t bkpt;
- vm_offset_t task_thd;
- boolean_t is_task;
+db_force_delete_breakpoint(
+ db_breakpoint_t bkpt,
+ vm_offset_t task_thd,
+ boolean_t is_task)
{
db_printf("deleted a stale breakpoint at ");
if (bkpt->task == TASK_NULL || db_lookup_task(bkpt->task) >= 0)
@@ -225,10 +227,10 @@ db_force_delete_breakpoint(bkpt, task_thd, is_task)
}
void
-db_check_breakpoint_valid()
+db_check_breakpoint_valid(void)
{
- register db_thread_breakpoint_t tbp, tbp_next;
- register db_breakpoint_t bkpt, *bkptp;
+ db_thread_breakpoint_t tbp, tbp_next;
+ db_breakpoint_t bkpt, *bkptp;
bkptp = &db_breakpoint_list;
for (bkpt = *bkptp; bkpt; bkpt = *bkptp) {
@@ -266,13 +268,13 @@ db_check_breakpoint_valid()
db_breakpoint_t
db_set_breakpoint(task, addr, count, thread, task_bpt)
- task_t task;
+ const task_t task;
db_addr_t addr;
int count;
- thread_t thread;
+ const thread_t thread;
boolean_t task_bpt;
{
- register db_breakpoint_t bkpt;
+ db_breakpoint_t bkpt;
db_breakpoint_t alloc_bkpt = 0;
vm_offset_t task_thd;
@@ -319,12 +321,12 @@ db_set_breakpoint(task, addr, count, thread, task_bpt)
void
db_delete_breakpoint(task, addr, task_thd)
- task_t task;
+ const task_t task;
db_addr_t addr;
vm_offset_t task_thd;
{
- register db_breakpoint_t bkpt;
- register db_breakpoint_t *prev;
+ db_breakpoint_t bkpt;
+ db_breakpoint_t *prev;
for (prev = &db_breakpoint_list; (bkpt = *prev) != 0;
prev = &bkpt->link) {
@@ -348,12 +350,12 @@ db_delete_breakpoint(task, addr, task_thd)
}
}
-db_breakpoint_t
+db_breakpoint_t __attribute__ ((pure))
db_find_breakpoint(task, addr)
- task_t task;
+ const task_t task;
db_addr_t addr;
{
- register db_breakpoint_t bkpt;
+ db_breakpoint_t bkpt;
for (bkpt = db_breakpoint_list; bkpt != 0; bkpt = bkpt->link) {
if ((bkpt->task == task
@@ -366,10 +368,10 @@ db_find_breakpoint(task, addr)
boolean_t
db_find_breakpoint_here(task, addr)
- task_t task;
+ const task_t task;
db_addr_t addr;
{
- register db_breakpoint_t bkpt;
+ db_breakpoint_t bkpt;
for (bkpt = db_breakpoint_list; bkpt != 0; bkpt = bkpt->link) {
if ((bkpt->task == task
@@ -377,7 +379,7 @@ db_find_breakpoint_here(task, addr)
&& bkpt->address == addr)
return(TRUE);
if ((bkpt->flags & BKPT_USR_GLOBAL) == 0 &&
- DB_PHYS_EQ(task, (vm_offset_t)addr, bkpt->task, (vm_offset_t)bkpt->address))
+ DB_PHYS_EQ(task, addr, bkpt->task, bkpt->address))
return (TRUE);
}
return(FALSE);
@@ -388,8 +390,8 @@ boolean_t db_breakpoints_inserted = TRUE;
void
db_set_breakpoints(void)
{
- register db_breakpoint_t bkpt;
- register task_t task;
+ db_breakpoint_t bkpt;
+ task_t task;
db_expr_t inst;
task_t cur_task;
@@ -433,8 +435,8 @@ db_set_breakpoints(void)
void
db_clear_breakpoints(void)
{
- register db_breakpoint_t bkpt, *bkptp;
- register task_t task;
+ db_breakpoint_t bkpt, *bkptp;
+ task_t task;
task_t cur_task;
db_expr_t inst;
@@ -480,11 +482,11 @@ db_clear_breakpoints(void)
* so the breakpoint does not have to be on the breakpoint list.
*/
db_breakpoint_t
-db_set_temp_breakpoint(task, addr)
- task_t task;
- db_addr_t addr;
+db_set_temp_breakpoint(
+ task_t task,
+ db_addr_t addr)
{
- register db_breakpoint_t bkpt;
+ db_breakpoint_t bkpt;
bkpt = db_breakpoint_alloc();
if (bkpt == 0) {
@@ -509,9 +511,9 @@ db_set_temp_breakpoint(task, addr)
}
void
-db_delete_temp_breakpoint(task, bkpt)
- task_t task;
- db_breakpoint_t bkpt;
+db_delete_temp_breakpoint(
+ task_t task,
+ db_breakpoint_t bkpt)
{
db_put_task_value(bkpt->address, BKPT_SIZE, bkpt->bkpt_inst, task);
db_delete_thread_breakpoint(bkpt, 0);
@@ -522,9 +524,9 @@ db_delete_temp_breakpoint(task, bkpt)
* List breakpoints.
*/
void
-db_list_breakpoints()
+db_list_breakpoints(void)
{
- register db_breakpoint_t bkpt;
+ db_breakpoint_t bkpt;
if (db_breakpoint_list == 0) {
db_printf("No breakpoints set\n");
@@ -536,9 +538,9 @@ db_list_breakpoints()
bkpt != 0;
bkpt = bkpt->link)
{
- register db_thread_breakpoint_t tp;
- int task_id;
- int thread_id;
+ db_thread_breakpoint_t tp;
+ int task_id;
+ int thread_id;
if (bkpt->threads) {
for (tp = bkpt->threads; tp; tp = tp->tb_next) {
@@ -596,9 +598,9 @@ db_list_breakpoints()
/* Delete breakpoint */
/*ARGSUSED*/
void
-db_delete_cmd()
+db_delete_cmd(void)
{
- register int n;
+ int n;
thread_t thread;
vm_offset_t task_thd;
boolean_t user_global = FALSE;
@@ -679,9 +681,9 @@ db_breakpoint_cmd(addr, have_addr, count, modif)
db_expr_t addr;
int have_addr;
db_expr_t count;
- char * modif;
+ const char * modif;
{
- register int n;
+ int n;
thread_t thread;
boolean_t user_global = db_option(modif, 'U');
boolean_t task_bpt = db_option(modif, 'T');
@@ -729,7 +731,7 @@ db_breakpoint_cmd(addr, have_addr, count, modif)
/* list breakpoints */
void
-db_listbreak_cmd()
+db_listbreak_cmd(void)
{
db_list_breakpoints();
}