URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-old/binutils-2.18.50/include/gdb
- from Rev 156 to Rev 816
- ↔ Reverse comparison
Rev 156 → Rev 816
/sim-m32c.h
0,0 → 1,62
/* This file defines the interface between the m32c simulator and gdb. |
Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#ifndef SIM_M32C_H |
#define SIM_M32C_H |
|
enum m32c_sim_reg { |
m32c_sim_reg_r0_bank0, |
m32c_sim_reg_r1_bank0, |
m32c_sim_reg_r2_bank0, |
m32c_sim_reg_r3_bank0, |
m32c_sim_reg_a0_bank0, |
m32c_sim_reg_a1_bank0, |
m32c_sim_reg_fb_bank0, |
m32c_sim_reg_sb_bank0, |
m32c_sim_reg_r0_bank1, |
m32c_sim_reg_r1_bank1, |
m32c_sim_reg_r2_bank1, |
m32c_sim_reg_r3_bank1, |
m32c_sim_reg_a0_bank1, |
m32c_sim_reg_a1_bank1, |
m32c_sim_reg_fb_bank1, |
m32c_sim_reg_sb_bank1, |
m32c_sim_reg_usp, |
m32c_sim_reg_isp, |
m32c_sim_reg_pc, |
m32c_sim_reg_intb, |
m32c_sim_reg_flg, |
m32c_sim_reg_svf, |
m32c_sim_reg_svp, |
m32c_sim_reg_vct, |
m32c_sim_reg_dmd0, |
m32c_sim_reg_dmd1, |
m32c_sim_reg_dct0, |
m32c_sim_reg_dct1, |
m32c_sim_reg_drc0, |
m32c_sim_reg_drc1, |
m32c_sim_reg_dma0, |
m32c_sim_reg_dma1, |
m32c_sim_reg_dsa0, |
m32c_sim_reg_dsa1, |
m32c_sim_reg_dra0, |
m32c_sim_reg_dra1, |
m32c_sim_reg_num_regs |
}; |
|
#endif /* SIM_M32C_H */ |
/callback.h
0,0 → 1,326
/* Remote target system call callback support. |
Copyright 1997, 2007, 2008 Free Software Foundation, Inc. |
Contributed by Cygnus Solutions. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
/* This interface isn't intended to be specific to any particular kind |
of remote (hardware, simulator, whatever). As such, support for it |
(e.g. sim/common/callback.c) should *not* live in the simulator source |
tree, nor should it live in the gdb source tree. */ |
|
/* There are various ways to handle system calls: |
|
1) Have a simulator intercept the appropriate trap instruction and |
directly perform the system call on behalf of the target program. |
This is the typical way of handling system calls for embedded targets. |
[Handling system calls for embedded targets isn't that much of an |
oxymoron as running compiler testsuites make use of the capability.] |
|
This method of system call handling is done when STATE_ENVIRONMENT |
is ENVIRONMENT_USER. |
|
2) Have a simulator emulate the hardware as much as possible. |
If the program running on the real hardware communicates with some sort |
of target manager, one would want to be able to run this program on the |
simulator as well. |
|
This method of system call handling is done when STATE_ENVIRONMENT |
is ENVIRONMENT_OPERATING. |
*/ |
|
#ifndef CALLBACK_H |
#define CALLBACK_H |
|
/* ??? The reason why we check for va_start here should be documented. */ |
|
#ifndef va_start |
#include <ansidecl.h> |
#include <stdarg.h> |
#endif |
/* Needed for enum bfd_endian. */ |
#include "bfd.h" |
|
/* Mapping of host/target values. */ |
/* ??? For debugging purposes, one might want to add a string of the |
name of the symbol. */ |
|
typedef struct { |
int host_val; |
int target_val; |
} CB_TARGET_DEFS_MAP; |
|
#define MAX_CALLBACK_FDS 10 |
|
/* Forward decl for stat/fstat. */ |
struct stat; |
|
typedef struct host_callback_struct host_callback; |
|
struct host_callback_struct |
{ |
int (*close) PARAMS ((host_callback *,int)); |
int (*get_errno) PARAMS ((host_callback *)); |
int (*isatty) PARAMS ((host_callback *, int)); |
int (*lseek) PARAMS ((host_callback *, int, long , int)); |
int (*open) PARAMS ((host_callback *, const char*, int mode)); |
int (*read) PARAMS ((host_callback *,int, char *, int)); |
int (*read_stdin) PARAMS (( host_callback *, char *, int)); |
int (*rename) PARAMS ((host_callback *, const char *, const char *)); |
int (*system) PARAMS ((host_callback *, const char *)); |
long (*time) PARAMS ((host_callback *, long *)); |
int (*unlink) PARAMS ((host_callback *, const char *)); |
int (*write) PARAMS ((host_callback *,int, const char *, int)); |
int (*write_stdout) PARAMS ((host_callback *, const char *, int)); |
void (*flush_stdout) PARAMS ((host_callback *)); |
int (*write_stderr) PARAMS ((host_callback *, const char *, int)); |
void (*flush_stderr) PARAMS ((host_callback *)); |
int (*stat) PARAMS ((host_callback *, const char *, struct stat *)); |
int (*fstat) PARAMS ((host_callback *, int, struct stat *)); |
int (*lstat) PARAMS ((host_callback *, const char *, struct stat *)); |
int (*ftruncate) PARAMS ((host_callback *, int, long)); |
int (*truncate) PARAMS ((host_callback *, const char *, long)); |
int (*pipe) PARAMS ((host_callback *, int *)); |
|
/* Called by the framework when a read call has emptied a pipe buffer. */ |
void (*pipe_empty) PARAMS ((host_callback *, int read_fd, int write_fd)); |
|
/* Called by the framework when a write call makes a pipe buffer |
non-empty. */ |
void (*pipe_nonempty) PARAMS ((host_callback *, int read_fd, int write_fd)); |
|
/* When present, call to the client to give it the oportunity to |
poll any io devices for a request to quit (indicated by a nonzero |
return value). */ |
int (*poll_quit) PARAMS ((host_callback *)); |
|
/* Used when the target has gone away, so we can close open |
handles and free memory etc etc. */ |
int (*shutdown) PARAMS ((host_callback *)); |
int (*init) PARAMS ((host_callback *)); |
|
/* depreciated, use vprintf_filtered - Talk to the user on a console. */ |
void (*printf_filtered) PARAMS ((host_callback *, const char *, ...)); |
|
/* Talk to the user on a console. */ |
void (*vprintf_filtered) PARAMS ((host_callback *, const char *, va_list)); |
|
/* Same as vprintf_filtered but to stderr. */ |
void (*evprintf_filtered) PARAMS ((host_callback *, const char *, va_list)); |
|
/* Print an error message and "exit". |
In the case of gdb "exiting" means doing a longjmp back to the main |
command loop. */ |
void (*error) PARAMS ((host_callback *, const char *, ...)); |
|
int last_errno; /* host format */ |
|
int fdmap[MAX_CALLBACK_FDS]; |
/* fd_buddy is used to contruct circular lists of target fds that point to |
the same host fd. A uniquely mapped fd points to itself; for a closed |
one, fd_buddy has the value -1. The host file descriptors for stdin / |
stdout / stderr are never closed by the simulators, so they are put |
in a special fd_buddy circular list which also has MAX_CALLBACK_FDS |
as a member. */ |
/* ??? We don't have a callback entry for dup, although it is trival to |
implement now. */ |
short fd_buddy[MAX_CALLBACK_FDS+1]; |
|
/* 0 = none, >0 = reader (index of writer), |
<0 = writer (negative index of reader). |
If abs (ispipe[N]) == N, then N is an end of a pipe whose other |
end is closed. */ |
short ispipe[MAX_CALLBACK_FDS]; |
|
/* A writer stores the buffer at its index. Consecutive writes |
realloc the buffer and add to the size. The reader indicates the |
read part in its .size, until it has consumed it all, at which |
point it deallocates the buffer and zeroes out both sizes. */ |
struct pipe_write_buffer |
{ |
int size; |
char *buffer; |
} pipe_buffer[MAX_CALLBACK_FDS]; |
|
/* System call numbers. */ |
CB_TARGET_DEFS_MAP *syscall_map; |
/* Errno values. */ |
CB_TARGET_DEFS_MAP *errno_map; |
/* Flags to the open system call. */ |
CB_TARGET_DEFS_MAP *open_map; |
/* Signal numbers. */ |
CB_TARGET_DEFS_MAP *signal_map; |
/* Layout of `stat' struct. |
The format is a series of "name,length" pairs separated by colons. |
Empty space is indicated with a `name' of "space". |
All padding must be explicitly mentioned. |
Lengths are in bytes. If this needs to be extended to bits, |
use "name.bits". |
Example: "st_dev,4:st_ino,4:st_mode,4:..." */ |
const char *stat_map; |
|
enum bfd_endian target_endian; |
|
/* Size of an "int" on the target (for syscalls whose ABI uses "int"). |
This must include padding, and only padding-at-higher-address is |
supported. For example, a 64-bit target with 32-bit int:s which |
are padded to 64 bits when in an array, should supposedly set this |
to 8. The default is 4 which matches ILP32 targets and 64-bit |
targets with 32-bit ints and no padding. */ |
int target_sizeof_int; |
|
/* Marker for those wanting to do sanity checks. |
This should remain the last member of this struct to help catch |
miscompilation errors. */ |
#define HOST_CALLBACK_MAGIC 4705 /* teds constant */ |
int magic; |
}; |
|
extern host_callback default_callback; |
|
/* Canonical versions of system call numbers. |
It's not intended to willy-nilly throw every system call ever heard |
of in here. Only include those that have an important use. |
??? One can certainly start a discussion over the ones that are currently |
here, but that will always be true. */ |
|
/* These are used by the ANSI C support of libc. */ |
#define CB_SYS_exit 1 |
#define CB_SYS_open 2 |
#define CB_SYS_close 3 |
#define CB_SYS_read 4 |
#define CB_SYS_write 5 |
#define CB_SYS_lseek 6 |
#define CB_SYS_unlink 7 |
#define CB_SYS_getpid 8 |
#define CB_SYS_kill 9 |
#define CB_SYS_fstat 10 |
/*#define CB_SYS_sbrk 11 - not currently a system call, but reserved. */ |
|
/* ARGV support. */ |
#define CB_SYS_argvlen 12 |
#define CB_SYS_argv 13 |
|
/* These are extras added for one reason or another. */ |
#define CB_SYS_chdir 14 |
#define CB_SYS_stat 15 |
#define CB_SYS_chmod 16 |
#define CB_SYS_utime 17 |
#define CB_SYS_time 18 |
|
/* More standard syscalls. */ |
#define CB_SYS_lstat 19 |
#define CB_SYS_rename 20 |
#define CB_SYS_truncate 21 |
#define CB_SYS_ftruncate 22 |
#define CB_SYS_pipe 23 |
|
/* Struct use to pass and return information necessary to perform a |
system call. */ |
/* FIXME: Need to consider target word size. */ |
|
typedef struct cb_syscall { |
/* The target's value of what system call to perform. */ |
int func; |
/* The arguments to the syscall. */ |
long arg1, arg2, arg3, arg4; |
|
/* The result. */ |
long result; |
/* Some system calls have two results. */ |
long result2; |
/* The target's errno value, or 0 if success. |
This is converted to the target's value with host_to_target_errno. */ |
int errcode; |
|
/* Working space to be used by memory read/write callbacks. */ |
PTR p1; |
PTR p2; |
long x1,x2; |
|
/* Callbacks for reading/writing memory (e.g. for read/write syscalls). |
??? long or unsigned long might be better to use for the `count' |
argument here. We mimic sim_{read,write} for now. Be careful to |
test any changes with -Wall -Werror, mixed signed comparisons |
will get you. */ |
int (*read_mem) PARAMS ((host_callback * /*cb*/, struct cb_syscall * /*sc*/, |
unsigned long /*taddr*/, char * /*buf*/, |
int /*bytes*/)); |
int (*write_mem) PARAMS ((host_callback * /*cb*/, struct cb_syscall * /*sc*/, |
unsigned long /*taddr*/, const char * /*buf*/, |
int /*bytes*/)); |
|
/* For sanity checking, should be last entry. */ |
int magic; |
} CB_SYSCALL; |
|
/* Magic number sanity checker. */ |
#define CB_SYSCALL_MAGIC 0x12344321 |
|
/* Macro to initialize CB_SYSCALL. Called first, before filling in |
any fields. */ |
#define CB_SYSCALL_INIT(sc) \ |
do { \ |
memset ((sc), 0, sizeof (*(sc))); \ |
(sc)->magic = CB_SYSCALL_MAGIC; \ |
} while (0) |
|
/* Return codes for various interface routines. */ |
|
typedef enum { |
CB_RC_OK = 0, |
/* generic error */ |
CB_RC_ERR, |
/* either file not found or no read access */ |
CB_RC_ACCESS, |
CB_RC_NO_MEM |
} CB_RC; |
|
/* Read in target values for system call numbers, errno values, signals. */ |
CB_RC cb_read_target_syscall_maps PARAMS ((host_callback *, const char *)); |
|
/* Translate target to host syscall function numbers. */ |
int cb_target_to_host_syscall PARAMS ((host_callback *, int)); |
|
/* Translate host to target errno value. */ |
int cb_host_to_target_errno PARAMS ((host_callback *, int)); |
|
/* Translate target to host open flags. */ |
int cb_target_to_host_open PARAMS ((host_callback *, int)); |
|
/* Translate target signal number to host. */ |
int cb_target_to_host_signal PARAMS ((host_callback *, int)); |
|
/* Translate host signal number to target. */ |
int cb_host_to_target_signal PARAMS ((host_callback *, int)); |
|
/* Translate host stat struct to target. |
If stat struct ptr is NULL, just compute target stat struct size. |
Result is size of target stat struct or 0 if error. */ |
int cb_host_to_target_stat PARAMS ((host_callback *, const struct stat *, PTR)); |
|
/* Translate a value to target endian. */ |
void cb_store_target_endian PARAMS ((host_callback *, char *, int, long)); |
|
/* Tests for special fds. */ |
int cb_is_stdin PARAMS ((host_callback *, int)); |
int cb_is_stdout PARAMS ((host_callback *, int)); |
int cb_is_stderr PARAMS ((host_callback *, int)); |
|
/* Perform a system call. */ |
CB_RC cb_syscall PARAMS ((host_callback *, CB_SYSCALL *)); |
|
#endif |
/signals.h
0,0 → 1,234
/* Target signal numbers for GDB and the GDB remote protocol. |
Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, |
1998, 1999, 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#ifndef GDB_SIGNALS_H |
#define GDB_SIGNALS_H |
|
/* The numbering of these signals is chosen to match traditional unix |
signals (insofar as various unices use the same numbers, anyway). |
It is also the numbering of the GDB remote protocol. Other remote |
protocols, if they use a different numbering, should make sure to |
translate appropriately. |
|
Since these numbers have actually made it out into other software |
(stubs, etc.), you mustn't disturb the assigned numbering. If you |
need to add new signals here, add them to the end of the explicitly |
numbered signals, at the comment marker. Add them unconditionally, |
not within any #if or #ifdef. |
|
This is based strongly on Unix/POSIX signals for several reasons: |
(1) This set of signals represents a widely-accepted attempt to |
represent events of this sort in a portable fashion, (2) we want a |
signal to make it from wait to child_wait to the user intact, (3) many |
remote protocols use a similar encoding. However, it is |
recognized that this set of signals has limitations (such as not |
distinguishing between various kinds of SIGSEGV, or not |
distinguishing hitting a breakpoint from finishing a single step). |
So in the future we may get around this either by adding additional |
signals for breakpoint, single-step, etc., or by adding signal |
codes; the latter seems more in the spirit of what BSD, System V, |
etc. are doing to address these issues. */ |
|
/* For an explanation of what each signal means, see |
target_signal_to_string. */ |
|
enum target_signal |
{ |
/* Used some places (e.g. stop_signal) to record the concept that |
there is no signal. */ |
TARGET_SIGNAL_0 = 0, |
TARGET_SIGNAL_FIRST = 0, |
TARGET_SIGNAL_HUP = 1, |
TARGET_SIGNAL_INT = 2, |
TARGET_SIGNAL_QUIT = 3, |
TARGET_SIGNAL_ILL = 4, |
TARGET_SIGNAL_TRAP = 5, |
TARGET_SIGNAL_ABRT = 6, |
TARGET_SIGNAL_EMT = 7, |
TARGET_SIGNAL_FPE = 8, |
TARGET_SIGNAL_KILL = 9, |
TARGET_SIGNAL_BUS = 10, |
TARGET_SIGNAL_SEGV = 11, |
TARGET_SIGNAL_SYS = 12, |
TARGET_SIGNAL_PIPE = 13, |
TARGET_SIGNAL_ALRM = 14, |
TARGET_SIGNAL_TERM = 15, |
TARGET_SIGNAL_URG = 16, |
TARGET_SIGNAL_STOP = 17, |
TARGET_SIGNAL_TSTP = 18, |
TARGET_SIGNAL_CONT = 19, |
TARGET_SIGNAL_CHLD = 20, |
TARGET_SIGNAL_TTIN = 21, |
TARGET_SIGNAL_TTOU = 22, |
TARGET_SIGNAL_IO = 23, |
TARGET_SIGNAL_XCPU = 24, |
TARGET_SIGNAL_XFSZ = 25, |
TARGET_SIGNAL_VTALRM = 26, |
TARGET_SIGNAL_PROF = 27, |
TARGET_SIGNAL_WINCH = 28, |
TARGET_SIGNAL_LOST = 29, |
TARGET_SIGNAL_USR1 = 30, |
TARGET_SIGNAL_USR2 = 31, |
TARGET_SIGNAL_PWR = 32, |
/* Similar to SIGIO. Perhaps they should have the same number. */ |
TARGET_SIGNAL_POLL = 33, |
TARGET_SIGNAL_WIND = 34, |
TARGET_SIGNAL_PHONE = 35, |
TARGET_SIGNAL_WAITING = 36, |
TARGET_SIGNAL_LWP = 37, |
TARGET_SIGNAL_DANGER = 38, |
TARGET_SIGNAL_GRANT = 39, |
TARGET_SIGNAL_RETRACT = 40, |
TARGET_SIGNAL_MSG = 41, |
TARGET_SIGNAL_SOUND = 42, |
TARGET_SIGNAL_SAK = 43, |
TARGET_SIGNAL_PRIO = 44, |
TARGET_SIGNAL_REALTIME_33 = 45, |
TARGET_SIGNAL_REALTIME_34 = 46, |
TARGET_SIGNAL_REALTIME_35 = 47, |
TARGET_SIGNAL_REALTIME_36 = 48, |
TARGET_SIGNAL_REALTIME_37 = 49, |
TARGET_SIGNAL_REALTIME_38 = 50, |
TARGET_SIGNAL_REALTIME_39 = 51, |
TARGET_SIGNAL_REALTIME_40 = 52, |
TARGET_SIGNAL_REALTIME_41 = 53, |
TARGET_SIGNAL_REALTIME_42 = 54, |
TARGET_SIGNAL_REALTIME_43 = 55, |
TARGET_SIGNAL_REALTIME_44 = 56, |
TARGET_SIGNAL_REALTIME_45 = 57, |
TARGET_SIGNAL_REALTIME_46 = 58, |
TARGET_SIGNAL_REALTIME_47 = 59, |
TARGET_SIGNAL_REALTIME_48 = 60, |
TARGET_SIGNAL_REALTIME_49 = 61, |
TARGET_SIGNAL_REALTIME_50 = 62, |
TARGET_SIGNAL_REALTIME_51 = 63, |
TARGET_SIGNAL_REALTIME_52 = 64, |
TARGET_SIGNAL_REALTIME_53 = 65, |
TARGET_SIGNAL_REALTIME_54 = 66, |
TARGET_SIGNAL_REALTIME_55 = 67, |
TARGET_SIGNAL_REALTIME_56 = 68, |
TARGET_SIGNAL_REALTIME_57 = 69, |
TARGET_SIGNAL_REALTIME_58 = 70, |
TARGET_SIGNAL_REALTIME_59 = 71, |
TARGET_SIGNAL_REALTIME_60 = 72, |
TARGET_SIGNAL_REALTIME_61 = 73, |
TARGET_SIGNAL_REALTIME_62 = 74, |
TARGET_SIGNAL_REALTIME_63 = 75, |
|
/* Used internally by Solaris threads. See signal(5) on Solaris. */ |
TARGET_SIGNAL_CANCEL = 76, |
|
/* Yes, this pains me, too. But LynxOS didn't have SIG32, and now |
GNU/Linux does, and we can't disturb the numbering, since it's |
part of the remote protocol. Note that in some GDB's |
TARGET_SIGNAL_REALTIME_32 is number 76. */ |
TARGET_SIGNAL_REALTIME_32, |
/* Yet another pain, IRIX 6 has SIG64. */ |
TARGET_SIGNAL_REALTIME_64, |
/* Yet another pain, GNU/Linux MIPS might go up to 128. */ |
TARGET_SIGNAL_REALTIME_65, |
TARGET_SIGNAL_REALTIME_66, |
TARGET_SIGNAL_REALTIME_67, |
TARGET_SIGNAL_REALTIME_68, |
TARGET_SIGNAL_REALTIME_69, |
TARGET_SIGNAL_REALTIME_70, |
TARGET_SIGNAL_REALTIME_71, |
TARGET_SIGNAL_REALTIME_72, |
TARGET_SIGNAL_REALTIME_73, |
TARGET_SIGNAL_REALTIME_74, |
TARGET_SIGNAL_REALTIME_75, |
TARGET_SIGNAL_REALTIME_76, |
TARGET_SIGNAL_REALTIME_77, |
TARGET_SIGNAL_REALTIME_78, |
TARGET_SIGNAL_REALTIME_79, |
TARGET_SIGNAL_REALTIME_80, |
TARGET_SIGNAL_REALTIME_81, |
TARGET_SIGNAL_REALTIME_82, |
TARGET_SIGNAL_REALTIME_83, |
TARGET_SIGNAL_REALTIME_84, |
TARGET_SIGNAL_REALTIME_85, |
TARGET_SIGNAL_REALTIME_86, |
TARGET_SIGNAL_REALTIME_87, |
TARGET_SIGNAL_REALTIME_88, |
TARGET_SIGNAL_REALTIME_89, |
TARGET_SIGNAL_REALTIME_90, |
TARGET_SIGNAL_REALTIME_91, |
TARGET_SIGNAL_REALTIME_92, |
TARGET_SIGNAL_REALTIME_93, |
TARGET_SIGNAL_REALTIME_94, |
TARGET_SIGNAL_REALTIME_95, |
TARGET_SIGNAL_REALTIME_96, |
TARGET_SIGNAL_REALTIME_97, |
TARGET_SIGNAL_REALTIME_98, |
TARGET_SIGNAL_REALTIME_99, |
TARGET_SIGNAL_REALTIME_100, |
TARGET_SIGNAL_REALTIME_101, |
TARGET_SIGNAL_REALTIME_102, |
TARGET_SIGNAL_REALTIME_103, |
TARGET_SIGNAL_REALTIME_104, |
TARGET_SIGNAL_REALTIME_105, |
TARGET_SIGNAL_REALTIME_106, |
TARGET_SIGNAL_REALTIME_107, |
TARGET_SIGNAL_REALTIME_108, |
TARGET_SIGNAL_REALTIME_109, |
TARGET_SIGNAL_REALTIME_110, |
TARGET_SIGNAL_REALTIME_111, |
TARGET_SIGNAL_REALTIME_112, |
TARGET_SIGNAL_REALTIME_113, |
TARGET_SIGNAL_REALTIME_114, |
TARGET_SIGNAL_REALTIME_115, |
TARGET_SIGNAL_REALTIME_116, |
TARGET_SIGNAL_REALTIME_117, |
TARGET_SIGNAL_REALTIME_118, |
TARGET_SIGNAL_REALTIME_119, |
TARGET_SIGNAL_REALTIME_120, |
TARGET_SIGNAL_REALTIME_121, |
TARGET_SIGNAL_REALTIME_122, |
TARGET_SIGNAL_REALTIME_123, |
TARGET_SIGNAL_REALTIME_124, |
TARGET_SIGNAL_REALTIME_125, |
TARGET_SIGNAL_REALTIME_126, |
TARGET_SIGNAL_REALTIME_127, |
|
TARGET_SIGNAL_INFO, |
|
/* Some signal we don't know about. */ |
TARGET_SIGNAL_UNKNOWN, |
|
/* Use whatever signal we use when one is not specifically specified |
(for passing to proceed and so on). */ |
TARGET_SIGNAL_DEFAULT, |
|
/* Mach exceptions. In versions of GDB before 5.2, these were just before |
TARGET_SIGNAL_INFO if you were compiling on a Mach host (and missing |
otherwise). */ |
TARGET_EXC_BAD_ACCESS, |
TARGET_EXC_BAD_INSTRUCTION, |
TARGET_EXC_ARITHMETIC, |
TARGET_EXC_EMULATION, |
TARGET_EXC_SOFTWARE, |
TARGET_EXC_BREAKPOINT, |
|
/* If you are adding a new signal, add it just above this comment. */ |
|
/* Last and unused enum value, for sizing arrays, etc. */ |
TARGET_SIGNAL_LAST |
}; |
|
#endif /* #ifndef GDB_SIGNALS_H */ |
/sim-d10v.h
0,0 → 1,141
/* This file defines the interface between the d10v simulator and gdb. |
|
Copyright 1999, 2002, 2007, 2008 Free Software Foundation, Inc. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#if !defined (SIM_D10V_H) |
#define SIM_D10V_H |
|
#ifdef __cplusplus |
extern "C" { // } |
#endif |
|
/* GDB interprets addresses as: |
|
0x00xxxxxx: Physical unified memory segment (Unified memory) |
0x01xxxxxx: Physical instruction memory segment (On-chip insn memory) |
0x02xxxxxx: Physical data memory segment (On-chip data memory) |
0x10xxxxxx: Logical data address segment (DMAP translated memory) |
0x11xxxxxx: Logical instruction address segment (IMAP translated memory) |
|
The remote d10v board interprets addresses as: |
|
0x00xxxxxx: Physical unified memory segment (Unified memory) |
0x01xxxxxx: Physical instruction memory segment (On-chip insn memory) |
0x02xxxxxx: Physical data memory segment (On-chip data memory) |
|
The following translate a virtual DMAP/IMAP offset into a physical |
memory segment assigning the translated address to PHYS. Since a |
memory access may cross a page boundrary the number of bytes for |
which the translation is applicable (or 0 for an invalid virtual |
offset) is returned. */ |
|
enum |
{ |
SIM_D10V_MEMORY_UNIFIED = 0x00000000, |
SIM_D10V_MEMORY_INSN = 0x01000000, |
SIM_D10V_MEMORY_DATA = 0x02000000, |
SIM_D10V_MEMORY_DMAP = 0x10000000, |
SIM_D10V_MEMORY_IMAP = 0x11000000 |
}; |
|
extern unsigned long sim_d10v_translate_dmap_addr |
(unsigned long offset, |
int nr_bytes, |
unsigned long *phys, |
void *regcache, |
unsigned long (*dmap_register) (void *regcache, int reg_nr)); |
|
extern unsigned long sim_d10v_translate_imap_addr |
(unsigned long offset, |
int nr_bytes, |
unsigned long *phys, |
void *regcache, |
unsigned long (*imap_register) (void *regcache, int reg_nr)); |
|
extern unsigned long sim_d10v_translate_addr |
(unsigned long vaddr, |
int nr_bytes, |
unsigned long *phys, |
void *regcache, |
unsigned long (*dmap_register) (void *regcache, int reg_nr), |
unsigned long (*imap_register) (void *regcache, int reg_nr)); |
|
|
/* The simulator makes use of the following register information. */ |
|
enum sim_d10v_regs |
{ |
SIM_D10V_R0_REGNUM, |
SIM_D10V_R1_REGNUM, |
SIM_D10V_R2_REGNUM, |
SIM_D10V_R3_REGNUM, |
SIM_D10V_R4_REGNUM, |
SIM_D10V_R5_REGNUM, |
SIM_D10V_R6_REGNUM, |
SIM_D10V_R7_REGNUM, |
SIM_D10V_R8_REGNUM, |
SIM_D10V_R9_REGNUM, |
SIM_D10V_R10_REGNUM, |
SIM_D10V_R11_REGNUM, |
SIM_D10V_R12_REGNUM, |
SIM_D10V_R13_REGNUM, |
SIM_D10V_R14_REGNUM, |
SIM_D10V_R15_REGNUM, |
SIM_D10V_CR0_REGNUM, |
SIM_D10V_CR1_REGNUM, |
SIM_D10V_CR2_REGNUM, |
SIM_D10V_CR3_REGNUM, |
SIM_D10V_CR4_REGNUM, |
SIM_D10V_CR5_REGNUM, |
SIM_D10V_CR6_REGNUM, |
SIM_D10V_CR7_REGNUM, |
SIM_D10V_CR8_REGNUM, |
SIM_D10V_CR9_REGNUM, |
SIM_D10V_CR10_REGNUM, |
SIM_D10V_CR11_REGNUM, |
SIM_D10V_CR12_REGNUM, |
SIM_D10V_CR13_REGNUM, |
SIM_D10V_CR14_REGNUM, |
SIM_D10V_CR15_REGNUM, |
SIM_D10V_A0_REGNUM, |
SIM_D10V_A1_REGNUM, |
SIM_D10V_SPI_REGNUM, |
SIM_D10V_SPU_REGNUM, |
SIM_D10V_IMAP0_REGNUM, |
SIM_D10V_IMAP1_REGNUM, |
SIM_D10V_DMAP0_REGNUM, |
SIM_D10V_DMAP1_REGNUM, |
SIM_D10V_DMAP2_REGNUM, |
SIM_D10V_DMAP3_REGNUM, |
SIM_D10V_TS2_DMAP_REGNUM |
}; |
|
enum |
{ |
SIM_D10V_NR_R_REGS = 16, |
SIM_D10V_NR_A_REGS = 2, |
SIM_D10V_NR_IMAP_REGS = 2, |
SIM_D10V_NR_DMAP_REGS = 4, |
SIM_D10V_NR_CR_REGS = 16 |
}; |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif |
/sim-sh.h
0,0 → 1,169
/* This file defines the interface between the sh simulator and gdb. |
Copyright (C) 2000, 2002, 2004, 2007, 2008 Free Software Foundation, Inc. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#if !defined (SIM_SH_H) |
#define SIM_SH_H |
|
#ifdef __cplusplus |
extern "C" { // } |
#endif |
|
/* The simulator makes use of the following register information. */ |
|
enum |
{ |
SIM_SH_R0_REGNUM = 0, |
SIM_SH_R1_REGNUM, |
SIM_SH_R2_REGNUM, |
SIM_SH_R3_REGNUM, |
SIM_SH_R4_REGNUM, |
SIM_SH_R5_REGNUM, |
SIM_SH_R6_REGNUM, |
SIM_SH_R7_REGNUM, |
SIM_SH_R8_REGNUM, |
SIM_SH_R9_REGNUM, |
SIM_SH_R10_REGNUM, |
SIM_SH_R11_REGNUM, |
SIM_SH_R12_REGNUM, |
SIM_SH_R13_REGNUM, |
SIM_SH_R14_REGNUM, |
SIM_SH_R15_REGNUM, |
SIM_SH_PC_REGNUM, |
SIM_SH_PR_REGNUM, |
SIM_SH_GBR_REGNUM, |
SIM_SH_VBR_REGNUM, |
SIM_SH_MACH_REGNUM, |
SIM_SH_MACL_REGNUM, |
SIM_SH_SR_REGNUM, |
SIM_SH_FPUL_REGNUM, |
SIM_SH_FPSCR_REGNUM, |
SIM_SH_FR0_REGNUM, /* FRn registers: sh3e / sh4 */ |
SIM_SH_FR1_REGNUM, |
SIM_SH_FR2_REGNUM, |
SIM_SH_FR3_REGNUM, |
SIM_SH_FR4_REGNUM, |
SIM_SH_FR5_REGNUM, |
SIM_SH_FR6_REGNUM, |
SIM_SH_FR7_REGNUM, |
SIM_SH_FR8_REGNUM, |
SIM_SH_FR9_REGNUM, |
SIM_SH_FR10_REGNUM, |
SIM_SH_FR11_REGNUM, |
SIM_SH_FR12_REGNUM, |
SIM_SH_FR13_REGNUM, |
SIM_SH_FR14_REGNUM, |
SIM_SH_FR15_REGNUM, |
SIM_SH_SSR_REGNUM, /* sh3{,e,-dsp}, sh4 */ |
SIM_SH_SPC_REGNUM, /* sh3{,e,-dsp}, sh4 */ |
SIM_SH_R0_BANK0_REGNUM, /* SIM_SH_Rn_BANKm_REGNUM: sh3[e] / sh4 */ |
SIM_SH_R1_BANK0_REGNUM, |
SIM_SH_R2_BANK0_REGNUM, |
SIM_SH_R3_BANK0_REGNUM, |
SIM_SH_R4_BANK0_REGNUM, |
SIM_SH_R5_BANK0_REGNUM, |
SIM_SH_R6_BANK0_REGNUM, |
SIM_SH_R7_BANK0_REGNUM, |
SIM_SH_R0_BANK1_REGNUM, |
SIM_SH_R1_BANK1_REGNUM, |
SIM_SH_R2_BANK1_REGNUM, |
SIM_SH_R3_BANK1_REGNUM, |
SIM_SH_R4_BANK1_REGNUM, |
SIM_SH_R5_BANK1_REGNUM, |
SIM_SH_R6_BANK1_REGNUM, |
SIM_SH_R7_BANK1_REGNUM, |
SIM_SH_XF0_REGNUM, |
SIM_SH_XF1_REGNUM, |
SIM_SH_XF2_REGNUM, |
SIM_SH_XF3_REGNUM, |
SIM_SH_XF4_REGNUM, |
SIM_SH_XF5_REGNUM, |
SIM_SH_XF6_REGNUM, |
SIM_SH_XF7_REGNUM, |
SIM_SH_XF8_REGNUM, |
SIM_SH_XF9_REGNUM, |
SIM_SH_XF10_REGNUM, |
SIM_SH_XF11_REGNUM, |
SIM_SH_XF12_REGNUM, |
SIM_SH_XF13_REGNUM, |
SIM_SH_XF14_REGNUM, |
SIM_SH_XF15_REGNUM, |
SIM_SH_SGR_REGNUM, |
SIM_SH_DBR_REGNUM, |
SIM_SH4_NUM_REGS, /* 77 */ |
|
/* sh[3]-dsp */ |
SIM_SH_DSR_REGNUM, |
SIM_SH_A0G_REGNUM, |
SIM_SH_A0_REGNUM, |
SIM_SH_A1G_REGNUM, |
SIM_SH_A1_REGNUM, |
SIM_SH_M0_REGNUM, |
SIM_SH_M1_REGNUM, |
SIM_SH_X0_REGNUM, |
SIM_SH_X1_REGNUM, |
SIM_SH_Y0_REGNUM, |
SIM_SH_Y1_REGNUM, |
SIM_SH_MOD_REGNUM, |
SIM_SH_RS_REGNUM, |
SIM_SH_RE_REGNUM, |
SIM_SH_R0_BANK_REGNUM, |
SIM_SH_R1_BANK_REGNUM, |
SIM_SH_R2_BANK_REGNUM, |
SIM_SH_R3_BANK_REGNUM, |
SIM_SH_R4_BANK_REGNUM, |
SIM_SH_R5_BANK_REGNUM, |
SIM_SH_R6_BANK_REGNUM, |
SIM_SH_R7_BANK_REGNUM, |
/* 109..127: room for expansion. */ |
SIM_SH_TBR_REGNUM, |
SIM_SH_IBNR_REGNUM, |
SIM_SH_IBCR_REGNUM, |
SIM_SH_BANK_REGNUM, |
SIM_SH_BANK_MACL_REGNUM, |
SIM_SH_BANK_GBR_REGNUM, |
SIM_SH_BANK_PR_REGNUM, |
SIM_SH_BANK_IVN_REGNUM, |
SIM_SH_BANK_MACH_REGNUM |
}; |
|
enum |
{ |
SIM_SH64_R0_REGNUM = 0, |
SIM_SH64_SP_REGNUM = 15, |
SIM_SH64_PC_REGNUM = 64, |
SIM_SH64_SR_REGNUM = 65, |
SIM_SH64_SSR_REGNUM = 66, |
SIM_SH64_SPC_REGNUM = 67, |
SIM_SH64_TR0_REGNUM = 68, |
SIM_SH64_FPCSR_REGNUM = 76, |
SIM_SH64_FR0_REGNUM = 77 |
}; |
|
enum |
{ |
SIM_SH64_NR_REGS = 141, /* total number of architectural registers */ |
SIM_SH64_NR_R_REGS = 64, /* number of general registers */ |
SIM_SH64_NR_TR_REGS = 8, /* number of target registers */ |
SIM_SH64_NR_FP_REGS = 64 /* number of floating point registers */ |
}; |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif |
/ChangeLog
0,0 → 1,179
2008-02-12 M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com> |
|
* sim-cr16.h: New file. |
|
2008-01-01 Daniel Jacobowitz <dan@codesourcery.com> |
|
Updated copyright notices for most files. |
|
2007-10-15 Daniel Jacobowitz <dan@codesourcery.com> |
|
* sim-ppc.h (sim_spr_register_name): New prototype. |
|
2007-10-11 Jesper Nilsson <jesper.nilsson@axis.com> |
|
* callback.h (cb_is_stdin, cb_is_stdout, cb_is_stderr): Add prototypes. |
|
2007-08-23 Joel Brobecker <brobecker@adacore.com> |
|
Switch the license of all .h files to GPLv3. |
|
2007-01-09 Daniel Jacobowitz <dan@codesourcery.com> |
|
Updated copyright notices for most files. |
|
2005-07-08 Ben Elliston <bje@au.ibm.com> |
|
* callback.h: Remove ANSI_PROTOTYPES conditional code. |
|
2005-01-28 Hans-Peter Nilsson <hp@axis.com> |
|
* callback.h (struct host_callback_struct): New members pipe, |
pipe_empty, pipe_nonempty, ispipe, pipe_buffer and |
target_sizeof_int. |
(CB_SYS_pipe): New macro. |
|
* callback.h: Include "bfd.h". |
(struct host_callback_struct): New member target_endian. |
(cb_store_target_endian): Declare. |
|
2004-12-15 Hans-Peter Nilsson <hp@axis.com> |
|
* callback.h (CB_SYS_truncate, CB_SYS_ftruncate): New macros. |
|
2004-12-13 Hans-Peter Nilsson <hp@axis.com> |
|
* callback.h (struct host_callback_struct): New member lstat. |
(CB_SYS_lstat): New macro. |
(CB_SYS_rename): New macro. |
|
2004-09-08 Michael Snyder <msnyder@redhat.com> |
|
Commited by Corinna Vinschen <vinschen@redhat.com> |
* sim-sh.h: Add new sh2a banked registers. |
|
2004-08-04 Andrew Cagney <cagney@gnu.org> |
|
* sim-ppc.h: Add extern "C" wrapper. |
(enum sim_ppc_regnum): Add full list of SPRs. |
|
2004-08-04 Jim Blandy <jimb@redhat.com> |
|
* sim-ppc.h: New file. |
|
2004-06-25 J"orn Rennecke <joern.rennecke@superh.com> |
|
* callback.h (host_callback_struct): Replace members fdopen and |
alwaysopen with fd_buddy. |
[sim/common: * callback.c: Changed all users. ] |
|
2003-10-31 Kevin Buettner <kevin@redhat.com> |
|
* sim-frv.h: New file. |
|
2003-10-15 J"orn Rennecke <joern.rennecke@superh.com> |
|
* callback.h (struct host_callback_struct): New members ftruncate |
and truncate. |
|
2003-06-10 Corinna Vinschen <vinschen@redhat.com> |
|
* gdb/fileio.h: New file. |
|
2003-05-07 Andrew Cagney <cagney@redhat.com> |
|
* sim-d10v.h (sim_d10v_translate_addr): Add regcache parameter. |
(sim_d10v_translate_imap_addr): Add regcache parameter. |
(sim_d10v_translate_dmap_addr): Ditto. |
|
2003-03-27 Nick Clifton <nickc@redhat.com> |
|
* sim-arm.h (sim_arm_regs): Add iWMMXt registers. |
|
2003-03-20 Nick Clifton <nickc@redhat.com> |
|
* sim-arm.h (sim_arm_regs): Add Maverick co-processor |
registers. |
|
2003-02-27 Andrew Cagney <cagney@redhat.com> |
|
* remote-sim.h (sim_open, sim_load, sim_create_inferior): Rename |
_bfd to bfd. |
|
2003-02-20 Andrew Cagney <ac131313@redhat.com> |
|
* remote-sim.h (SIM_RC): Delete unused SIM_RC_UNKNOWN_BREAKPOINT, |
SIM_RC_INSUFFICIENT_RESOURCES and SIM_RC_DUPLICATE_BREAKPOINT. |
(sim_set_breakpoint, sim_clear_breakpoint): Delete declarations. |
(sim_clear_all_breakpoints, sim_enable_breakpoint): Ditto. |
(sim_enable_all_breakpoints, sim_disable_breakpoint): Ditto. |
(sim_disable_all_breakpoints): Ditto. |
|
2002-12-26 Kazu Hirata <kazu@cs.umass.edu> |
|
* sim-h8300.h: Remove ^M. |
|
2002-07-29 Andrey Volkov <avolkov@transas.com> |
|
* sim-h8300.h: Rename all enums from H8300_ to SIM_H8300_ |
prefix. |
|
2002-07-23 Andrey Volkov <avolkov@transas.com> |
|
* sim-h8300.h: New file. |
|
2002-07-17 Andrew Cagney <cagney@redhat.com> |
|
* remote-sim.h: Update copyright. |
(sim_set_callbacks, sim_size, sim_trace) |
(sim_set_trace, sim_set_profile_size, sim_kill): Delete. Moved to |
"sim/common/run-sim.h". |
|
Wed Jul 17 19:36:38 2002 J"orn Rennecke <joern.rennecke@superh.com> |
|
* sim-sh.h: Add enum constants for sh[1-4], sh3e, sh3?-dsp, |
renumbering the sh-dsp registers to use distinct numbers. |
|
2002-06-15 Andrew Cagney <ac131313@redhat.com> |
|
* sim-arm.h (enum sim_arm_regs): Rename sim_arm_regnum. |
|
2002-06-12 Andrew Cagney <ac131313@redhat.com> |
|
* sim-arm.h: New file. |
|
2002-06-08 Andrew Cagney <cagney@redhat.com> |
|
* callback.h: Copy to here from directory above. |
* remote-sim.h: Copy to here from directory above. |
|
2002-06-01 Andrew Cagney <ac131313@redhat.com> |
|
* sim-d10v.h (sim_d10v_regs): Expand to include all registers. |
Update copyright. |
|
2002-05-23 Andrew Cagney <ac131313@redhat.com> |
|
* sim-d10v.h: New file. Moved from include/sim-d10v.h. |
|
2002-05-10 Elena Zannoni <ezannoni@redhat.com> |
|
* sim-sh.h: New file, for sh gdb<->sim interface. |
|
2002-05-09 Daniel Jacobowitz <drow@mvista.com> |
|
* signals.h: Update comments. |
(enum target_signal): Remove conditional compilation around |
Mach-specific signals. Move them to after TARGET_SIGNAL_DEFAULT. |
|
2002-03-10 Daniel Jacobowitz <drow@mvista.com> |
|
* signals.h: New file, from gdb/defs.h. |
|
|
Local Variables: |
mode: change-log |
left-margin: 8 |
fill-column: 74 |
version-control: never |
End: |
/remote-sim.h
0,0 → 1,281
/* This file defines the interface between the simulator and gdb. |
|
Copyright 1993, 1994, 1996, 1997, 1998, 2000, 2002, 2007, 2008 |
Free Software Foundation, Inc. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#if !defined (REMOTE_SIM_H) |
#define REMOTE_SIM_H 1 |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
/* This file is used when building stand-alone simulators, so isolate this |
file from gdb. */ |
|
/* Pick up CORE_ADDR_TYPE if defined (from gdb), otherwise use same value as |
gdb does (unsigned int - from defs.h). */ |
|
#ifndef CORE_ADDR_TYPE |
typedef unsigned int SIM_ADDR; |
#else |
typedef CORE_ADDR_TYPE SIM_ADDR; |
#endif |
|
|
/* Semi-opaque type used as result of sim_open and passed back to all |
other routines. "desc" is short for "descriptor". |
It is up to each simulator to define `sim_state'. */ |
|
typedef struct sim_state *SIM_DESC; |
|
|
/* Values for `kind' arg to sim_open. */ |
|
typedef enum { |
SIM_OPEN_STANDALONE, /* simulator used standalone (run.c) */ |
SIM_OPEN_DEBUG /* simulator used by debugger (gdb) */ |
} SIM_OPEN_KIND; |
|
|
/* Return codes from various functions. */ |
|
typedef enum { |
SIM_RC_FAIL = 0, |
SIM_RC_OK = 1 |
} SIM_RC; |
|
|
/* The bfd struct, as an opaque type. */ |
|
struct bfd; |
|
|
/* Main simulator entry points. */ |
|
|
/* Create a fully initialized simulator instance. |
|
(This function is called when the simulator is selected from the |
gdb command line.) |
|
KIND specifies how the simulator shall be used. Currently there |
are only two kinds: stand-alone and debug. |
|
CALLBACK specifies a standard host callback (defined in callback.h). |
|
ABFD, when non NULL, designates a target program. The program is |
not loaded. |
|
ARGV is a standard ARGV pointer such as that passed from the |
command line. The syntax of the argument list is is assumed to be |
``SIM-PROG { SIM-OPTION } [ TARGET-PROGRAM { TARGET-OPTION } ]''. |
The trailing TARGET-PROGRAM and args are only valid for a |
stand-alone simulator. |
|
On success, the result is a non NULL descriptor that shall be |
passed to the other sim_foo functions. While the simulator |
configuration can be parameterized by (in decreasing precedence) |
ARGV's SIM-OPTION, ARGV's TARGET-PROGRAM and the ABFD argument, the |
successful creation of the simulator shall not dependent on the |
presence of any of these arguments/options. |
|
Hardware simulator: The created simulator shall be sufficiently |
initialized to handle, with out restrictions any client requests |
(including memory reads/writes, register fetch/stores and a |
resume). |
|
Process simulator: that process is not created until a call to |
sim_create_inferior. FIXME: What should the state of the simulator |
be? */ |
|
SIM_DESC sim_open PARAMS ((SIM_OPEN_KIND kind, struct host_callback_struct *callback, struct bfd *abfd, char **argv)); |
|
|
/* Destory a simulator instance. |
|
QUITTING is non-zero if we cannot hang on errors. |
|
This may involve freeing target memory and closing any open files |
and mmap'd areas. You cannot assume sim_kill has already been |
called. */ |
|
void sim_close PARAMS ((SIM_DESC sd, int quitting)); |
|
|
/* Load program PROG into the simulators memory. |
|
If ABFD is non-NULL, the bfd for the file has already been opened. |
The result is a return code indicating success. |
|
Hardware simulator: Normally, each program section is written into |
memory according to that sections LMA using physical (direct) |
addressing. The exception being systems, such as PPC/CHRP, which |
support more complicated program loaders. A call to this function |
should not effect the state of the processor registers. Multiple |
calls to this function are permitted and have an accumulative |
effect. |
|
Process simulator: Calls to this function may be ignored. |
|
FIXME: Most hardware simulators load the image at the VMA using |
virtual addressing. |
|
FIXME: For some hardware targets, before a loaded program can be |
executed, it requires the manipulation of VM registers and tables. |
Such manipulation should probably (?) occure in |
sim_create_inferior. */ |
|
SIM_RC sim_load PARAMS ((SIM_DESC sd, char *prog, struct bfd *abfd, int from_tty)); |
|
|
/* Prepare to run the simulated program. |
|
ABFD, if not NULL, provides initial processor state information. |
ARGV and ENV, if non NULL, are NULL terminated lists of pointers. |
|
Hardware simulator: This function shall initialize the processor |
registers to a known value. The program counter and possibly stack |
pointer shall be set using information obtained from ABFD (or |
hardware reset defaults). ARGV and ENV, dependant on the target |
ABI, may be written to memory. |
|
Process simulator: After a call to this function, a new process |
instance shall exist. The TEXT, DATA, BSS and stack regions shall |
all be initialized, ARGV and ENV shall be written to process |
address space (according to the applicable ABI) and the program |
counter and stack pointer set accordingly. */ |
|
SIM_RC sim_create_inferior PARAMS ((SIM_DESC sd, struct bfd *abfd, char **argv, char **env)); |
|
|
/* Fetch LENGTH bytes of the simulated program's memory. Start fetch |
at virtual address MEM and store in BUF. Result is number of bytes |
read, or zero if error. */ |
|
int sim_read PARAMS ((SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length)); |
|
|
/* Store LENGTH bytes from BUF into the simulated program's |
memory. Store bytes starting at virtual address MEM. Result is |
number of bytes write, or zero if error. */ |
|
int sim_write PARAMS ((SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length)); |
|
|
/* Fetch register REGNO storing its raw (target endian) value in the |
LENGTH byte buffer BUF. Return the actual size of the register or |
zero if REGNO is not applicable. |
|
Legacy implementations ignore LENGTH and always return -1. |
|
If LENGTH does not match the size of REGNO no data is transfered |
(the actual register size is still returned). */ |
|
int sim_fetch_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf, int length)); |
|
|
/* Store register REGNO from the raw (target endian) value in BUF. |
Return the actual size of the register or zero if REGNO is not |
applicable. |
|
Legacy implementations ignore LENGTH and always return -1. |
|
If LENGTH does not match the size of REGNO no data is transfered |
(the actual register size is still returned). */ |
|
int sim_store_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf, int length)); |
|
|
/* Print whatever statistics the simulator has collected. |
|
VERBOSE is currently unused and must always be zero. */ |
|
void sim_info PARAMS ((SIM_DESC sd, int verbose)); |
|
|
/* Run (or resume) the simulated program. |
|
STEP, when non-zero indicates that only a single simulator cycle |
should be emulated. |
|
SIGGNAL, if non-zero is a (HOST) SIGRC value indicating the type of |
event (hardware interrupt, signal) to be delivered to the simulated |
program. |
|
Hardware simulator: If the SIGRC value returned by |
sim_stop_reason() is passed back to the simulator via SIGGNAL then |
the hardware simulator shall correctly deliver the hardware event |
indicated by that signal. If a value of zero is passed in then the |
simulation will continue as if there were no outstanding signal. |
The effect of any other SIGGNAL value is is implementation |
dependant. |
|
Process simulator: If SIGRC is non-zero then the corresponding |
signal is delivered to the simulated program and execution is then |
continued. A zero SIGRC value indicates that the program should |
continue as normal. */ |
|
void sim_resume PARAMS ((SIM_DESC sd, int step, int siggnal)); |
|
|
/* Asynchronous request to stop the simulation. |
A nonzero return indicates that the simulator is able to handle |
the request */ |
|
int sim_stop PARAMS ((SIM_DESC sd)); |
|
|
/* Fetch the REASON why the program stopped. |
|
SIM_EXITED: The program has terminated. SIGRC indicates the target |
dependant exit status. |
|
SIM_STOPPED: The program has stopped. SIGRC uses the host's signal |
numbering as a way of identifying the reaon: program interrupted by |
user via a sim_stop request (SIGINT); a breakpoint instruction |
(SIGTRAP); a completed single step (SIGTRAP); an internal error |
condition (SIGABRT); an illegal instruction (SIGILL); Access to an |
undefined memory region (SIGSEGV); Mis-aligned memory access |
(SIGBUS). For some signals information in addition to the signal |
number may be retained by the simulator (e.g. offending address), |
that information is not directly accessable via this interface. |
|
SIM_SIGNALLED: The program has been terminated by a signal. The |
simulator has encountered target code that causes the the program |
to exit with signal SIGRC. |
|
SIM_RUNNING, SIM_POLLING: The return of one of these values |
indicates a problem internal to the simulator. */ |
|
enum sim_stop { sim_running, sim_polling, sim_exited, sim_stopped, sim_signalled }; |
|
void sim_stop_reason PARAMS ((SIM_DESC sd, enum sim_stop *reason, int *sigrc)); |
|
|
/* Passthru for other commands that the simulator might support. |
Simulators should be prepared to deal with any combination of NULL |
or empty CMD. */ |
|
void sim_do_command PARAMS ((SIM_DESC sd, char *cmd)); |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif /* !defined (REMOTE_SIM_H) */ |
/sim-cr16.h
0,0 → 1,106
/* This file defines the interface between the cr16 simulator and gdb. |
|
Copyright 2008 Free Software Foundation, Inc. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program; if not, see <http://www.gnu.org/licenses/>. */ |
|
#if !defined (SIM_CR16_H) |
#define SIM_CR16_H |
|
#ifdef __cplusplus |
extern "C" { // } |
#endif |
|
enum |
{ |
SIM_CR16_MEMORY_UNIFIED = 0x00000000, |
SIM_CR16_MEMORY_INSN = 0x10000000, |
SIM_CR16_MEMORY_DATA = 0x10000000, |
SIM_CR16_MEMORY_DMAP = 0x10000000, |
SIM_CR16_MEMORY_IMAP = 0x10000000 |
}; |
|
extern unsigned long sim_cr16_translate_dmap_addr |
(unsigned long offset, |
int nr_bytes, |
unsigned long *phys, |
void *regcache, |
unsigned long (*dmap_register) (void *regcache, int reg_nr)); |
|
extern unsigned long sim_cr16_translate_imap_addr |
(unsigned long offset, |
int nr_bytes, |
unsigned long *phys, |
void *regcache, |
unsigned long (*imap_register) (void *regcache, int reg_nr)); |
|
extern unsigned long sim_cr16_translate_addr |
(unsigned long vaddr, |
int nr_bytes, |
unsigned long *phys, |
void *regcache, |
unsigned long (*dmap_register) (void *regcache, int reg_nr), |
unsigned long (*imap_register) (void *regcache, int reg_nr)); |
|
|
/* The simulator makes use of the following register information. */ |
|
enum sim_cr16_regs |
{ |
SIM_CR16_R0_REGNUM, |
SIM_CR16_R1_REGNUM, |
SIM_CR16_R2_REGNUM, |
SIM_CR16_R3_REGNUM, |
SIM_CR16_R4_REGNUM, |
SIM_CR16_R5_REGNUM, |
SIM_CR16_R6_REGNUM, |
SIM_CR16_R7_REGNUM, |
SIM_CR16_R8_REGNUM, |
SIM_CR16_R9_REGNUM, |
SIM_CR16_R10_REGNUM, |
SIM_CR16_R11_REGNUM, |
SIM_CR16_R12_REGNUM, |
SIM_CR16_R13_REGNUM, |
SIM_CR16_R14_REGNUM, |
SIM_CR16_R15_REGNUM, |
|
SIM_CR16_PC_REGNUM, |
SIM_CR16_ISP_REGNUM, |
SIM_CR16_USP_REGNUM, |
SIM_CR16_INTBASE_REGNUM, |
SIM_CR16_PSR_REGNUM, |
SIM_CR16_CFG_REGNUM, |
SIM_CR16_DBS_REGNUM, |
SIM_CR16_DCR_REGNUM, |
SIM_CR16_DSR_REGNUM, |
SIM_CR16_CAR0_REGNUM, |
SIM_CR16_CAR1_REGNUM |
}; |
|
enum |
{ |
SIM_CR16_NR_R_REGS = 16, |
SIM_CR16_NR_A_REGS = 2, |
SIM_CR16_NR_IMAP_REGS = 2, |
SIM_CR16_NR_DMAP_REGS = 4, |
SIM_CR16_NR_CR_REGS = 11 |
}; |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif |
/sim-frv.h
0,0 → 1,51
/* This file defines the interface between the FR-V simulator and GDB. |
|
Copyright 2003, 2007, 2008 Free Software Foundation, Inc. |
|
Contributed by Red Hat. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#if !defined (SIM_FRV_H) |
#define SIM_FRV_H |
|
#ifdef __cplusplus |
extern "C" { // } |
#endif |
|
enum sim_frv_regs |
{ |
SIM_FRV_GR0_REGNUM = 0, |
SIM_FRV_GR63_REGNUM = 63, |
SIM_FRV_FR0_REGNUM = 64, |
SIM_FRV_FR63_REGNUM = 127, |
SIM_FRV_PC_REGNUM = 128, |
|
/* An FR-V architecture may have up to 4096 special purpose registers |
(SPRs). In order to determine a specific constant used to access |
a particular SPR, one of the H_SPR_ prefixed offsets defined in |
opcodes/frv-desc.h should be added to SIM_FRV_SPR0_REGNUM. So, |
for example, the number that GDB uses to fetch the link register |
from the simulator is (SIM_FRV_SPR0_REGNUM + H_SPR_LR). */ |
SIM_FRV_SPR0_REGNUM = 129, |
SIM_FRV_SPR4095_REGNUM = SIM_FRV_SPR0_REGNUM + 4095 |
}; |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif |
/sim-arm.h
0,0 → 1,112
/* This file defines the interface between the Arm simulator and GDB. |
|
Copyright 2002, 2003, 2007, 2008 Free Software Foundation, Inc. |
|
Contributed by Red Hat. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#if !defined (SIM_ARM_H) |
#define SIM_ARM_H |
|
#ifdef __cplusplus |
extern "C" { // } |
#endif |
|
enum sim_arm_regs |
{ |
SIM_ARM_R0_REGNUM, |
SIM_ARM_R1_REGNUM, |
SIM_ARM_R2_REGNUM, |
SIM_ARM_R3_REGNUM, |
SIM_ARM_R4_REGNUM, |
SIM_ARM_R5_REGNUM, |
SIM_ARM_R6_REGNUM, |
SIM_ARM_R7_REGNUM, |
SIM_ARM_R8_REGNUM, |
SIM_ARM_R9_REGNUM, |
SIM_ARM_R10_REGNUM, |
SIM_ARM_R11_REGNUM, |
SIM_ARM_R12_REGNUM, |
SIM_ARM_R13_REGNUM, |
SIM_ARM_R14_REGNUM, |
SIM_ARM_R15_REGNUM, /* PC */ |
SIM_ARM_FP0_REGNUM, |
SIM_ARM_FP1_REGNUM, |
SIM_ARM_FP2_REGNUM, |
SIM_ARM_FP3_REGNUM, |
SIM_ARM_FP4_REGNUM, |
SIM_ARM_FP5_REGNUM, |
SIM_ARM_FP6_REGNUM, |
SIM_ARM_FP7_REGNUM, |
SIM_ARM_FPS_REGNUM, |
SIM_ARM_PS_REGNUM, |
SIM_ARM_MAVERIC_COP0R0_REGNUM, |
SIM_ARM_MAVERIC_COP0R1_REGNUM, |
SIM_ARM_MAVERIC_COP0R2_REGNUM, |
SIM_ARM_MAVERIC_COP0R3_REGNUM, |
SIM_ARM_MAVERIC_COP0R4_REGNUM, |
SIM_ARM_MAVERIC_COP0R5_REGNUM, |
SIM_ARM_MAVERIC_COP0R6_REGNUM, |
SIM_ARM_MAVERIC_COP0R7_REGNUM, |
SIM_ARM_MAVERIC_COP0R8_REGNUM, |
SIM_ARM_MAVERIC_COP0R9_REGNUM, |
SIM_ARM_MAVERIC_COP0R10_REGNUM, |
SIM_ARM_MAVERIC_COP0R11_REGNUM, |
SIM_ARM_MAVERIC_COP0R12_REGNUM, |
SIM_ARM_MAVERIC_COP0R13_REGNUM, |
SIM_ARM_MAVERIC_COP0R14_REGNUM, |
SIM_ARM_MAVERIC_COP0R15_REGNUM, |
SIM_ARM_MAVERIC_DSPSC_REGNUM, |
SIM_ARM_IWMMXT_COP0R0_REGNUM, |
SIM_ARM_IWMMXT_COP0R1_REGNUM, |
SIM_ARM_IWMMXT_COP0R2_REGNUM, |
SIM_ARM_IWMMXT_COP0R3_REGNUM, |
SIM_ARM_IWMMXT_COP0R4_REGNUM, |
SIM_ARM_IWMMXT_COP0R5_REGNUM, |
SIM_ARM_IWMMXT_COP0R6_REGNUM, |
SIM_ARM_IWMMXT_COP0R7_REGNUM, |
SIM_ARM_IWMMXT_COP0R8_REGNUM, |
SIM_ARM_IWMMXT_COP0R9_REGNUM, |
SIM_ARM_IWMMXT_COP0R10_REGNUM, |
SIM_ARM_IWMMXT_COP0R11_REGNUM, |
SIM_ARM_IWMMXT_COP0R12_REGNUM, |
SIM_ARM_IWMMXT_COP0R13_REGNUM, |
SIM_ARM_IWMMXT_COP0R14_REGNUM, |
SIM_ARM_IWMMXT_COP0R15_REGNUM, |
SIM_ARM_IWMMXT_COP1R0_REGNUM, |
SIM_ARM_IWMMXT_COP1R1_REGNUM, |
SIM_ARM_IWMMXT_COP1R2_REGNUM, |
SIM_ARM_IWMMXT_COP1R3_REGNUM, |
SIM_ARM_IWMMXT_COP1R4_REGNUM, |
SIM_ARM_IWMMXT_COP1R5_REGNUM, |
SIM_ARM_IWMMXT_COP1R6_REGNUM, |
SIM_ARM_IWMMXT_COP1R7_REGNUM, |
SIM_ARM_IWMMXT_COP1R8_REGNUM, |
SIM_ARM_IWMMXT_COP1R9_REGNUM, |
SIM_ARM_IWMMXT_COP1R10_REGNUM, |
SIM_ARM_IWMMXT_COP1R11_REGNUM, |
SIM_ARM_IWMMXT_COP1R12_REGNUM, |
SIM_ARM_IWMMXT_COP1R13_REGNUM, |
SIM_ARM_IWMMXT_COP1R14_REGNUM, |
SIM_ARM_IWMMXT_COP1R15_REGNUM |
}; |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif |
/fileio.h
0,0 → 1,144
/* Hosted File I/O interface definitions, for GDB, the GNU Debugger. |
|
Copyright 2003, 2007, 2008 Free Software Foundation, Inc. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#ifndef GDB_FILEIO_H_ |
#define GDB_FILEIO_H_ |
|
/* The following flags are defined to be independent of the host |
as well as the target side implementation of these constants. |
All constants are defined with a leading FILEIO_ in the name |
to allow the usage of these constants together with the |
corresponding implementation dependent constants in one module. */ |
|
/* open(2) flags */ |
#define FILEIO_O_RDONLY 0x0 |
#define FILEIO_O_WRONLY 0x1 |
#define FILEIO_O_RDWR 0x2 |
#define FILEIO_O_APPEND 0x8 |
#define FILEIO_O_CREAT 0x200 |
#define FILEIO_O_TRUNC 0x400 |
#define FILEIO_O_EXCL 0x800 |
#define FILEIO_O_SUPPORTED (FILEIO_O_RDONLY | FILEIO_O_WRONLY| \ |
FILEIO_O_RDWR | FILEIO_O_APPEND| \ |
FILEIO_O_CREAT | FILEIO_O_TRUNC| \ |
FILEIO_O_EXCL) |
|
/* mode_t bits */ |
#define FILEIO_S_IFREG 0100000 |
#define FILEIO_S_IFDIR 040000 |
#define FILEIO_S_IFCHR 020000 |
#define FILEIO_S_IRUSR 0400 |
#define FILEIO_S_IWUSR 0200 |
#define FILEIO_S_IXUSR 0100 |
#define FILEIO_S_IRWXU 0700 |
#define FILEIO_S_IRGRP 040 |
#define FILEIO_S_IWGRP 020 |
#define FILEIO_S_IXGRP 010 |
#define FILEIO_S_IRWXG 070 |
#define FILEIO_S_IROTH 04 |
#define FILEIO_S_IWOTH 02 |
#define FILEIO_S_IXOTH 01 |
#define FILEIO_S_IRWXO 07 |
#define FILEIO_S_SUPPORTED (FILEIO_S_IFREG|FILEIO_S_IFDIR| \ |
FILEIO_S_IRWXU|FILEIO_S_IRWXG| \ |
FILEIO_S_IRWXO) |
|
/* lseek(2) flags */ |
#define FILEIO_SEEK_SET 0 |
#define FILEIO_SEEK_CUR 1 |
#define FILEIO_SEEK_END 2 |
|
/* errno values */ |
#define FILEIO_EPERM 1 |
#define FILEIO_ENOENT 2 |
#define FILEIO_EINTR 4 |
#define FILEIO_EIO 5 |
#define FILEIO_EBADF 9 |
#define FILEIO_EACCES 13 |
#define FILEIO_EFAULT 14 |
#define FILEIO_EBUSY 16 |
#define FILEIO_EEXIST 17 |
#define FILEIO_ENODEV 19 |
#define FILEIO_ENOTDIR 20 |
#define FILEIO_EISDIR 21 |
#define FILEIO_EINVAL 22 |
#define FILEIO_ENFILE 23 |
#define FILEIO_EMFILE 24 |
#define FILEIO_EFBIG 27 |
#define FILEIO_ENOSPC 28 |
#define FILEIO_ESPIPE 29 |
#define FILEIO_EROFS 30 |
#define FILEIO_ENOSYS 88 |
#define FILEIO_ENAMETOOLONG 91 |
#define FILEIO_EUNKNOWN 9999 |
|
/* limits */ |
#define FILEIO_INT_MIN -2147483648L |
#define FILEIO_INT_MAX 2147483647L |
#define FILEIO_UINT_MAX 4294967295UL |
#define FILEIO_LONG_MIN -9223372036854775808LL |
#define FILEIO_LONG_MAX 9223372036854775807LL |
#define FILEIO_ULONG_MAX 18446744073709551615ULL |
|
/* Integral types as used in protocol. */ |
#if 0 |
typedef __int32_t fio_int_t; |
typedef __uint32_t fio_uint_t, fio_mode_t, fio_time_t; |
typedef __int64_t fio_long_t; |
typedef __uint64_t fio_ulong_t; |
#endif |
|
#define FIO_INT_LEN 4 |
#define FIO_UINT_LEN 4 |
#define FIO_MODE_LEN 4 |
#define FIO_TIME_LEN 4 |
#define FIO_LONG_LEN 8 |
#define FIO_ULONG_LEN 8 |
|
typedef char fio_int_t[FIO_INT_LEN]; |
typedef char fio_uint_t[FIO_UINT_LEN]; |
typedef char fio_mode_t[FIO_MODE_LEN]; |
typedef char fio_time_t[FIO_TIME_LEN]; |
typedef char fio_long_t[FIO_LONG_LEN]; |
typedef char fio_ulong_t[FIO_ULONG_LEN]; |
|
/* Struct stat as used in protocol. For complete independence |
of host/target systems, it's defined as an array with offsets |
to the members. */ |
|
struct fio_stat { |
fio_uint_t fst_dev; |
fio_uint_t fst_ino; |
fio_mode_t fst_mode; |
fio_uint_t fst_nlink; |
fio_uint_t fst_uid; |
fio_uint_t fst_gid; |
fio_uint_t fst_rdev; |
fio_ulong_t fst_size; |
fio_ulong_t fst_blksize; |
fio_ulong_t fst_blocks; |
fio_time_t fst_atime; |
fio_time_t fst_mtime; |
fio_time_t fst_ctime; |
}; |
|
struct fio_timeval { |
fio_time_t ftv_sec; |
fio_long_t ftv_usec; |
}; |
|
#endif /* GDB_FILEIO_H_ */ |
/sim-h8300.h
0,0 → 1,77
/* This file defines the interface between the h8300 simulator and gdb. |
Copyright (C) 2002, 2007, 2008 Free Software Foundation, Inc. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#if !defined (SIM_H8300_H) |
#define SIM_H8300_H |
|
#ifdef __cplusplus |
extern "C" { //} |
#endif |
|
/* The simulator makes use of the following register information. */ |
|
enum sim_h8300_regs |
{ |
/* Registers common to all the H8 variants. */ |
/* Start here: */ |
SIM_H8300_R0_REGNUM, |
SIM_H8300_R1_REGNUM, |
SIM_H8300_R2_REGNUM, |
SIM_H8300_R3_REGNUM, |
SIM_H8300_R4_REGNUM, |
SIM_H8300_R5_REGNUM, |
SIM_H8300_R6_REGNUM, |
SIM_H8300_R7_REGNUM, |
|
SIM_H8300_CCR_REGNUM, /* Contains processor status */ |
SIM_H8300_PC_REGNUM, /* Contains program counter */ |
/* End here */ |
|
SIM_H8300_EXR_REGNUM, /* Contains extended processor status |
H8S and higher */ |
SIM_H8300_MACL_REGNUM, /* Lower part of MAC register (26xx only)*/ |
SIM_H8300_MACH_REGNUM, /* High part of MAC register (26xx only) */ |
|
SIM_H8300_CYCLE_REGNUM, |
SIM_H8300_INST_REGNUM, |
SIM_H8300_TICK_REGNUM |
}; |
|
enum |
{ |
SIM_H8300_ARG_FIRST_REGNUM = SIM_H8300_R0_REGNUM, /* first reg in which an arg |
may be passed */ |
SIM_H8300_ARG_LAST_REGNUM = SIM_H8300_R3_REGNUM, /* last reg in which an arg |
may be passed */ |
SIM_H8300_FP_REGNUM = SIM_H8300_R6_REGNUM, /* Contain address of executing |
stack frame */ |
SIM_H8300_SP_REGNUM = SIM_H8300_R7_REGNUM /* Contains address of top of stack */ |
}; |
|
enum |
{ |
SIM_H8300_NUM_COMMON_REGS = 10, |
SIM_H8300_S_NUM_REGS = 13, |
SIM_H8300_NUM_REGS = 16 |
}; |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif /* SIM_H8300_H */ |
/sim-ppc.h
0,0 → 1,773
/* sim-ppc.h --- interface between PowerPC simulator and GDB. |
|
Copyright 2004, 2007, 2008 Free Software Foundation, Inc. |
|
Contributed by Red Hat. |
|
This file is part of GDB. |
|
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
#if !defined (SIM_PPC_H) |
#define SIM_PPC_H |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
/* The register access functions, sim_fetch_register and |
sim_store_register, use the following numbering for PowerPC |
registers. */ |
|
enum sim_ppc_regnum |
{ |
/* General-purpose registers, r0 -- r31. */ |
sim_ppc_r0_regnum, |
sim_ppc_r1_regnum, |
sim_ppc_r2_regnum, |
sim_ppc_r3_regnum, |
sim_ppc_r4_regnum, |
sim_ppc_r5_regnum, |
sim_ppc_r6_regnum, |
sim_ppc_r7_regnum, |
sim_ppc_r8_regnum, |
sim_ppc_r9_regnum, |
sim_ppc_r10_regnum, |
sim_ppc_r11_regnum, |
sim_ppc_r12_regnum, |
sim_ppc_r13_regnum, |
sim_ppc_r14_regnum, |
sim_ppc_r15_regnum, |
sim_ppc_r16_regnum, |
sim_ppc_r17_regnum, |
sim_ppc_r18_regnum, |
sim_ppc_r19_regnum, |
sim_ppc_r20_regnum, |
sim_ppc_r21_regnum, |
sim_ppc_r22_regnum, |
sim_ppc_r23_regnum, |
sim_ppc_r24_regnum, |
sim_ppc_r25_regnum, |
sim_ppc_r26_regnum, |
sim_ppc_r27_regnum, |
sim_ppc_r28_regnum, |
sim_ppc_r29_regnum, |
sim_ppc_r30_regnum, |
sim_ppc_r31_regnum, |
|
/* Floating-point registers, f0 -- f31. */ |
sim_ppc_f0_regnum, |
sim_ppc_f1_regnum, |
sim_ppc_f2_regnum, |
sim_ppc_f3_regnum, |
sim_ppc_f4_regnum, |
sim_ppc_f5_regnum, |
sim_ppc_f6_regnum, |
sim_ppc_f7_regnum, |
sim_ppc_f8_regnum, |
sim_ppc_f9_regnum, |
sim_ppc_f10_regnum, |
sim_ppc_f11_regnum, |
sim_ppc_f12_regnum, |
sim_ppc_f13_regnum, |
sim_ppc_f14_regnum, |
sim_ppc_f15_regnum, |
sim_ppc_f16_regnum, |
sim_ppc_f17_regnum, |
sim_ppc_f18_regnum, |
sim_ppc_f19_regnum, |
sim_ppc_f20_regnum, |
sim_ppc_f21_regnum, |
sim_ppc_f22_regnum, |
sim_ppc_f23_regnum, |
sim_ppc_f24_regnum, |
sim_ppc_f25_regnum, |
sim_ppc_f26_regnum, |
sim_ppc_f27_regnum, |
sim_ppc_f28_regnum, |
sim_ppc_f29_regnum, |
sim_ppc_f30_regnum, |
sim_ppc_f31_regnum, |
|
/* Altivec vector registers, vr0 -- vr31. */ |
sim_ppc_vr0_regnum, |
sim_ppc_vr1_regnum, |
sim_ppc_vr2_regnum, |
sim_ppc_vr3_regnum, |
sim_ppc_vr4_regnum, |
sim_ppc_vr5_regnum, |
sim_ppc_vr6_regnum, |
sim_ppc_vr7_regnum, |
sim_ppc_vr8_regnum, |
sim_ppc_vr9_regnum, |
sim_ppc_vr10_regnum, |
sim_ppc_vr11_regnum, |
sim_ppc_vr12_regnum, |
sim_ppc_vr13_regnum, |
sim_ppc_vr14_regnum, |
sim_ppc_vr15_regnum, |
sim_ppc_vr16_regnum, |
sim_ppc_vr17_regnum, |
sim_ppc_vr18_regnum, |
sim_ppc_vr19_regnum, |
sim_ppc_vr20_regnum, |
sim_ppc_vr21_regnum, |
sim_ppc_vr22_regnum, |
sim_ppc_vr23_regnum, |
sim_ppc_vr24_regnum, |
sim_ppc_vr25_regnum, |
sim_ppc_vr26_regnum, |
sim_ppc_vr27_regnum, |
sim_ppc_vr28_regnum, |
sim_ppc_vr29_regnum, |
sim_ppc_vr30_regnum, |
sim_ppc_vr31_regnum, |
|
/* SPE APU GPR upper halves. These are the upper 32 bits of the |
gprs; there is one upper-half register for each gpr, so it is |
appropriate to use sim_ppc_num_gprs for iterating through |
these. */ |
sim_ppc_rh0_regnum, |
sim_ppc_rh1_regnum, |
sim_ppc_rh2_regnum, |
sim_ppc_rh3_regnum, |
sim_ppc_rh4_regnum, |
sim_ppc_rh5_regnum, |
sim_ppc_rh6_regnum, |
sim_ppc_rh7_regnum, |
sim_ppc_rh8_regnum, |
sim_ppc_rh9_regnum, |
sim_ppc_rh10_regnum, |
sim_ppc_rh11_regnum, |
sim_ppc_rh12_regnum, |
sim_ppc_rh13_regnum, |
sim_ppc_rh14_regnum, |
sim_ppc_rh15_regnum, |
sim_ppc_rh16_regnum, |
sim_ppc_rh17_regnum, |
sim_ppc_rh18_regnum, |
sim_ppc_rh19_regnum, |
sim_ppc_rh20_regnum, |
sim_ppc_rh21_regnum, |
sim_ppc_rh22_regnum, |
sim_ppc_rh23_regnum, |
sim_ppc_rh24_regnum, |
sim_ppc_rh25_regnum, |
sim_ppc_rh26_regnum, |
sim_ppc_rh27_regnum, |
sim_ppc_rh28_regnum, |
sim_ppc_rh29_regnum, |
sim_ppc_rh30_regnum, |
sim_ppc_rh31_regnum, |
|
/* SPE APU GPR full registers. Each of these registers is the |
64-bit concatenation of a 32-bit GPR (providing the lower bits) |
and a 32-bit upper-half register (providing the higher bits). |
As for the upper-half registers, it is appropriate to use |
sim_ppc_num_gprs with these. */ |
sim_ppc_ev0_regnum, |
sim_ppc_ev1_regnum, |
sim_ppc_ev2_regnum, |
sim_ppc_ev3_regnum, |
sim_ppc_ev4_regnum, |
sim_ppc_ev5_regnum, |
sim_ppc_ev6_regnum, |
sim_ppc_ev7_regnum, |
sim_ppc_ev8_regnum, |
sim_ppc_ev9_regnum, |
sim_ppc_ev10_regnum, |
sim_ppc_ev11_regnum, |
sim_ppc_ev12_regnum, |
sim_ppc_ev13_regnum, |
sim_ppc_ev14_regnum, |
sim_ppc_ev15_regnum, |
sim_ppc_ev16_regnum, |
sim_ppc_ev17_regnum, |
sim_ppc_ev18_regnum, |
sim_ppc_ev19_regnum, |
sim_ppc_ev20_regnum, |
sim_ppc_ev21_regnum, |
sim_ppc_ev22_regnum, |
sim_ppc_ev23_regnum, |
sim_ppc_ev24_regnum, |
sim_ppc_ev25_regnum, |
sim_ppc_ev26_regnum, |
sim_ppc_ev27_regnum, |
sim_ppc_ev28_regnum, |
sim_ppc_ev29_regnum, |
sim_ppc_ev30_regnum, |
sim_ppc_ev31_regnum, |
|
/* Segment registers, sr0 -- sr15. */ |
sim_ppc_sr0_regnum, |
sim_ppc_sr1_regnum, |
sim_ppc_sr2_regnum, |
sim_ppc_sr3_regnum, |
sim_ppc_sr4_regnum, |
sim_ppc_sr5_regnum, |
sim_ppc_sr6_regnum, |
sim_ppc_sr7_regnum, |
sim_ppc_sr8_regnum, |
sim_ppc_sr9_regnum, |
sim_ppc_sr10_regnum, |
sim_ppc_sr11_regnum, |
sim_ppc_sr12_regnum, |
sim_ppc_sr13_regnum, |
sim_ppc_sr14_regnum, |
sim_ppc_sr15_regnum, |
|
/* Miscellaneous --- but non-SPR --- registers. */ |
sim_ppc_pc_regnum, |
sim_ppc_ps_regnum, |
sim_ppc_cr_regnum, |
sim_ppc_fpscr_regnum, |
sim_ppc_acc_regnum, |
sim_ppc_vscr_regnum, |
|
/* Special-purpose registers. */ |
sim_ppc_spr0_regnum, sim_ppc_spr1_regnum, |
sim_ppc_spr2_regnum, sim_ppc_spr3_regnum, |
sim_ppc_spr4_regnum, sim_ppc_spr5_regnum, |
sim_ppc_spr6_regnum, sim_ppc_spr7_regnum, |
sim_ppc_spr8_regnum, sim_ppc_spr9_regnum, |
sim_ppc_spr10_regnum, sim_ppc_spr11_regnum, |
sim_ppc_spr12_regnum, sim_ppc_spr13_regnum, |
sim_ppc_spr14_regnum, sim_ppc_spr15_regnum, |
sim_ppc_spr16_regnum, sim_ppc_spr17_regnum, |
sim_ppc_spr18_regnum, sim_ppc_spr19_regnum, |
sim_ppc_spr20_regnum, sim_ppc_spr21_regnum, |
sim_ppc_spr22_regnum, sim_ppc_spr23_regnum, |
sim_ppc_spr24_regnum, sim_ppc_spr25_regnum, |
sim_ppc_spr26_regnum, sim_ppc_spr27_regnum, |
sim_ppc_spr28_regnum, sim_ppc_spr29_regnum, |
sim_ppc_spr30_regnum, sim_ppc_spr31_regnum, |
sim_ppc_spr32_regnum, sim_ppc_spr33_regnum, |
sim_ppc_spr34_regnum, sim_ppc_spr35_regnum, |
sim_ppc_spr36_regnum, sim_ppc_spr37_regnum, |
sim_ppc_spr38_regnum, sim_ppc_spr39_regnum, |
sim_ppc_spr40_regnum, sim_ppc_spr41_regnum, |
sim_ppc_spr42_regnum, sim_ppc_spr43_regnum, |
sim_ppc_spr44_regnum, sim_ppc_spr45_regnum, |
sim_ppc_spr46_regnum, sim_ppc_spr47_regnum, |
sim_ppc_spr48_regnum, sim_ppc_spr49_regnum, |
sim_ppc_spr50_regnum, sim_ppc_spr51_regnum, |
sim_ppc_spr52_regnum, sim_ppc_spr53_regnum, |
sim_ppc_spr54_regnum, sim_ppc_spr55_regnum, |
sim_ppc_spr56_regnum, sim_ppc_spr57_regnum, |
sim_ppc_spr58_regnum, sim_ppc_spr59_regnum, |
sim_ppc_spr60_regnum, sim_ppc_spr61_regnum, |
sim_ppc_spr62_regnum, sim_ppc_spr63_regnum, |
sim_ppc_spr64_regnum, sim_ppc_spr65_regnum, |
sim_ppc_spr66_regnum, sim_ppc_spr67_regnum, |
sim_ppc_spr68_regnum, sim_ppc_spr69_regnum, |
sim_ppc_spr70_regnum, sim_ppc_spr71_regnum, |
sim_ppc_spr72_regnum, sim_ppc_spr73_regnum, |
sim_ppc_spr74_regnum, sim_ppc_spr75_regnum, |
sim_ppc_spr76_regnum, sim_ppc_spr77_regnum, |
sim_ppc_spr78_regnum, sim_ppc_spr79_regnum, |
sim_ppc_spr80_regnum, sim_ppc_spr81_regnum, |
sim_ppc_spr82_regnum, sim_ppc_spr83_regnum, |
sim_ppc_spr84_regnum, sim_ppc_spr85_regnum, |
sim_ppc_spr86_regnum, sim_ppc_spr87_regnum, |
sim_ppc_spr88_regnum, sim_ppc_spr89_regnum, |
sim_ppc_spr90_regnum, sim_ppc_spr91_regnum, |
sim_ppc_spr92_regnum, sim_ppc_spr93_regnum, |
sim_ppc_spr94_regnum, sim_ppc_spr95_regnum, |
sim_ppc_spr96_regnum, sim_ppc_spr97_regnum, |
sim_ppc_spr98_regnum, sim_ppc_spr99_regnum, |
sim_ppc_spr100_regnum, sim_ppc_spr101_regnum, |
sim_ppc_spr102_regnum, sim_ppc_spr103_regnum, |
sim_ppc_spr104_regnum, sim_ppc_spr105_regnum, |
sim_ppc_spr106_regnum, sim_ppc_spr107_regnum, |
sim_ppc_spr108_regnum, sim_ppc_spr109_regnum, |
sim_ppc_spr110_regnum, sim_ppc_spr111_regnum, |
sim_ppc_spr112_regnum, sim_ppc_spr113_regnum, |
sim_ppc_spr114_regnum, sim_ppc_spr115_regnum, |
sim_ppc_spr116_regnum, sim_ppc_spr117_regnum, |
sim_ppc_spr118_regnum, sim_ppc_spr119_regnum, |
sim_ppc_spr120_regnum, sim_ppc_spr121_regnum, |
sim_ppc_spr122_regnum, sim_ppc_spr123_regnum, |
sim_ppc_spr124_regnum, sim_ppc_spr125_regnum, |
sim_ppc_spr126_regnum, sim_ppc_spr127_regnum, |
sim_ppc_spr128_regnum, sim_ppc_spr129_regnum, |
sim_ppc_spr130_regnum, sim_ppc_spr131_regnum, |
sim_ppc_spr132_regnum, sim_ppc_spr133_regnum, |
sim_ppc_spr134_regnum, sim_ppc_spr135_regnum, |
sim_ppc_spr136_regnum, sim_ppc_spr137_regnum, |
sim_ppc_spr138_regnum, sim_ppc_spr139_regnum, |
sim_ppc_spr140_regnum, sim_ppc_spr141_regnum, |
sim_ppc_spr142_regnum, sim_ppc_spr143_regnum, |
sim_ppc_spr144_regnum, sim_ppc_spr145_regnum, |
sim_ppc_spr146_regnum, sim_ppc_spr147_regnum, |
sim_ppc_spr148_regnum, sim_ppc_spr149_regnum, |
sim_ppc_spr150_regnum, sim_ppc_spr151_regnum, |
sim_ppc_spr152_regnum, sim_ppc_spr153_regnum, |
sim_ppc_spr154_regnum, sim_ppc_spr155_regnum, |
sim_ppc_spr156_regnum, sim_ppc_spr157_regnum, |
sim_ppc_spr158_regnum, sim_ppc_spr159_regnum, |
sim_ppc_spr160_regnum, sim_ppc_spr161_regnum, |
sim_ppc_spr162_regnum, sim_ppc_spr163_regnum, |
sim_ppc_spr164_regnum, sim_ppc_spr165_regnum, |
sim_ppc_spr166_regnum, sim_ppc_spr167_regnum, |
sim_ppc_spr168_regnum, sim_ppc_spr169_regnum, |
sim_ppc_spr170_regnum, sim_ppc_spr171_regnum, |
sim_ppc_spr172_regnum, sim_ppc_spr173_regnum, |
sim_ppc_spr174_regnum, sim_ppc_spr175_regnum, |
sim_ppc_spr176_regnum, sim_ppc_spr177_regnum, |
sim_ppc_spr178_regnum, sim_ppc_spr179_regnum, |
sim_ppc_spr180_regnum, sim_ppc_spr181_regnum, |
sim_ppc_spr182_regnum, sim_ppc_spr183_regnum, |
sim_ppc_spr184_regnum, sim_ppc_spr185_regnum, |
sim_ppc_spr186_regnum, sim_ppc_spr187_regnum, |
sim_ppc_spr188_regnum, sim_ppc_spr189_regnum, |
sim_ppc_spr190_regnum, sim_ppc_spr191_regnum, |
sim_ppc_spr192_regnum, sim_ppc_spr193_regnum, |
sim_ppc_spr194_regnum, sim_ppc_spr195_regnum, |
sim_ppc_spr196_regnum, sim_ppc_spr197_regnum, |
sim_ppc_spr198_regnum, sim_ppc_spr199_regnum, |
sim_ppc_spr200_regnum, sim_ppc_spr201_regnum, |
sim_ppc_spr202_regnum, sim_ppc_spr203_regnum, |
sim_ppc_spr204_regnum, sim_ppc_spr205_regnum, |
sim_ppc_spr206_regnum, sim_ppc_spr207_regnum, |
sim_ppc_spr208_regnum, sim_ppc_spr209_regnum, |
sim_ppc_spr210_regnum, sim_ppc_spr211_regnum, |
sim_ppc_spr212_regnum, sim_ppc_spr213_regnum, |
sim_ppc_spr214_regnum, sim_ppc_spr215_regnum, |
sim_ppc_spr216_regnum, sim_ppc_spr217_regnum, |
sim_ppc_spr218_regnum, sim_ppc_spr219_regnum, |
sim_ppc_spr220_regnum, sim_ppc_spr221_regnum, |
sim_ppc_spr222_regnum, sim_ppc_spr223_regnum, |
sim_ppc_spr224_regnum, sim_ppc_spr225_regnum, |
sim_ppc_spr226_regnum, sim_ppc_spr227_regnum, |
sim_ppc_spr228_regnum, sim_ppc_spr229_regnum, |
sim_ppc_spr230_regnum, sim_ppc_spr231_regnum, |
sim_ppc_spr232_regnum, sim_ppc_spr233_regnum, |
sim_ppc_spr234_regnum, sim_ppc_spr235_regnum, |
sim_ppc_spr236_regnum, sim_ppc_spr237_regnum, |
sim_ppc_spr238_regnum, sim_ppc_spr239_regnum, |
sim_ppc_spr240_regnum, sim_ppc_spr241_regnum, |
sim_ppc_spr242_regnum, sim_ppc_spr243_regnum, |
sim_ppc_spr244_regnum, sim_ppc_spr245_regnum, |
sim_ppc_spr246_regnum, sim_ppc_spr247_regnum, |
sim_ppc_spr248_regnum, sim_ppc_spr249_regnum, |
sim_ppc_spr250_regnum, sim_ppc_spr251_regnum, |
sim_ppc_spr252_regnum, sim_ppc_spr253_regnum, |
sim_ppc_spr254_regnum, sim_ppc_spr255_regnum, |
sim_ppc_spr256_regnum, sim_ppc_spr257_regnum, |
sim_ppc_spr258_regnum, sim_ppc_spr259_regnum, |
sim_ppc_spr260_regnum, sim_ppc_spr261_regnum, |
sim_ppc_spr262_regnum, sim_ppc_spr263_regnum, |
sim_ppc_spr264_regnum, sim_ppc_spr265_regnum, |
sim_ppc_spr266_regnum, sim_ppc_spr267_regnum, |
sim_ppc_spr268_regnum, sim_ppc_spr269_regnum, |
sim_ppc_spr270_regnum, sim_ppc_spr271_regnum, |
sim_ppc_spr272_regnum, sim_ppc_spr273_regnum, |
sim_ppc_spr274_regnum, sim_ppc_spr275_regnum, |
sim_ppc_spr276_regnum, sim_ppc_spr277_regnum, |
sim_ppc_spr278_regnum, sim_ppc_spr279_regnum, |
sim_ppc_spr280_regnum, sim_ppc_spr281_regnum, |
sim_ppc_spr282_regnum, sim_ppc_spr283_regnum, |
sim_ppc_spr284_regnum, sim_ppc_spr285_regnum, |
sim_ppc_spr286_regnum, sim_ppc_spr287_regnum, |
sim_ppc_spr288_regnum, sim_ppc_spr289_regnum, |
sim_ppc_spr290_regnum, sim_ppc_spr291_regnum, |
sim_ppc_spr292_regnum, sim_ppc_spr293_regnum, |
sim_ppc_spr294_regnum, sim_ppc_spr295_regnum, |
sim_ppc_spr296_regnum, sim_ppc_spr297_regnum, |
sim_ppc_spr298_regnum, sim_ppc_spr299_regnum, |
sim_ppc_spr300_regnum, sim_ppc_spr301_regnum, |
sim_ppc_spr302_regnum, sim_ppc_spr303_regnum, |
sim_ppc_spr304_regnum, sim_ppc_spr305_regnum, |
sim_ppc_spr306_regnum, sim_ppc_spr307_regnum, |
sim_ppc_spr308_regnum, sim_ppc_spr309_regnum, |
sim_ppc_spr310_regnum, sim_ppc_spr311_regnum, |
sim_ppc_spr312_regnum, sim_ppc_spr313_regnum, |
sim_ppc_spr314_regnum, sim_ppc_spr315_regnum, |
sim_ppc_spr316_regnum, sim_ppc_spr317_regnum, |
sim_ppc_spr318_regnum, sim_ppc_spr319_regnum, |
sim_ppc_spr320_regnum, sim_ppc_spr321_regnum, |
sim_ppc_spr322_regnum, sim_ppc_spr323_regnum, |
sim_ppc_spr324_regnum, sim_ppc_spr325_regnum, |
sim_ppc_spr326_regnum, sim_ppc_spr327_regnum, |
sim_ppc_spr328_regnum, sim_ppc_spr329_regnum, |
sim_ppc_spr330_regnum, sim_ppc_spr331_regnum, |
sim_ppc_spr332_regnum, sim_ppc_spr333_regnum, |
sim_ppc_spr334_regnum, sim_ppc_spr335_regnum, |
sim_ppc_spr336_regnum, sim_ppc_spr337_regnum, |
sim_ppc_spr338_regnum, sim_ppc_spr339_regnum, |
sim_ppc_spr340_regnum, sim_ppc_spr341_regnum, |
sim_ppc_spr342_regnum, sim_ppc_spr343_regnum, |
sim_ppc_spr344_regnum, sim_ppc_spr345_regnum, |
sim_ppc_spr346_regnum, sim_ppc_spr347_regnum, |
sim_ppc_spr348_regnum, sim_ppc_spr349_regnum, |
sim_ppc_spr350_regnum, sim_ppc_spr351_regnum, |
sim_ppc_spr352_regnum, sim_ppc_spr353_regnum, |
sim_ppc_spr354_regnum, sim_ppc_spr355_regnum, |
sim_ppc_spr356_regnum, sim_ppc_spr357_regnum, |
sim_ppc_spr358_regnum, sim_ppc_spr359_regnum, |
sim_ppc_spr360_regnum, sim_ppc_spr361_regnum, |
sim_ppc_spr362_regnum, sim_ppc_spr363_regnum, |
sim_ppc_spr364_regnum, sim_ppc_spr365_regnum, |
sim_ppc_spr366_regnum, sim_ppc_spr367_regnum, |
sim_ppc_spr368_regnum, sim_ppc_spr369_regnum, |
sim_ppc_spr370_regnum, sim_ppc_spr371_regnum, |
sim_ppc_spr372_regnum, sim_ppc_spr373_regnum, |
sim_ppc_spr374_regnum, sim_ppc_spr375_regnum, |
sim_ppc_spr376_regnum, sim_ppc_spr377_regnum, |
sim_ppc_spr378_regnum, sim_ppc_spr379_regnum, |
sim_ppc_spr380_regnum, sim_ppc_spr381_regnum, |
sim_ppc_spr382_regnum, sim_ppc_spr383_regnum, |
sim_ppc_spr384_regnum, sim_ppc_spr385_regnum, |
sim_ppc_spr386_regnum, sim_ppc_spr387_regnum, |
sim_ppc_spr388_regnum, sim_ppc_spr389_regnum, |
sim_ppc_spr390_regnum, sim_ppc_spr391_regnum, |
sim_ppc_spr392_regnum, sim_ppc_spr393_regnum, |
sim_ppc_spr394_regnum, sim_ppc_spr395_regnum, |
sim_ppc_spr396_regnum, sim_ppc_spr397_regnum, |
sim_ppc_spr398_regnum, sim_ppc_spr399_regnum, |
sim_ppc_spr400_regnum, sim_ppc_spr401_regnum, |
sim_ppc_spr402_regnum, sim_ppc_spr403_regnum, |
sim_ppc_spr404_regnum, sim_ppc_spr405_regnum, |
sim_ppc_spr406_regnum, sim_ppc_spr407_regnum, |
sim_ppc_spr408_regnum, sim_ppc_spr409_regnum, |
sim_ppc_spr410_regnum, sim_ppc_spr411_regnum, |
sim_ppc_spr412_regnum, sim_ppc_spr413_regnum, |
sim_ppc_spr414_regnum, sim_ppc_spr415_regnum, |
sim_ppc_spr416_regnum, sim_ppc_spr417_regnum, |
sim_ppc_spr418_regnum, sim_ppc_spr419_regnum, |
sim_ppc_spr420_regnum, sim_ppc_spr421_regnum, |
sim_ppc_spr422_regnum, sim_ppc_spr423_regnum, |
sim_ppc_spr424_regnum, sim_ppc_spr425_regnum, |
sim_ppc_spr426_regnum, sim_ppc_spr427_regnum, |
sim_ppc_spr428_regnum, sim_ppc_spr429_regnum, |
sim_ppc_spr430_regnum, sim_ppc_spr431_regnum, |
sim_ppc_spr432_regnum, sim_ppc_spr433_regnum, |
sim_ppc_spr434_regnum, sim_ppc_spr435_regnum, |
sim_ppc_spr436_regnum, sim_ppc_spr437_regnum, |
sim_ppc_spr438_regnum, sim_ppc_spr439_regnum, |
sim_ppc_spr440_regnum, sim_ppc_spr441_regnum, |
sim_ppc_spr442_regnum, sim_ppc_spr443_regnum, |
sim_ppc_spr444_regnum, sim_ppc_spr445_regnum, |
sim_ppc_spr446_regnum, sim_ppc_spr447_regnum, |
sim_ppc_spr448_regnum, sim_ppc_spr449_regnum, |
sim_ppc_spr450_regnum, sim_ppc_spr451_regnum, |
sim_ppc_spr452_regnum, sim_ppc_spr453_regnum, |
sim_ppc_spr454_regnum, sim_ppc_spr455_regnum, |
sim_ppc_spr456_regnum, sim_ppc_spr457_regnum, |
sim_ppc_spr458_regnum, sim_ppc_spr459_regnum, |
sim_ppc_spr460_regnum, sim_ppc_spr461_regnum, |
sim_ppc_spr462_regnum, sim_ppc_spr463_regnum, |
sim_ppc_spr464_regnum, sim_ppc_spr465_regnum, |
sim_ppc_spr466_regnum, sim_ppc_spr467_regnum, |
sim_ppc_spr468_regnum, sim_ppc_spr469_regnum, |
sim_ppc_spr470_regnum, sim_ppc_spr471_regnum, |
sim_ppc_spr472_regnum, sim_ppc_spr473_regnum, |
sim_ppc_spr474_regnum, sim_ppc_spr475_regnum, |
sim_ppc_spr476_regnum, sim_ppc_spr477_regnum, |
sim_ppc_spr478_regnum, sim_ppc_spr479_regnum, |
sim_ppc_spr480_regnum, sim_ppc_spr481_regnum, |
sim_ppc_spr482_regnum, sim_ppc_spr483_regnum, |
sim_ppc_spr484_regnum, sim_ppc_spr485_regnum, |
sim_ppc_spr486_regnum, sim_ppc_spr487_regnum, |
sim_ppc_spr488_regnum, sim_ppc_spr489_regnum, |
sim_ppc_spr490_regnum, sim_ppc_spr491_regnum, |
sim_ppc_spr492_regnum, sim_ppc_spr493_regnum, |
sim_ppc_spr494_regnum, sim_ppc_spr495_regnum, |
sim_ppc_spr496_regnum, sim_ppc_spr497_regnum, |
sim_ppc_spr498_regnum, sim_ppc_spr499_regnum, |
sim_ppc_spr500_regnum, sim_ppc_spr501_regnum, |
sim_ppc_spr502_regnum, sim_ppc_spr503_regnum, |
sim_ppc_spr504_regnum, sim_ppc_spr505_regnum, |
sim_ppc_spr506_regnum, sim_ppc_spr507_regnum, |
sim_ppc_spr508_regnum, sim_ppc_spr509_regnum, |
sim_ppc_spr510_regnum, sim_ppc_spr511_regnum, |
sim_ppc_spr512_regnum, sim_ppc_spr513_regnum, |
sim_ppc_spr514_regnum, sim_ppc_spr515_regnum, |
sim_ppc_spr516_regnum, sim_ppc_spr517_regnum, |
sim_ppc_spr518_regnum, sim_ppc_spr519_regnum, |
sim_ppc_spr520_regnum, sim_ppc_spr521_regnum, |
sim_ppc_spr522_regnum, sim_ppc_spr523_regnum, |
sim_ppc_spr524_regnum, sim_ppc_spr525_regnum, |
sim_ppc_spr526_regnum, sim_ppc_spr527_regnum, |
sim_ppc_spr528_regnum, sim_ppc_spr529_regnum, |
sim_ppc_spr530_regnum, sim_ppc_spr531_regnum, |
sim_ppc_spr532_regnum, sim_ppc_spr533_regnum, |
sim_ppc_spr534_regnum, sim_ppc_spr535_regnum, |
sim_ppc_spr536_regnum, sim_ppc_spr537_regnum, |
sim_ppc_spr538_regnum, sim_ppc_spr539_regnum, |
sim_ppc_spr540_regnum, sim_ppc_spr541_regnum, |
sim_ppc_spr542_regnum, sim_ppc_spr543_regnum, |
sim_ppc_spr544_regnum, sim_ppc_spr545_regnum, |
sim_ppc_spr546_regnum, sim_ppc_spr547_regnum, |
sim_ppc_spr548_regnum, sim_ppc_spr549_regnum, |
sim_ppc_spr550_regnum, sim_ppc_spr551_regnum, |
sim_ppc_spr552_regnum, sim_ppc_spr553_regnum, |
sim_ppc_spr554_regnum, sim_ppc_spr555_regnum, |
sim_ppc_spr556_regnum, sim_ppc_spr557_regnum, |
sim_ppc_spr558_regnum, sim_ppc_spr559_regnum, |
sim_ppc_spr560_regnum, sim_ppc_spr561_regnum, |
sim_ppc_spr562_regnum, sim_ppc_spr563_regnum, |
sim_ppc_spr564_regnum, sim_ppc_spr565_regnum, |
sim_ppc_spr566_regnum, sim_ppc_spr567_regnum, |
sim_ppc_spr568_regnum, sim_ppc_spr569_regnum, |
sim_ppc_spr570_regnum, sim_ppc_spr571_regnum, |
sim_ppc_spr572_regnum, sim_ppc_spr573_regnum, |
sim_ppc_spr574_regnum, sim_ppc_spr575_regnum, |
sim_ppc_spr576_regnum, sim_ppc_spr577_regnum, |
sim_ppc_spr578_regnum, sim_ppc_spr579_regnum, |
sim_ppc_spr580_regnum, sim_ppc_spr581_regnum, |
sim_ppc_spr582_regnum, sim_ppc_spr583_regnum, |
sim_ppc_spr584_regnum, sim_ppc_spr585_regnum, |
sim_ppc_spr586_regnum, sim_ppc_spr587_regnum, |
sim_ppc_spr588_regnum, sim_ppc_spr589_regnum, |
sim_ppc_spr590_regnum, sim_ppc_spr591_regnum, |
sim_ppc_spr592_regnum, sim_ppc_spr593_regnum, |
sim_ppc_spr594_regnum, sim_ppc_spr595_regnum, |
sim_ppc_spr596_regnum, sim_ppc_spr597_regnum, |
sim_ppc_spr598_regnum, sim_ppc_spr599_regnum, |
sim_ppc_spr600_regnum, sim_ppc_spr601_regnum, |
sim_ppc_spr602_regnum, sim_ppc_spr603_regnum, |
sim_ppc_spr604_regnum, sim_ppc_spr605_regnum, |
sim_ppc_spr606_regnum, sim_ppc_spr607_regnum, |
sim_ppc_spr608_regnum, sim_ppc_spr609_regnum, |
sim_ppc_spr610_regnum, sim_ppc_spr611_regnum, |
sim_ppc_spr612_regnum, sim_ppc_spr613_regnum, |
sim_ppc_spr614_regnum, sim_ppc_spr615_regnum, |
sim_ppc_spr616_regnum, sim_ppc_spr617_regnum, |
sim_ppc_spr618_regnum, sim_ppc_spr619_regnum, |
sim_ppc_spr620_regnum, sim_ppc_spr621_regnum, |
sim_ppc_spr622_regnum, sim_ppc_spr623_regnum, |
sim_ppc_spr624_regnum, sim_ppc_spr625_regnum, |
sim_ppc_spr626_regnum, sim_ppc_spr627_regnum, |
sim_ppc_spr628_regnum, sim_ppc_spr629_regnum, |
sim_ppc_spr630_regnum, sim_ppc_spr631_regnum, |
sim_ppc_spr632_regnum, sim_ppc_spr633_regnum, |
sim_ppc_spr634_regnum, sim_ppc_spr635_regnum, |
sim_ppc_spr636_regnum, sim_ppc_spr637_regnum, |
sim_ppc_spr638_regnum, sim_ppc_spr639_regnum, |
sim_ppc_spr640_regnum, sim_ppc_spr641_regnum, |
sim_ppc_spr642_regnum, sim_ppc_spr643_regnum, |
sim_ppc_spr644_regnum, sim_ppc_spr645_regnum, |
sim_ppc_spr646_regnum, sim_ppc_spr647_regnum, |
sim_ppc_spr648_regnum, sim_ppc_spr649_regnum, |
sim_ppc_spr650_regnum, sim_ppc_spr651_regnum, |
sim_ppc_spr652_regnum, sim_ppc_spr653_regnum, |
sim_ppc_spr654_regnum, sim_ppc_spr655_regnum, |
sim_ppc_spr656_regnum, sim_ppc_spr657_regnum, |
sim_ppc_spr658_regnum, sim_ppc_spr659_regnum, |
sim_ppc_spr660_regnum, sim_ppc_spr661_regnum, |
sim_ppc_spr662_regnum, sim_ppc_spr663_regnum, |
sim_ppc_spr664_regnum, sim_ppc_spr665_regnum, |
sim_ppc_spr666_regnum, sim_ppc_spr667_regnum, |
sim_ppc_spr668_regnum, sim_ppc_spr669_regnum, |
sim_ppc_spr670_regnum, sim_ppc_spr671_regnum, |
sim_ppc_spr672_regnum, sim_ppc_spr673_regnum, |
sim_ppc_spr674_regnum, sim_ppc_spr675_regnum, |
sim_ppc_spr676_regnum, sim_ppc_spr677_regnum, |
sim_ppc_spr678_regnum, sim_ppc_spr679_regnum, |
sim_ppc_spr680_regnum, sim_ppc_spr681_regnum, |
sim_ppc_spr682_regnum, sim_ppc_spr683_regnum, |
sim_ppc_spr684_regnum, sim_ppc_spr685_regnum, |
sim_ppc_spr686_regnum, sim_ppc_spr687_regnum, |
sim_ppc_spr688_regnum, sim_ppc_spr689_regnum, |
sim_ppc_spr690_regnum, sim_ppc_spr691_regnum, |
sim_ppc_spr692_regnum, sim_ppc_spr693_regnum, |
sim_ppc_spr694_regnum, sim_ppc_spr695_regnum, |
sim_ppc_spr696_regnum, sim_ppc_spr697_regnum, |
sim_ppc_spr698_regnum, sim_ppc_spr699_regnum, |
sim_ppc_spr700_regnum, sim_ppc_spr701_regnum, |
sim_ppc_spr702_regnum, sim_ppc_spr703_regnum, |
sim_ppc_spr704_regnum, sim_ppc_spr705_regnum, |
sim_ppc_spr706_regnum, sim_ppc_spr707_regnum, |
sim_ppc_spr708_regnum, sim_ppc_spr709_regnum, |
sim_ppc_spr710_regnum, sim_ppc_spr711_regnum, |
sim_ppc_spr712_regnum, sim_ppc_spr713_regnum, |
sim_ppc_spr714_regnum, sim_ppc_spr715_regnum, |
sim_ppc_spr716_regnum, sim_ppc_spr717_regnum, |
sim_ppc_spr718_regnum, sim_ppc_spr719_regnum, |
sim_ppc_spr720_regnum, sim_ppc_spr721_regnum, |
sim_ppc_spr722_regnum, sim_ppc_spr723_regnum, |
sim_ppc_spr724_regnum, sim_ppc_spr725_regnum, |
sim_ppc_spr726_regnum, sim_ppc_spr727_regnum, |
sim_ppc_spr728_regnum, sim_ppc_spr729_regnum, |
sim_ppc_spr730_regnum, sim_ppc_spr731_regnum, |
sim_ppc_spr732_regnum, sim_ppc_spr733_regnum, |
sim_ppc_spr734_regnum, sim_ppc_spr735_regnum, |
sim_ppc_spr736_regnum, sim_ppc_spr737_regnum, |
sim_ppc_spr738_regnum, sim_ppc_spr739_regnum, |
sim_ppc_spr740_regnum, sim_ppc_spr741_regnum, |
sim_ppc_spr742_regnum, sim_ppc_spr743_regnum, |
sim_ppc_spr744_regnum, sim_ppc_spr745_regnum, |
sim_ppc_spr746_regnum, sim_ppc_spr747_regnum, |
sim_ppc_spr748_regnum, sim_ppc_spr749_regnum, |
sim_ppc_spr750_regnum, sim_ppc_spr751_regnum, |
sim_ppc_spr752_regnum, sim_ppc_spr753_regnum, |
sim_ppc_spr754_regnum, sim_ppc_spr755_regnum, |
sim_ppc_spr756_regnum, sim_ppc_spr757_regnum, |
sim_ppc_spr758_regnum, sim_ppc_spr759_regnum, |
sim_ppc_spr760_regnum, sim_ppc_spr761_regnum, |
sim_ppc_spr762_regnum, sim_ppc_spr763_regnum, |
sim_ppc_spr764_regnum, sim_ppc_spr765_regnum, |
sim_ppc_spr766_regnum, sim_ppc_spr767_regnum, |
sim_ppc_spr768_regnum, sim_ppc_spr769_regnum, |
sim_ppc_spr770_regnum, sim_ppc_spr771_regnum, |
sim_ppc_spr772_regnum, sim_ppc_spr773_regnum, |
sim_ppc_spr774_regnum, sim_ppc_spr775_regnum, |
sim_ppc_spr776_regnum, sim_ppc_spr777_regnum, |
sim_ppc_spr778_regnum, sim_ppc_spr779_regnum, |
sim_ppc_spr780_regnum, sim_ppc_spr781_regnum, |
sim_ppc_spr782_regnum, sim_ppc_spr783_regnum, |
sim_ppc_spr784_regnum, sim_ppc_spr785_regnum, |
sim_ppc_spr786_regnum, sim_ppc_spr787_regnum, |
sim_ppc_spr788_regnum, sim_ppc_spr789_regnum, |
sim_ppc_spr790_regnum, sim_ppc_spr791_regnum, |
sim_ppc_spr792_regnum, sim_ppc_spr793_regnum, |
sim_ppc_spr794_regnum, sim_ppc_spr795_regnum, |
sim_ppc_spr796_regnum, sim_ppc_spr797_regnum, |
sim_ppc_spr798_regnum, sim_ppc_spr799_regnum, |
sim_ppc_spr800_regnum, sim_ppc_spr801_regnum, |
sim_ppc_spr802_regnum, sim_ppc_spr803_regnum, |
sim_ppc_spr804_regnum, sim_ppc_spr805_regnum, |
sim_ppc_spr806_regnum, sim_ppc_spr807_regnum, |
sim_ppc_spr808_regnum, sim_ppc_spr809_regnum, |
sim_ppc_spr810_regnum, sim_ppc_spr811_regnum, |
sim_ppc_spr812_regnum, sim_ppc_spr813_regnum, |
sim_ppc_spr814_regnum, sim_ppc_spr815_regnum, |
sim_ppc_spr816_regnum, sim_ppc_spr817_regnum, |
sim_ppc_spr818_regnum, sim_ppc_spr819_regnum, |
sim_ppc_spr820_regnum, sim_ppc_spr821_regnum, |
sim_ppc_spr822_regnum, sim_ppc_spr823_regnum, |
sim_ppc_spr824_regnum, sim_ppc_spr825_regnum, |
sim_ppc_spr826_regnum, sim_ppc_spr827_regnum, |
sim_ppc_spr828_regnum, sim_ppc_spr829_regnum, |
sim_ppc_spr830_regnum, sim_ppc_spr831_regnum, |
sim_ppc_spr832_regnum, sim_ppc_spr833_regnum, |
sim_ppc_spr834_regnum, sim_ppc_spr835_regnum, |
sim_ppc_spr836_regnum, sim_ppc_spr837_regnum, |
sim_ppc_spr838_regnum, sim_ppc_spr839_regnum, |
sim_ppc_spr840_regnum, sim_ppc_spr841_regnum, |
sim_ppc_spr842_regnum, sim_ppc_spr843_regnum, |
sim_ppc_spr844_regnum, sim_ppc_spr845_regnum, |
sim_ppc_spr846_regnum, sim_ppc_spr847_regnum, |
sim_ppc_spr848_regnum, sim_ppc_spr849_regnum, |
sim_ppc_spr850_regnum, sim_ppc_spr851_regnum, |
sim_ppc_spr852_regnum, sim_ppc_spr853_regnum, |
sim_ppc_spr854_regnum, sim_ppc_spr855_regnum, |
sim_ppc_spr856_regnum, sim_ppc_spr857_regnum, |
sim_ppc_spr858_regnum, sim_ppc_spr859_regnum, |
sim_ppc_spr860_regnum, sim_ppc_spr861_regnum, |
sim_ppc_spr862_regnum, sim_ppc_spr863_regnum, |
sim_ppc_spr864_regnum, sim_ppc_spr865_regnum, |
sim_ppc_spr866_regnum, sim_ppc_spr867_regnum, |
sim_ppc_spr868_regnum, sim_ppc_spr869_regnum, |
sim_ppc_spr870_regnum, sim_ppc_spr871_regnum, |
sim_ppc_spr872_regnum, sim_ppc_spr873_regnum, |
sim_ppc_spr874_regnum, sim_ppc_spr875_regnum, |
sim_ppc_spr876_regnum, sim_ppc_spr877_regnum, |
sim_ppc_spr878_regnum, sim_ppc_spr879_regnum, |
sim_ppc_spr880_regnum, sim_ppc_spr881_regnum, |
sim_ppc_spr882_regnum, sim_ppc_spr883_regnum, |
sim_ppc_spr884_regnum, sim_ppc_spr885_regnum, |
sim_ppc_spr886_regnum, sim_ppc_spr887_regnum, |
sim_ppc_spr888_regnum, sim_ppc_spr889_regnum, |
sim_ppc_spr890_regnum, sim_ppc_spr891_regnum, |
sim_ppc_spr892_regnum, sim_ppc_spr893_regnum, |
sim_ppc_spr894_regnum, sim_ppc_spr895_regnum, |
sim_ppc_spr896_regnum, sim_ppc_spr897_regnum, |
sim_ppc_spr898_regnum, sim_ppc_spr899_regnum, |
sim_ppc_spr900_regnum, sim_ppc_spr901_regnum, |
sim_ppc_spr902_regnum, sim_ppc_spr903_regnum, |
sim_ppc_spr904_regnum, sim_ppc_spr905_regnum, |
sim_ppc_spr906_regnum, sim_ppc_spr907_regnum, |
sim_ppc_spr908_regnum, sim_ppc_spr909_regnum, |
sim_ppc_spr910_regnum, sim_ppc_spr911_regnum, |
sim_ppc_spr912_regnum, sim_ppc_spr913_regnum, |
sim_ppc_spr914_regnum, sim_ppc_spr915_regnum, |
sim_ppc_spr916_regnum, sim_ppc_spr917_regnum, |
sim_ppc_spr918_regnum, sim_ppc_spr919_regnum, |
sim_ppc_spr920_regnum, sim_ppc_spr921_regnum, |
sim_ppc_spr922_regnum, sim_ppc_spr923_regnum, |
sim_ppc_spr924_regnum, sim_ppc_spr925_regnum, |
sim_ppc_spr926_regnum, sim_ppc_spr927_regnum, |
sim_ppc_spr928_regnum, sim_ppc_spr929_regnum, |
sim_ppc_spr930_regnum, sim_ppc_spr931_regnum, |
sim_ppc_spr932_regnum, sim_ppc_spr933_regnum, |
sim_ppc_spr934_regnum, sim_ppc_spr935_regnum, |
sim_ppc_spr936_regnum, sim_ppc_spr937_regnum, |
sim_ppc_spr938_regnum, sim_ppc_spr939_regnum, |
sim_ppc_spr940_regnum, sim_ppc_spr941_regnum, |
sim_ppc_spr942_regnum, sim_ppc_spr943_regnum, |
sim_ppc_spr944_regnum, sim_ppc_spr945_regnum, |
sim_ppc_spr946_regnum, sim_ppc_spr947_regnum, |
sim_ppc_spr948_regnum, sim_ppc_spr949_regnum, |
sim_ppc_spr950_regnum, sim_ppc_spr951_regnum, |
sim_ppc_spr952_regnum, sim_ppc_spr953_regnum, |
sim_ppc_spr954_regnum, sim_ppc_spr955_regnum, |
sim_ppc_spr956_regnum, sim_ppc_spr957_regnum, |
sim_ppc_spr958_regnum, sim_ppc_spr959_regnum, |
sim_ppc_spr960_regnum, sim_ppc_spr961_regnum, |
sim_ppc_spr962_regnum, sim_ppc_spr963_regnum, |
sim_ppc_spr964_regnum, sim_ppc_spr965_regnum, |
sim_ppc_spr966_regnum, sim_ppc_spr967_regnum, |
sim_ppc_spr968_regnum, sim_ppc_spr969_regnum, |
sim_ppc_spr970_regnum, sim_ppc_spr971_regnum, |
sim_ppc_spr972_regnum, sim_ppc_spr973_regnum, |
sim_ppc_spr974_regnum, sim_ppc_spr975_regnum, |
sim_ppc_spr976_regnum, sim_ppc_spr977_regnum, |
sim_ppc_spr978_regnum, sim_ppc_spr979_regnum, |
sim_ppc_spr980_regnum, sim_ppc_spr981_regnum, |
sim_ppc_spr982_regnum, sim_ppc_spr983_regnum, |
sim_ppc_spr984_regnum, sim_ppc_spr985_regnum, |
sim_ppc_spr986_regnum, sim_ppc_spr987_regnum, |
sim_ppc_spr988_regnum, sim_ppc_spr989_regnum, |
sim_ppc_spr990_regnum, sim_ppc_spr991_regnum, |
sim_ppc_spr992_regnum, sim_ppc_spr993_regnum, |
sim_ppc_spr994_regnum, sim_ppc_spr995_regnum, |
sim_ppc_spr996_regnum, sim_ppc_spr997_regnum, |
sim_ppc_spr998_regnum, sim_ppc_spr999_regnum, |
sim_ppc_spr1000_regnum, sim_ppc_spr1001_regnum, |
sim_ppc_spr1002_regnum, sim_ppc_spr1003_regnum, |
sim_ppc_spr1004_regnum, sim_ppc_spr1005_regnum, |
sim_ppc_spr1006_regnum, sim_ppc_spr1007_regnum, |
sim_ppc_spr1008_regnum, sim_ppc_spr1009_regnum, |
sim_ppc_spr1010_regnum, sim_ppc_spr1011_regnum, |
sim_ppc_spr1012_regnum, sim_ppc_spr1013_regnum, |
sim_ppc_spr1014_regnum, sim_ppc_spr1015_regnum, |
sim_ppc_spr1016_regnum, sim_ppc_spr1017_regnum, |
sim_ppc_spr1018_regnum, sim_ppc_spr1019_regnum, |
sim_ppc_spr1020_regnum, sim_ppc_spr1021_regnum, |
sim_ppc_spr1022_regnum, sim_ppc_spr1023_regnum |
}; |
|
|
/* Sizes of various register sets. */ |
enum |
{ |
sim_ppc_num_gprs = 32, |
sim_ppc_num_fprs = 32, |
sim_ppc_num_vrs = 32, |
sim_ppc_num_srs = 16, |
sim_ppc_num_sprs = 1024, |
}; |
|
|
/* Return the register name for the supplied SPR number if any, or |
NULL if none. */ |
extern const char *sim_spr_register_name (int); |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif /* SIM_PPC_H */ |