1130803Smarcel/* Generic remote debugging interface for simulators.
2130803Smarcel
3130803Smarcel   Copyright 2002 Free Software Foundation, Inc.
4130803Smarcel
5130803Smarcel   Contributed by Red Hat, Inc.
6130803Smarcel
7130803Smarcel   This file is part of GDB.
8130803Smarcel
9130803Smarcel   This program is free software; you can redistribute it and/or modify
10130803Smarcel   it under the terms of the GNU General Public License as published by
11130803Smarcel   the Free Software Foundation; either version 2 of the License, or
12130803Smarcel   (at your option) any later version.
13130803Smarcel
14130803Smarcel   This program is distributed in the hope that it will be useful,
15130803Smarcel   but WITHOUT ANY WARRANTY; without even the implied warranty of
16130803Smarcel   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17130803Smarcel   GNU General Public License for more details.
18130803Smarcel
19130803Smarcel   You should have received a copy of the GNU General Public License
20130803Smarcel   along with this program; if not, write to the Free Software
21130803Smarcel   Foundation, Inc., 59 Temple Place - Suite 330,
22130803Smarcel   Boston, MA 02111-1307, USA.  */
23130803Smarcel
24130803Smarcel#ifndef SIM_REGNO_H
25130803Smarcel#define SIM_REGNO_H
26130803Smarcel
27130803Smarcel/* The REGISTER_SIM_REGNO(REGNUM) method, when there is a
28130803Smarcel   corresponding simulator register, returns that register number as a
29130803Smarcel   cardinal.  When there is no corresponding register, it returns a
30130803Smarcel   negative value.  */
31130803Smarcel
32130803Smarcelenum sim_regno {
33130803Smarcel  /* Normal sane architecture.  The simulator is known to not model
34130803Smarcel     this register.  */
35130803Smarcel  SIM_REGNO_DOES_NOT_EXIST = -1,
36130803Smarcel  /* For possible backward compatibility.  The register cache doesn't
37130803Smarcel     have a corresponding name.  Skip the register entirely.  */
38130803Smarcel  LEGACY_SIM_REGNO_IGNORE = -2
39130803Smarcel};
40130803Smarcel
41130803Smarcel/* Treat all raw registers as valid.  */
42130803Smarcel
43130803Smarcelextern int one2one_register_sim_regno (int regnum);
44130803Smarcel
45130803Smarcel#endif
46