remote_gdb.hh revision 8229:78bf55f23338
12400SN/A/*
28706Sandreas.hansson@arm.com * Copyright (c) 2002-2005 The Regents of The University of Michigan
38706Sandreas.hansson@arm.com * All rights reserved.
48706Sandreas.hansson@arm.com *
58706Sandreas.hansson@arm.com * Redistribution and use in source and binary forms, with or without
68706Sandreas.hansson@arm.com * modification, are permitted provided that the following conditions are
78706Sandreas.hansson@arm.com * met: redistributions of source code must retain the above copyright
88706Sandreas.hansson@arm.com * notice, this list of conditions and the following disclaimer;
98706Sandreas.hansson@arm.com * redistributions in binary form must reproduce the above copyright
108706Sandreas.hansson@arm.com * notice, this list of conditions and the following disclaimer in the
118706Sandreas.hansson@arm.com * documentation and/or other materials provided with the distribution;
128706Sandreas.hansson@arm.com * neither the name of the copyright holders nor the names of its
138706Sandreas.hansson@arm.com * contributors may be used to endorse or promote products derived from
142400SN/A * this software without specific prior written permission.
152400SN/A *
162400SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
172400SN/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
182400SN/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
192400SN/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
202400SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
212400SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
222400SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
232400SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
242400SN/A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
252400SN/A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
262400SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
272400SN/A *
282400SN/A * Authors: Nathan Binkert
292400SN/A */
302400SN/A
312400SN/A#ifndef __ARCH_ALPHA_REMOTE_GDB_HH__
322400SN/A#define __ARCH_ALPHA_REMOTE_GDB_HH__
332400SN/A
342400SN/A#include <map>
352400SN/A
362400SN/A#include "arch/alpha/kgdb.h"
372400SN/A#include "arch/alpha/types.hh"
382400SN/A#include "base/pollevent.hh"
392665SN/A#include "base/remote_gdb.hh"
402665SN/A#include "base/socket.hh"
412665SN/A#include "cpu/pc_event.hh"
428706Sandreas.hansson@arm.com
432400SN/Aclass System;
442400SN/Aclass ThreadContext;
4511793Sbrandon.potter@amd.comclass PhysicalMemory;
4611793Sbrandon.potter@amd.com
472400SN/Anamespace AlphaISA {
486658SN/A
498762SN/Aclass RemoteGDB : public BaseRemoteGDB
502404SN/A{
516658SN/A  protected:
528229SN/A    Addr notTakenBkpt;
534434SN/A    Addr takenBkpt;
549814Sandreas.hansson@arm.com
552400SN/A  protected:
562423SN/A    void getregs();
572423SN/A    void setregs();
588922Swilliam.wang@arm.com
598706Sandreas.hansson@arm.com    void clearSingleStep();
609814Sandreas.hansson@arm.com    void setSingleStep();
619814Sandreas.hansson@arm.com
622400SN/A    // Machine memory
632400SN/A    bool acc(Addr addr, size_t len);
642445SN/A    bool write(Addr addr, size_t size, const char *data);
6514009Sgabeblack@google.com
662400SN/A  public:
672404SN/A    RemoteGDB(System *system, ThreadContext *context);
6814009Sgabeblack@google.com};
692400SN/A
7010318Sandreas.hansson@arm.com} // namespace AlphaISA
718762SN/A
722400SN/A#endif // __ARCH_ALPHA_REMOTE_GDB_HH__
732419SN/A