Commit | Line | Data |
---|---|---|
e8b73ba7 RS |
1 | #include "defs.h" |
2 | #include "gdbcore.h" | |
3 | #include "target.h" | |
4 | #include "monitor.h" | |
5 | ||
6 | void w89k_open(); | |
7 | void general_open(); | |
8 | ||
9 | /* | |
10 | * Define the monitor command strings. Since these are passed directly | |
11 | * through to a printf style function, we need can include formatting | |
12 | * strings. We also need a CR or LF on the end. | |
13 | */ | |
14 | ||
15 | struct target_ops w89k_ops = { | |
16 | "w89k", | |
17 | "WinBond's debug monitor for the W89k Eval board", | |
18 | "Debug on a WinBond W89K eval board.\n\ | |
19 | Specify the serial device it is connected to (e.g. /dev/ttya).", | |
20 | w89k_open, | |
21 | monitor_close, | |
22 | 0, | |
23 | monitor_detach, | |
24 | monitor_resume, | |
25 | monitor_wait, | |
26 | monitor_fetch_register, | |
27 | monitor_store_register, | |
28 | monitor_prepare_to_store, | |
29 | monitor_xfer_inferior_memory, | |
30 | monitor_files_info, | |
31 | monitor_insert_breakpoint, | |
32 | monitor_remove_breakpoint, /* Breakpoints */ | |
33 | 0, | |
34 | 0, | |
35 | 0, | |
36 | 0, | |
37 | 0, /* Terminal handling */ | |
38 | monitor_kill, | |
39 | monitor_load, /* load */ | |
40 | 0, /* lookup_symbol */ | |
41 | monitor_create_inferior, | |
42 | monitor_mourn_inferior, | |
43 | 0, /* can_run */ | |
44 | 0, /* notice_signals */ | |
45 | process_stratum, | |
46 | 0, /* next */ | |
47 | 1, | |
48 | 1, | |
49 | 1, | |
50 | 1, | |
51 | 1, /* all mem, mem, stack, regs, exec */ | |
52 | 0, | |
53 | 0, /* Section pointers */ | |
54 | OPS_MAGIC, /* Always the last thing */ | |
55 | }; | |
56 | ||
57 | struct monitor_ops w89k_cmds = { | |
58 | "\r", /* monitor init string */ | |
59 | "G\r", /* execute or usually GO command */ | |
60 | "G\r", /* continue command */ | |
61 | "T\r", /* single step */ | |
62 | "BP %x\r", /* set a breakpoint */ | |
63 | "BC %x\r", /* clear a breakpoint */ | |
64 | "E %x %x\r", /* set memory to a value */ | |
65 | "D %x\r", /* display memory */ | |
66 | "", /* prompt memory commands use */ | |
67 | "R %s %x\r", /* set a register */ | |
68 | "", /* delimiter between registers */ | |
69 | "R %s\r", /* read a register */ | |
70 | "L\r", /* download command */ | |
71 | "ROM>", /* monitor command prompt */ | |
72 | "", /* end-of-command delimitor */ | |
73 | "", /* optional command terminator */ | |
74 | &w89k_ops /* target operations */ | |
75 | }; | |
76 | ||
77 | void | |
78 | w89k_open(args, from_tty) | |
79 | char *args; | |
80 | int from_tty; | |
81 | { | |
82 | push_target (&w89k_ops); | |
83 | push_monitor (&w89k_cmds); | |
84 | general_open (args, "w89k", from_tty); | |
85 | } | |
86 | ||
87 | void | |
88 | _initialize_w89k () | |
89 | { | |
90 | add_target (&w89k_ops); | |
91 | } | |
92 | ||
93 | ||
94 | ||
95 |