00001 /* 00002 * Tiny Code Generator for QEMU 00003 * 00004 * Copyright (c) 2008 Fabrice Bellard 00005 * 00006 * Permission is hereby granted, free of charge, to any person obtaining a copy 00007 * of this software and associated documentation files (the "Software"), to deal 00008 * in the Software without restriction, including without limitation the rights 00009 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00010 * copies of the Software, and to permit persons to whom the Software is 00011 * furnished to do so, subject to the following conditions: 00012 * 00013 * The above copyright notice and this permission notice shall be included in 00014 * all copies or substantial portions of the Software. 00015 * 00016 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00017 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00018 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00019 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00020 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00021 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00022 * THE SOFTWARE. 00023 */ 00024 #define TCG_TARGET_I386 1 00025 00026 #define TCG_TARGET_REG_BITS 32 00027 //#define TCG_TARGET_WORDS_BIGENDIAN 00028 00029 #define TCG_TARGET_NB_REGS 8 00030 00031 enum { 00032 TCG_REG_EAX = 0, 00033 TCG_REG_ECX, 00034 TCG_REG_EDX, 00035 TCG_REG_EBX, 00036 TCG_REG_ESP, 00037 TCG_REG_EBP, 00038 TCG_REG_ESI, 00039 TCG_REG_EDI, 00040 }; 00041 00042 /* used for function call generation */ 00043 #define TCG_REG_CALL_STACK TCG_REG_ESP 00044 #define TCG_TARGET_STACK_ALIGN 16 00045 #define TCG_TARGET_CALL_STACK_OFFSET 0 00046 00047 /* Note: must be synced with dyngen-exec.h */ 00048 #define TCG_AREG0 TCG_REG_EBP 00049 #define TCG_AREG1 TCG_REG_EBX 00050 #define TCG_AREG2 TCG_REG_ESI 00051 #define TCG_AREG3 TCG_REG_EDI 00052 00053 static inline void flush_icache_range(unsigned long start, unsigned long stop) 00054 { 00055 }