remote_gdb.cc (10595:25ecfc14f73f) remote_gdb.cc (10601:6efb37480d87)
1/*
2 * Copyright 2014 Google, Inc.
3 * Copyright (c) 2002-2005 The Regents of The University of Michigan
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 130 unchanged lines hidden (view full) ---

139#include "sim/full_system.hh"
140#include "sim/process.hh"
141#include "sim/system.hh"
142
143using namespace std;
144using namespace SparcISA;
145
146RemoteGDB::RemoteGDB(System *_system, ThreadContext *c)
1/*
2 * Copyright 2014 Google, Inc.
3 * Copyright (c) 2002-2005 The Regents of The University of Michigan
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 130 unchanged lines hidden (view full) ---

139#include "sim/full_system.hh"
140#include "sim/process.hh"
141#include "sim/system.hh"
142
143using namespace std;
144using namespace SparcISA;
145
146RemoteGDB::RemoteGDB(System *_system, ThreadContext *c)
147 : BaseRemoteGDB(_system, c, NumGDBRegs * sizeof(uint64_t)), nextBkpt(0)
147 : BaseRemoteGDB(_system, c, NumGDBRegs * sizeof(uint64_t))
148{}
149
150///////////////////////////////////////////////////////////
151// RemoteGDB::acc
152//
153// Determine if the mapping at va..(va+len) is valid.
154//
155bool

--- 80 unchanged lines hidden (view full) ---

236 pc.nnpc(pc.npc() + sizeof(MachInst));
237 pc.upc(0);
238 pc.nupc(1);
239 context->pcState(pc);
240 for (int x = RegG0; x <= RegI0 + 7; x++)
241 context->setIntReg(x - RegG0, gdbregs.regs64[x]);
242 // Only the integer registers, pc and npc are set in netbsd
243}
148{}
149
150///////////////////////////////////////////////////////////
151// RemoteGDB::acc
152//
153// Determine if the mapping at va..(va+len) is valid.
154//
155bool

--- 80 unchanged lines hidden (view full) ---

236 pc.nnpc(pc.npc() + sizeof(MachInst));
237 pc.upc(0);
238 pc.nupc(1);
239 context->pcState(pc);
240 for (int x = RegG0; x <= RegI0 + 7; x++)
241 context->setIntReg(x - RegG0, gdbregs.regs64[x]);
242 // Only the integer registers, pc and npc are set in netbsd
243}
244
245void
246RemoteGDB::clearSingleStep()
247{
248 if (nextBkpt)
249 clearTempBreakpoint(nextBkpt);
250}
251
252void
253RemoteGDB::setSingleStep()
254{
255 nextBkpt = context->pcState().npc();
256 setTempBreakpoint(nextBkpt);
257}