1/* Generic memory read/write for hardware simulator models.
2   Copyright (C) 1997-2023 Free Software Foundation, Inc.
3   Contributed by Cygnus Support.
4
5This file is part of GDB, the GNU debugger.
6
7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20/* This must come before any other includes.  */
21#include "defs.h"
22
23#include "sim-main.h"
24#include "sim-assert.h"
25
26/* Generic implementation of sim_read that works with simulators
27   modeling real hardware */
28
29int
30sim_read (SIM_DESC sd, SIM_ADDR mem, void *buffer, int length)
31{
32  SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
33  return sim_core_read_buffer (sd, NULL, read_map,
34			       buffer, mem, length);
35}
36
37int
38sim_write (SIM_DESC sd, SIM_ADDR mem, const void *buffer, int length)
39{
40  SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
41  return sim_core_write_buffer (sd, NULL, write_map,
42				buffer, mem, length);
43}
44