exec-all.h revision 4c37c32b924cb13b821f9d2e01f42cabbd3d9cf9
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * internal execution defines for qemu
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Copyright (c) 2003 Fabrice Bellard
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * This library is free software; you can redistribute it and/or
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * modify it under the terms of the GNU Lesser General Public
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * License as published by the Free Software Foundation; either
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * version 2 of the License, or (at your option) any later version.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * This library is distributed in the hope that it will be useful,
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * but WITHOUT ANY WARRANTY; without even the implied warranty of
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Lesser General Public License for more details.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * You should have received a copy of the GNU Lesser General Public
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * License along with this library; if not, see <http://www.gnu.org/licenses/>.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * a choice of LGPL license versions is made available with the language indicating
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * that LGPLv2 or any later version may be used, or where a choice of which version
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * of the LGPL is applied is otherwise unspecified.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk/* allow to see translation results - the slowdown should be negligible, so we leave it */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# include <VBox/vmm/pgm.h> /* PGM_DYNAMIC_RAM_ALLOC */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#endif /* VBOX */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk/* is_jmp field values */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#define DISAS_NEXT 0 /* next instruction can be analyzed */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#define DISAS_JUMP 1 /* only pc was modified dynamically */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#define DISAS_UPDATE 2 /* cpu state was modified dynamically */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#define DISAS_TB_JUMP 3 /* only pc was modified statically */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenktypedef struct TranslationBlock TranslationBlock;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk/* XXX: make safe guess about sizes */
#include "qemu-log.h"
unsigned long code_gen_max_block_size(void);
void cpu_gen_init(void);
int *gen_code_size_ptr);
void *puc);
void *puc);
int cflags);
int is_cpu_write_access);
#if defined(CONFIG_SOFTMMU)
#define USE_DIRECT_JUMP
#define USE_DIRECT_JUMP
struct TranslationBlock {
#ifdef VBOX
#ifdef USE_DIRECT_JUMP
extern int code_gen_max_blocks;
#if defined(USE_DIRECT_JUMP)
#if defined(_ARCH_PPC)
_flg = 0;
int n, unsigned long addr)
unsigned long offset;
int n, unsigned long addr)
#include "qemu-lock.h"
extern int tb_invalidated_flag;
#if !defined(CONFIG_USER_ONLY)
void *retaddr);
#include "softmmu_defs.h"
#include "softmmu_header.h"
#include "softmmu_header.h"
#include "softmmu_header.h"
#include "softmmu_header.h"
#if defined(CONFIG_USER_ONLY)
return addr;
# ifdef VBOX
target_ulong remR3PhysGetPhysicalAddressCode(CPUState *env, target_ulong addr, CPUTLBEntry *pTLBEntry, target_phys_addr_t ioTLBEntry);
# ifdef VBOX
p = (void *)(unsigned long)addr
return qemu_ram_addr_from_host(p);
if (!use_icount)
#ifdef CONFIG_KQEMU
void kqemu_record_dump(void);
/* vl.c */
#ifndef VBOX
extern int singlestep;