/* Cache and manage the values of registers for GDB, the GNU debugger.
- Copyright (C) 1986-2014 Free Software Foundation, Inc.
+ Copyright (C) 1986-2015 Free Software Foundation, Inc.
This file is part of GDB.
#ifndef REGCACHE_H
#define REGCACHE_H
+#include "common-regcache.h"
+
struct regcache;
struct regset;
struct gdbarch;
/* Special routines to read/write the PC. */
-extern CORE_ADDR regcache_read_pc (struct regcache *regcache);
+/* For regcache_read_pc see common/common-regcache.h. */
extern void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc);
/* Transfer a raw register [0..NUM_REGS) between the regcache and the
/* Copy/duplicate the contents of a register cache. By default, the
operation is pass-through. Writes to DST and reads from SRC will
- go through to the target.
-
- The ``cpy'' functions can not have overlapping SRC and DST buffers.
+ go through to the target. See also regcache_cpy_no_passthrough.
- ``no passthrough'' versions do not go through to the target. They
- only transfer values already in the cache. */
+ regcache_cpy can not have overlapping SRC and DST buffers. */
extern struct regcache *regcache_dup (struct regcache *regcache);
extern void regcache_cpy (struct regcache *dest, struct regcache *src);
-extern void regcache_cpy_no_passthrough (struct regcache *dest,
- struct regcache *src);
extern void registers_changed (void);
extern void registers_changed_ptid (ptid_t);