qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

memory_ldst.h.inc (3531B)


      1 /*
      2  *  Physical memory access templates
      3  *
      4  *  Copyright (c) 2003 Fabrice Bellard
      5  *  Copyright (c) 2015 Linaro, Inc.
      6  *  Copyright (c) 2016 Red Hat, Inc.
      7  *
      8  * This library is free software; you can redistribute it and/or
      9  * modify it under the terms of the GNU Lesser General Public
     10  * License as published by the Free Software Foundation; either
     11  * version 2.1 of the License, or (at your option) any later version.
     12  *
     13  * This library is distributed in the hope that it will be useful,
     14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     16  * Lesser General Public License for more details.
     17  *
     18  * You should have received a copy of the GNU Lesser General Public
     19  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
     20  */
     21 
     22 #ifdef TARGET_ENDIANNESS
     23 extern uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     24     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     25 extern uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
     26     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     27 extern uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL,
     28     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     29 extern void glue(address_space_stl_notdirty, SUFFIX)(ARG1_DECL,
     30     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
     31 extern void glue(address_space_stw, SUFFIX)(ARG1_DECL,
     32     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
     33 extern void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     34     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
     35 extern void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     36     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
     37 #else
     38 extern uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
     39     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     40 extern uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
     41     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     42 extern uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL,
     43     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     44 extern uint32_t glue(address_space_ldl_le, SUFFIX)(ARG1_DECL,
     45     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     46 extern uint32_t glue(address_space_ldl_be, SUFFIX)(ARG1_DECL,
     47     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     48 extern uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL,
     49     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     50 extern uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL,
     51     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
     52 extern void glue(address_space_stb, SUFFIX)(ARG1_DECL,
     53     hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result);
     54 extern void glue(address_space_stw_le, SUFFIX)(ARG1_DECL,
     55     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
     56 extern void glue(address_space_stw_be, SUFFIX)(ARG1_DECL,
     57     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
     58 extern void glue(address_space_stl_le, SUFFIX)(ARG1_DECL,
     59     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
     60 extern void glue(address_space_stl_be, SUFFIX)(ARG1_DECL,
     61     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
     62 extern void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     63     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
     64 extern void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     65     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
     66 #endif
     67 
     68 #undef ARG1_DECL
     69 #undef ARG1
     70 #undef SUFFIX
     71 #undef TARGET_ENDIANNESS