qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Problems with Modifying "TranslationBlock"


From: address@hidden
Subject: [Qemu-devel] Problems with Modifying "TranslationBlock"
Date: Tue, 4 Sep 2007 14:48:53 +0800

Hi, everybody,

I have encountered an odd problem. I want to mark the "TranslationBlock" when 
the code running on guest-os is a 'call' one or a 'ret' one. So I add some 
member variables in "TranslationBlock" of "exec-all.h". Just like the 
following: 


typedef struct TranslationBlock {

    target_ulong pc;   /* simulated PC corresponding to this block (EIP + CS 
base) */
        ..........
    struct TranslationBlock *jmp_first;
        int is_call;            // I add this if the translation block is a 
'call' block
        int is_ret;         // I add this if the translation block is a 'ret' 
block
}

Moreover, I add some codes in "Translation.c" to mark the current block 'call' 
or 'ret'.

Although the code I add seems work well, the result is not correct. Moreover, 
if I add the member variables before 'pc' in TranslationBlock, qemu does not 
even work. 

So can anyone help me?  Thanks a lot in advance.

Kevin






reply via email to

[Prev in Thread] Current Thread [Next in Thread]