]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/cr16/endian.c
sim: cr16: delete unused memory helpers
[thirdparty/binutils-gdb.git] / sim / cr16 / endian.c
CommitLineData
fee8ec00 1/* Simulation code for the CR16 processor.
32d0add0 2 Copyright (C) 2008-2015 Free Software Foundation, Inc.
fee8ec00
SR
3 Contributed by M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>
4
5 This file is part of GDB, the GNU debugger.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
dc3cf14f 9 the Free Software Foundation; either version 3, or (at your option)
fee8ec00
SR
10 any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
ccd2d1c8
SR
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
fee8ec00
SR
19
20
21/* If we're being compiled as a .c file, rather than being included in
22 cr16_sim.h, then ENDIAN_INLINE won't be defined yet. */
23
24#ifndef ENDIAN_INLINE
25#define NO_ENDIAN_INLINE
26#include "cr16_sim.h"
27#define ENDIAN_INLINE
28#endif
29
30ENDIAN_INLINE uint16
5aedb83b 31get_word (uint8 *x)
fee8ec00
SR
32{
33 return *(uint16 *)x;
34}
35
36ENDIAN_INLINE uint32
5aedb83b 37get_longword (uint8 *x)
fee8ec00
SR
38{
39 return (((uint32) *(uint16 *)x) << 16) | ((uint32) *(uint16 *)(x+2));
40}
41
fee8ec00 42ENDIAN_INLINE void
5aedb83b 43write_word (uint8 *addr, uint16 data)
fee8ec00
SR
44{
45 addr[1] = (data >> 8) & 0xff;
46 addr[0] = data & 0xff;
47
48}
49
50ENDIAN_INLINE void
5aedb83b 51write_longword (uint8 *addr, uint32 data)
fee8ec00
SR
52{
53 *(uint16 *)(addr + 2) = (uint16)(data >> 16);
54 *(uint16 *)(addr) = (uint16)data;
55}