@@ -522,6 +522,54 @@ static int kdb_ss(int argc, const char **argv)
522
522
return KDB_CMD_SS ;
523
523
}
524
524
525
+ static kdbtab_t bptab [] = {
526
+ { .cmd_name = "bp" ,
527
+ .cmd_func = kdb_bp ,
528
+ .cmd_usage = "[<vaddr>]" ,
529
+ .cmd_help = "Set/Display breakpoints" ,
530
+ .cmd_flags = KDB_ENABLE_FLOW_CTRL | KDB_REPEAT_NO_ARGS ,
531
+ },
532
+ { .cmd_name = "bl" ,
533
+ .cmd_func = kdb_bp ,
534
+ .cmd_usage = "[<vaddr>]" ,
535
+ .cmd_help = "Display breakpoints" ,
536
+ .cmd_flags = KDB_ENABLE_FLOW_CTRL | KDB_REPEAT_NO_ARGS ,
537
+ },
538
+ { .cmd_name = "bc" ,
539
+ .cmd_func = kdb_bc ,
540
+ .cmd_usage = "<bpnum>" ,
541
+ .cmd_help = "Clear Breakpoint" ,
542
+ .cmd_flags = KDB_ENABLE_FLOW_CTRL ,
543
+ },
544
+ { .cmd_name = "be" ,
545
+ .cmd_func = kdb_bc ,
546
+ .cmd_usage = "<bpnum>" ,
547
+ .cmd_help = "Enable Breakpoint" ,
548
+ .cmd_flags = KDB_ENABLE_FLOW_CTRL ,
549
+ },
550
+ { .cmd_name = "bd" ,
551
+ .cmd_func = kdb_bc ,
552
+ .cmd_usage = "<bpnum>" ,
553
+ .cmd_help = "Disable Breakpoint" ,
554
+ .cmd_flags = KDB_ENABLE_FLOW_CTRL ,
555
+ },
556
+ { .cmd_name = "ss" ,
557
+ .cmd_func = kdb_ss ,
558
+ .cmd_usage = "" ,
559
+ .cmd_help = "Single Step" ,
560
+ .cmd_minlen = 1 ,
561
+ .cmd_flags = KDB_ENABLE_FLOW_CTRL | KDB_REPEAT_NO_ARGS ,
562
+ },
563
+ };
564
+
565
+ static kdbtab_t bphcmd = {
566
+ .cmd_name = "bph" ,
567
+ .cmd_func = kdb_bp ,
568
+ .cmd_usage = "[<vaddr>]" ,
569
+ .cmd_help = "[datar [length]|dataw [length]] Set hw brk" ,
570
+ .cmd_flags = KDB_ENABLE_FLOW_CTRL | KDB_REPEAT_NO_ARGS ,
571
+ };
572
+
525
573
/* Initialize the breakpoint table and register breakpoint commands. */
526
574
527
575
void __init kdb_initbptab (void )
@@ -537,30 +585,7 @@ void __init kdb_initbptab(void)
537
585
for (i = 0 , bp = kdb_breakpoints ; i < KDB_MAXBPT ; i ++ , bp ++ )
538
586
bp -> bp_free = 1 ;
539
587
540
- kdb_register_flags ("bp" , kdb_bp , "[<vaddr>]" ,
541
- "Set/Display breakpoints" , 0 ,
542
- KDB_ENABLE_FLOW_CTRL | KDB_REPEAT_NO_ARGS );
543
- kdb_register_flags ("bl" , kdb_bp , "[<vaddr>]" ,
544
- "Display breakpoints" , 0 ,
545
- KDB_ENABLE_FLOW_CTRL | KDB_REPEAT_NO_ARGS );
588
+ kdb_register_table (bptab , ARRAY_SIZE (bptab ));
546
589
if (arch_kgdb_ops .flags & KGDB_HW_BREAKPOINT )
547
- kdb_register_flags ("bph" , kdb_bp , "[<vaddr>]" ,
548
- "[datar [length]|dataw [length]] Set hw brk" , 0 ,
549
- KDB_ENABLE_FLOW_CTRL | KDB_REPEAT_NO_ARGS );
550
- kdb_register_flags ("bc" , kdb_bc , "<bpnum>" ,
551
- "Clear Breakpoint" , 0 ,
552
- KDB_ENABLE_FLOW_CTRL );
553
- kdb_register_flags ("be" , kdb_bc , "<bpnum>" ,
554
- "Enable Breakpoint" , 0 ,
555
- KDB_ENABLE_FLOW_CTRL );
556
- kdb_register_flags ("bd" , kdb_bc , "<bpnum>" ,
557
- "Disable Breakpoint" , 0 ,
558
- KDB_ENABLE_FLOW_CTRL );
559
-
560
- kdb_register_flags ("ss" , kdb_ss , "" ,
561
- "Single Step" , 1 ,
562
- KDB_ENABLE_FLOW_CTRL | KDB_REPEAT_NO_ARGS );
563
- /*
564
- * Architecture dependent initialization.
565
- */
590
+ kdb_register_table (& bphcmd , 1 );
566
591
}
0 commit comments