Home | History | Annotate | Download | only in mterp
      1 # Copyright (C) 2008 The Android Open Source Project
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
      4 # you may not use this file except in compliance with the License.
      5 # You may obtain a copy of the License at
      6 #
      7 #      http://www.apache.org/licenses/LICENSE-2.0
      8 #
      9 # Unless required by applicable law or agreed to in writing, software
     10 # distributed under the License is distributed on an "AS IS" BASIS,
     11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 # See the License for the specific language governing permissions and
     13 # limitations under the License.
     14 
     15 #
     16 # Configuration for ARMv4T architecture targets.  This is largely pulled
     17 # from the ARMv5TE sources, but we can't use certain instructions introduced
     18 # in ARMv5 (BLX, CLZ, LDC2, MCR2, MRC2, STC2) or ARMv5TE (PLD, LDRD, MCRR,
     19 # MRRC, QADD, QDADD, QDSUB, QSUB, SMLA, SMLAL, SMLAW, SMUL, SMULW, STRD).
     20 #
     21 
     22 handler-size 64
     23 
     24 # source for the instruction table stub
     25 asm-stub armv5te/stub.S
     26 
     27 # file header and basic definitions
     28 import c/header.c
     29 import armv5te/header.S
     30 
     31 # C pre-processor defines for stub C instructions
     32 import cstubs/stubdefs.c
     33 
     34 # highly-platform-specific defs
     35 import armv5te/platform.S
     36 
     37 # common defs for the C helpers; include this before the instruction handlers
     38 import c/opcommon.c
     39 
     40 # arch-specific entry point to interpreter
     41 import armv5te/entry.S
     42 
     43 # opcode list; argument to op-start is default directory
     44 op-start armv5te
     45     op OP_AGET_WIDE armv4t
     46     op OP_APUT_WIDE armv4t
     47     op OP_IGET_WIDE armv4t
     48     op OP_IGET_WIDE_QUICK armv4t
     49     op OP_IPUT_WIDE armv4t
     50     op OP_IPUT_WIDE_QUICK armv4t
     51     op OP_SGET_WIDE armv4t
     52     op OP_SPUT_WIDE armv4t
     53     op OP_IGET_WIDE_VOLATILE armv4t
     54     op OP_IPUT_WIDE_VOLATILE armv4t
     55     op OP_SGET_WIDE_VOLATILE armv4t
     56     op OP_SPUT_WIDE_VOLATILE armv4t
     57 op-end
     58 
     59 # "helper" code for C; include if you use any of the C stubs (this generates
     60 # object code, so it's normally excluded)
     61 #import c/gotoTargets.c
     62 
     63 # end of defs; include this when cstubs/stubdefs.c is included
     64 import cstubs/enddefs.c
     65 
     66 # common subroutines for asm
     67 import armv5te/footer.S
     68 import armv5te/debug.c
     69