This type is just another way to write 'vaddr_t' and requires pulling a ddb-specific MD header for that, can't we just use vaddr_t everywhere?
Diff below does the conversion in sys/kern and sys/ddb, ok? Index: kern/kern_timeout.c =================================================================== RCS file: /cvs/src/sys/kern/kern_timeout.c,v retrieving revision 1.61 diff -u -p -r1.61 kern_timeout.c --- kern/kern_timeout.c 3 Nov 2019 17:01:46 -0000 1.61 +++ kern/kern_timeout.c 6 Nov 2019 14:03:58 -0000 @@ -627,7 +627,7 @@ db_show_callout_bucket(struct circq *buc for (p = CIRCQ_FIRST(bucket); p != bucket; p = CIRCQ_FIRST(p)) { to = timeout_from_circq(p); - db_find_sym_and_offset((db_addr_t)to->to_func, &name, &offset); + db_find_sym_and_offset((vaddr_t)to->to_func, &name, &offset); name = name ? name : "?"; if (bucket == &timeout_todo) where = "softint"; Index: ddb/db_access.c =================================================================== RCS file: /cvs/src/sys/ddb/db_access.c,v retrieving revision 1.15 diff -u -p -r1.15 db_access.c --- ddb/db_access.c 19 Apr 2016 10:24:42 -0000 1.15 +++ ddb/db_access.c 6 Nov 2019 13:56:49 -0000 @@ -42,7 +42,7 @@ * boundaries. */ db_expr_t -db_get_value(db_addr_t addr, size_t size, int is_signed) +db_get_value(vaddr_t addr, size_t size, int is_signed) { char data[sizeof(db_expr_t)]; db_expr_t value, extend; @@ -70,7 +70,7 @@ db_get_value(db_addr_t addr, size_t size } void -db_put_value(db_addr_t addr, size_t size, db_expr_t value) +db_put_value(vaddr_t addr, size_t size, db_expr_t value) { char data[sizeof(db_expr_t)]; int i; Index: ddb/db_access.h =================================================================== RCS file: /cvs/src/sys/ddb/db_access.h,v retrieving revision 1.9 diff -u -p -r1.9 db_access.h --- ddb/db_access.h 7 May 2018 15:52:46 -0000 1.9 +++ ddb/db_access.h 6 Nov 2019 13:57:02 -0000 @@ -33,17 +33,17 @@ /* * Data access functions for debugger. */ -db_expr_t db_get_value(db_addr_t, size_t, int); -void db_put_value(db_addr_t, size_t, db_expr_t); +db_expr_t db_get_value(vaddr_t, size_t, int); +void db_put_value(vaddr_t, size_t, db_expr_t); -void db_read_bytes(db_addr_t, size_t, char *); -void db_write_bytes(db_addr_t, size_t, char *); +void db_read_bytes(vaddr_t, size_t, char *); +void db_write_bytes(vaddr_t, size_t, char *); #define DB_STACK_TRACE_MAX 19 struct db_stack_trace { unsigned int st_count; - db_addr_t st_pc[DB_STACK_TRACE_MAX]; + vaddr_t st_pc[DB_STACK_TRACE_MAX]; }; void db_print_stack_trace(struct db_stack_trace *, int (*)(const char *, ...)); Index: ddb/db_break.c =================================================================== RCS file: /cvs/src/sys/ddb/db_break.c,v retrieving revision 1.20 diff -u -p -r1.20 db_break.c --- ddb/db_break.c 19 Apr 2016 12:23:25 -0000 1.20 +++ ddb/db_break.c 6 Nov 2019 13:56:54 -0000 @@ -51,8 +51,8 @@ db_breakpoint_t db_breakpoint_list = 0; db_breakpoint_t db_breakpoint_alloc(void); void db_breakpoint_free(db_breakpoint_t); -void db_set_breakpoint(db_addr_t, int); -void db_delete_breakpoint(db_addr_t); +void db_set_breakpoint(vaddr_t, int); +void db_delete_breakpoint(vaddr_t); void db_list_breakpoints(void); db_breakpoint_t @@ -82,7 +82,7 @@ db_breakpoint_free(db_breakpoint_t bkpt) } void -db_set_breakpoint(db_addr_t addr, int count) +db_set_breakpoint(vaddr_t addr, int count) { db_breakpoint_t bkpt; @@ -114,7 +114,7 @@ db_set_breakpoint(db_addr_t addr, int co } void -db_delete_breakpoint(db_addr_t addr) +db_delete_breakpoint(vaddr_t addr) { db_breakpoint_t bkpt; db_breakpoint_t *prev; @@ -135,7 +135,7 @@ db_delete_breakpoint(db_addr_t addr) } db_breakpoint_t -db_find_breakpoint(db_addr_t addr) +db_find_breakpoint(vaddr_t addr) { db_breakpoint_t bkpt; @@ -182,7 +182,7 @@ db_clear_breakpoints(void) * so the breakpoint does not have to be on the breakpoint list. */ db_breakpoint_t -db_set_temp_breakpoint(db_addr_t addr) +db_set_temp_breakpoint(vaddr_t addr) { db_breakpoint_t bkpt; @@ -242,7 +242,7 @@ db_list_breakpoints(void) void db_delete_cmd(db_expr_t addr, int have_addr, db_expr_t count, char *modif) { - db_delete_breakpoint((db_addr_t)addr); + db_delete_breakpoint((vaddr_t)addr); } /* Set breakpoint with skip count */ @@ -253,7 +253,7 @@ db_breakpoint_cmd(db_expr_t addr, int ha if (count == -1) count = 1; - db_set_breakpoint((db_addr_t)addr, count); + db_set_breakpoint((vaddr_t)addr, count); } /* list breakpoints */ Index: ddb/db_break.h =================================================================== RCS file: /cvs/src/sys/ddb/db_break.h,v retrieving revision 1.11 diff -u -p -r1.11 db_break.h --- ddb/db_break.h 19 Apr 2016 12:23:25 -0000 1.11 +++ ddb/db_break.h 6 Nov 2019 13:57:11 -0000 @@ -39,7 +39,7 @@ * Breakpoints. */ typedef struct db_breakpoint { - db_addr_t address; /* set here */ + vaddr_t address; /* set here */ int init_count; /* number of times to skip bkpt */ int count; /* current count */ int flags; /* flags: */ @@ -49,10 +49,10 @@ typedef struct db_breakpoint { struct db_breakpoint *link; /* link in in-use or free chain */ } *db_breakpoint_t; -db_breakpoint_t db_find_breakpoint(db_addr_t); +db_breakpoint_t db_find_breakpoint(vaddr_t); void db_set_breakpoints(void); void db_clear_breakpoints(void); -db_breakpoint_t db_set_temp_breakpoint(db_addr_t); +db_breakpoint_t db_set_temp_breakpoint(vaddr_t); void db_delete_temp_breakpoint(db_breakpoint_t); void db_delete_cmd(db_expr_t, int, db_expr_t, char *); void db_breakpoint_cmd(db_expr_t, int, db_expr_t, char *); Index: ddb/db_command.c =================================================================== RCS file: /cvs/src/sys/ddb/db_command.c,v retrieving revision 1.87 diff -u -p -r1.87 db_command.c --- ddb/db_command.c 6 Nov 2019 07:30:08 -0000 1.87 +++ ddb/db_command.c 6 Nov 2019 14:00:23 -0000 @@ -71,11 +71,11 @@ label_t *db_recover; */ int db_ed_style = 1; -db_addr_t db_dot; /* current location */ -db_addr_t db_last_addr; /* last explicit address typed */ -db_addr_t db_prev; /* last address examined +vaddr_t db_dot; /* current location */ +vaddr_t db_last_addr; /* last explicit address typed */ +vaddr_t db_prev; /* last address examined or written */ -db_addr_t db_next; /* next address to be examined +vaddr_t db_next; /* next address to be examined or written */ int db_cmd_search(char *, struct db_command *, struct db_command **); @@ -269,7 +269,7 @@ db_command(struct db_command **last_cmdp } if (db_expression(&addr)) { - db_dot = (db_addr_t) addr; + db_dot = (vaddr_t) addr; db_last_addr = db_dot; have_addr = 1; } @@ -858,7 +858,7 @@ db_show_regs(db_expr_t addr, int have_ad db_read_variable(regp, &value); db_printf("%-12s%s", regp->name, db_format(tmpfmt, sizeof tmpfmt, (long)value, DB_FORMAT_N, 1, sizeof(long) * 3)); - db_find_xtrn_sym_and_offset((db_addr_t)value, &name, &offset); + db_find_xtrn_sym_and_offset((vaddr_t)value, &name, &offset); if (name != 0 && offset <= db_maxoff && offset != value) { db_printf("\t%s", name); if (offset != 0) @@ -877,13 +877,13 @@ db_show_regs(db_expr_t addr, int have_ad void db_write_cmd(db_expr_t address, int have_addr, db_expr_t count, char *modif) { - db_addr_t addr; + vaddr_t addr; db_expr_t old_value; db_expr_t new_value; int size, wrote_one = 0; char tmpfmt[28]; - addr = (db_addr_t) address; + addr = (vaddr_t) address; switch (modif[0]) { case 'b': Index: ddb/db_command.h =================================================================== RCS file: /cvs/src/sys/ddb/db_command.h,v retrieving revision 1.32 diff -u -p -r1.32 db_command.h --- ddb/db_command.h 19 Apr 2016 12:23:25 -0000 1.32 +++ ddb/db_command.h 6 Nov 2019 13:57:32 -0000 @@ -41,7 +41,7 @@ void db_command_loop(void); void db_command(struct db_command **, struct db_command *); void db_machine_commands_install(struct db_command *); -extern db_addr_t db_dot, db_last_addr, db_prev, db_next; +extern vaddr_t db_dot, db_last_addr, db_prev, db_next; /* * Command table Index: ddb/db_ctf.c =================================================================== RCS file: /cvs/src/sys/ddb/db_ctf.c,v retrieving revision 1.27 diff -u -p -r1.27 db_ctf.c --- ddb/db_ctf.c 31 Aug 2018 11:57:04 -0000 1.27 +++ ddb/db_ctf.c 6 Nov 2019 14:00:45 -0000 @@ -343,7 +343,7 @@ db_ctf_type_by_index(uint16_t index) void db_ctf_pprint(const struct ctf_type *ctt, vaddr_t addr) { - db_addr_t taddr = (db_addr_t)ctt; + vaddr_t taddr = (vaddr_t)ctt; const struct ctf_type *ref; uint16_t kind; uint32_t eob, toff; @@ -635,7 +635,7 @@ db_ctf_show_struct(db_expr_t addr, int h * In that case, update `dot' value. */ if (db_expression(&addr)) { - db_dot = (db_addr_t)addr; + db_dot = (vaddr_t)addr; db_last_addr = db_dot; } else addr = (db_expr_t)db_dot; Index: ddb/db_elf.c =================================================================== RCS file: /cvs/src/sys/ddb/db_elf.c,v retrieving revision 1.28 diff -u -p -r1.28 db_elf.c --- ddb/db_elf.c 8 Sep 2017 05:36:52 -0000 1.28 +++ ddb/db_elf.c 6 Nov 2019 13:57:40 -0000 @@ -263,8 +263,7 @@ db_elf_sym_lookup(char *symstr) * provided threshold). */ Elf_Sym * -db_elf_sym_search(db_addr_t off, db_strategy_t strategy, - db_expr_t *diffp) +db_elf_sym_search(vaddr_t off, db_strategy_t strategy, db_expr_t *diffp) { db_symtab_t *stab = &db_symtab; Elf_Sym *rsymp, *symp, *symtab_start, *symtab_end; Index: ddb/db_examine.c =================================================================== RCS file: /cvs/src/sys/ddb/db_examine.c,v retrieving revision 1.25 diff -u -p -r1.25 db_examine.c --- ddb/db_examine.c 6 Nov 2019 07:30:08 -0000 1.25 +++ ddb/db_examine.c 6 Nov 2019 14:01:25 -0000 @@ -45,8 +45,8 @@ char db_examine_format[TOK_STRING_SIZE] = "x"; -void db_examine(db_addr_t, char *, int); -void db_search(db_addr_t, int, db_expr_t, db_expr_t, db_expr_t); +void db_examine(vaddr_t, char *, int); +void db_search(vaddr_t, int, db_expr_t, db_expr_t, db_expr_t); /* * Examine (print) data. Syntax is: @@ -66,11 +66,11 @@ db_examine_cmd(db_expr_t addr, int have_ if (count == -1) count = 1; - db_examine((db_addr_t)addr, db_examine_format, count); + db_examine((vaddr_t)addr, db_examine_format, count); } void -db_examine(db_addr_t addr, char *fmt, int count) +db_examine(vaddr_t addr, char *fmt, int count) { int i, c; db_expr_t value; @@ -78,7 +78,7 @@ db_examine(db_addr_t addr, char *fmt, in int width; int bytes; char * fp; - db_addr_t incr; + vaddr_t incr; int dis; char tmpfmt[28]; @@ -251,7 +251,7 @@ db_print_cmd(db_expr_t addr, int have_ad switch (db_print_format) { case 'a': - db_printsym((db_addr_t)addr, DB_STGY_ANY, db_printf); + db_printsym((vaddr_t)addr, DB_STGY_ANY, db_printf); break; case 'r': db_printf("%s", db_format(tmpfmt, sizeof tmpfmt, addr, @@ -285,7 +285,7 @@ db_print_cmd(db_expr_t addr, int have_ad } void -db_print_loc_and_inst(db_addr_t loc) +db_print_loc_and_inst(vaddr_t loc) { db_printsym(loc, DB_STGY_PROC, db_printf); db_printf(":\t"); @@ -328,7 +328,7 @@ void db_search_cmd(db_expr_t daddr, int have_addr, db_expr_t dcount, char *modif) { int t; - db_addr_t addr; + vaddr_t addr; int size; db_expr_t value; db_expr_t mask; @@ -362,7 +362,7 @@ db_search_cmd(db_expr_t daddr, int have_ db_flush_lex(); return; } - addr = (db_addr_t) value; + addr = (vaddr_t) value; if (!db_expression(&value)) { db_printf("Value missing\n"); @@ -390,7 +390,7 @@ db_search_cmd(db_expr_t daddr, int have_ } void -db_search(db_addr_t addr, int size, db_expr_t value, db_expr_t mask, +db_search(vaddr_t addr, int size, db_expr_t value, db_expr_t mask, db_expr_t count) { /* Negative counts means forever. */ Index: ddb/db_expr.c =================================================================== RCS file: /cvs/src/sys/ddb/db_expr.c,v retrieving revision 1.15 diff -u -p -r1.15 db_expr.c --- ddb/db_expr.c 6 Nov 2019 07:30:08 -0000 1.15 +++ ddb/db_expr.c 6 Nov 2019 13:57:52 -0000 @@ -121,7 +121,7 @@ db_unary(db_expr_t *valuep) db_error("Syntax error\n"); /*NOTREACHED*/ } - *valuep = db_get_value((db_addr_t)*valuep, sizeof(db_addr_t), FALSE); + *valuep = db_get_value((vaddr_t)*valuep, sizeof(vaddr_t), 0); return 1; } db_unread_token(t); Index: ddb/db_extern.h =================================================================== RCS file: /cvs/src/sys/ddb/db_extern.h,v retrieving revision 1.20 diff -u -p -r1.20 db_extern.h --- ddb/db_extern.h 6 Nov 2019 07:30:08 -0000 1.20 +++ ddb/db_extern.h 6 Nov 2019 13:57:48 -0000 @@ -39,7 +39,7 @@ void ddb_init(void); void db_examine_cmd(db_expr_t, int, db_expr_t, char *); void db_print_cmd(db_expr_t, int, db_expr_t, char *); void db_search_cmd(db_expr_t, int, db_expr_t, char *); -void db_print_loc_and_inst(db_addr_t); +void db_print_loc_and_inst(vaddr_t); size_t db_strlcpy(char *, const char *, size_t); /* db_expr.c */ Index: ddb/db_interface.h =================================================================== RCS file: /cvs/src/sys/ddb/db_interface.h,v retrieving revision 1.21 diff -u -p -r1.21 db_interface.h --- ddb/db_interface.h 6 Nov 2019 07:30:08 -0000 1.21 +++ ddb/db_interface.h 6 Nov 2019 13:57:56 -0000 @@ -37,7 +37,7 @@ void db_stack_trace_print(db_expr_t, int int (*)(const char *, ...)); /* arch/<arch>/<arch>/db_disasm.c */ -db_addr_t db_disasm(db_addr_t, int); +vaddr_t db_disasm(vaddr_t, int); /* kern/kern_proc.c */ void db_kill_cmd(db_expr_t, int, db_expr_t, char *); Index: ddb/db_run.c =================================================================== RCS file: /cvs/src/sys/ddb/db_run.c,v retrieving revision 1.28 diff -u -p -r1.28 db_run.c --- ddb/db_run.c 6 Nov 2019 07:30:08 -0000 1.28 +++ ddb/db_run.c 6 Nov 2019 14:01:48 -0000 @@ -70,7 +70,7 @@ int db_call_depth; int db_stop_at_pc(db_regs_t *regs, int *is_breakpoint) { - db_addr_t pc, old_pc; + vaddr_t pc, old_pc; db_breakpoint_t bkpt; db_clear_breakpoints(); @@ -176,7 +176,7 @@ db_stop_at_pc(db_regs_t *regs, int *is_b void db_restart_at_pc(db_regs_t *regs, int watchpt) { - db_addr_t pc = PC_REGS(regs); + vaddr_t pc = PC_REGS(regs); if ((db_run_mode == STEP_COUNT) || (db_run_mode == STEP_RETURN) || (db_run_mode == STEP_CALLT)) { @@ -329,9 +329,9 @@ db_continue_cmd(db_expr_t addr, int have void db_set_single_step(db_regs_t *regs) { - db_addr_t pc = PC_REGS(regs); + vaddr_t pc = PC_REGS(regs); #ifndef SOFTWARE_SSTEP_EMUL - db_addr_t brpc; + vaddr_t brpc; u_int inst; /* Index: ddb/db_sym.c =================================================================== RCS file: /cvs/src/sys/ddb/db_sym.c,v retrieving revision 1.53 diff -u -p -r1.53 db_sym.c --- ddb/db_sym.c 30 May 2017 15:39:05 -0000 1.53 +++ ddb/db_sym.c 6 Nov 2019 13:58:17 -0000 @@ -96,7 +96,7 @@ db_eqname(char *src, char *dst, int c) * and the difference between val and the symbol found. */ Elf_Sym * -db_search_symbol(db_addr_t val, db_strategy_t strategy, db_expr_t *offp) +db_search_symbol(vaddr_t val, db_strategy_t strategy, db_expr_t *offp) { unsigned int diff; db_expr_t newdiff; Index: ddb/db_sym.h =================================================================== RCS file: /cvs/src/sys/ddb/db_sym.h,v retrieving revision 1.34 diff -u -p -r1.34 db_sym.h --- ddb/db_sym.h 6 Nov 2017 09:32:16 -0000 1.34 +++ ddb/db_sym.h 6 Nov 2019 13:58:06 -0000 @@ -68,7 +68,7 @@ int db_eqname(char *, char *, int); Elf_Sym * db_symbol_by_name(char *, db_expr_t *); /* find symbol value given name */ -Elf_Sym * db_search_symbol(db_addr_t, db_strategy_t, db_expr_t *); +Elf_Sym * db_search_symbol(vaddr_t, db_strategy_t, db_expr_t *); /* find symbol given value */ void db_symbol_values(Elf_Sym *, char **, db_expr_t *); @@ -86,7 +86,7 @@ void db_printsym(db_expr_t, db_strategy_ /* print closest symbol to a value */ int db_elf_sym_init(int, void *, void *, const char *); -Elf_Sym * db_elf_sym_search(db_addr_t, db_strategy_t, db_expr_t *); +Elf_Sym * db_elf_sym_search(vaddr_t, db_strategy_t, db_expr_t *); int db_elf_line_at_pc(Elf_Sym *, char **, int *, db_expr_t); void db_elf_sym_forall(db_forall_func_t db_forall_func, void *); Index: ddb/db_watch.c =================================================================== RCS file: /cvs/src/sys/ddb/db_watch.c,v retrieving revision 1.16 diff -u -p -r1.16 db_watch.c --- ddb/db_watch.c 19 Apr 2016 10:24:42 -0000 1.16 +++ ddb/db_watch.c 6 Nov 2019 13:58:23 -0000 @@ -83,7 +83,7 @@ db_watchpoint_free(db_watchpoint_t watch } void -db_set_watchpoint(db_addr_t addr, vsize_t size) +db_set_watchpoint(vaddr_t addr, vsize_t size) { db_watchpoint_t watch; @@ -113,7 +113,7 @@ db_set_watchpoint(db_addr_t addr, vsize_ } void -db_delete_watchpoint(db_addr_t addr) +db_delete_watchpoint(vaddr_t addr) { db_watchpoint_t watch; db_watchpoint_t *prev; Index: ddb/db_watch.h =================================================================== RCS file: /cvs/src/sys/ddb/db_watch.h,v retrieving revision 1.10 diff -u -p -r1.10 db_watch.h --- ddb/db_watch.h 25 Jan 2016 14:30:30 -0000 1.10 +++ ddb/db_watch.h 6 Nov 2019 13:58:35 -0000 @@ -37,15 +37,15 @@ * Watchpoint. */ typedef struct db_watchpoint { - db_addr_t loaddr; /* from this address */ - db_addr_t hiaddr; /* to this address */ + vaddr_t loaddr; /* from this address */ + vaddr_t hiaddr; /* to this address */ struct db_watchpoint *link; /* link in in-use or free chain */ } *db_watchpoint_t; db_watchpoint_t db_watchpoint_alloc(void); void db_watchpoint_free(db_watchpoint_t); -void db_set_watchpoint(db_addr_t, vsize_t); -void db_delete_watchpoint(db_addr_t); +void db_set_watchpoint(vaddr_t, vsize_t); +void db_delete_watchpoint(vaddr_t); void db_list_watchpoints(void); void db_deletewatch_cmd(db_expr_t, int, db_expr_t, char *); void db_watchpoint_cmd(db_expr_t, int, db_expr_t, char *);