diff options
Diffstat (limited to 'tools/debugger/pdb/linux-2.6-module/module.c')
-rw-r--r-- | tools/debugger/pdb/linux-2.6-module/module.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/tools/debugger/pdb/linux-2.6-module/module.c b/tools/debugger/pdb/linux-2.6-module/module.c index c75b9cd647..b8093f9d3f 100644 --- a/tools/debugger/pdb/linux-2.6-module/module.c +++ b/tools/debugger/pdb/linux-2.6-module/module.c @@ -98,6 +98,11 @@ pdb_process_request (pdb_request_t *request) printk("(linux) detach 0x%x\n", request->process); resp.status = PDB_RESPONSE_OKAY; break; + case PDB_OPCODE_RD_REG : + resp.u.rd_reg.reg = request->u.rd_reg.reg; + pdb_read_register(target, &resp.u.rd_reg); + resp.status = PDB_RESPONSE_OKAY; + break; case PDB_OPCODE_RD_REGS : pdb_read_registers(target, &resp.u.rd_regs); resp.status = PDB_RESPONSE_OKAY; @@ -108,14 +113,16 @@ pdb_process_request (pdb_request_t *request) break; case PDB_OPCODE_RD_MEM : pdb_access_memory(target, request->u.rd_mem.address, - &resp.u.rd_mem.data, request->u.rd_mem.length, 0); + &resp.u.rd_mem.data, request->u.rd_mem.length, + PDB_MEM_READ); resp.u.rd_mem.address = request->u.rd_mem.address; resp.u.rd_mem.length = request->u.rd_mem.length; resp.status = PDB_RESPONSE_OKAY; break; case PDB_OPCODE_WR_MEM : pdb_access_memory(target, request->u.wr_mem.address, - &request->u.wr_mem.data, request->u.wr_mem.length, 1); + &request->u.wr_mem.data, request->u.wr_mem.length, + PDB_MEM_WRITE); resp.status = PDB_RESPONSE_OKAY; break; case PDB_OPCODE_CONTINUE : @@ -137,6 +144,14 @@ pdb_process_request (pdb_request_t *request) request->u.bkpt.length); resp.status = PDB_RESPONSE_OKAY; break; + case PDB_OPCODE_SET_WATCHPT : + pdb_insert_watchpoint(target, &request->u.watchpt); + resp.status = PDB_RESPONSE_OKAY; + break; + case PDB_OPCODE_CLR_WATCHPT : + pdb_remove_watchpoint(target, &request->u.watchpt); + resp.status = PDB_RESPONSE_OKAY; + break; default: printk("(pdb) unknown request operation %d\n", request->operation); resp.status = PDB_RESPONSE_ERROR; @@ -249,8 +264,6 @@ pdb_initialize (void) printk("----\npdb initialize %s %s\n", __DATE__, __TIME__); - pdb_initialize_bwcpoint(); - /* if ( xen_start_info.flags & SIF_INITDOMAIN ) return 1; |