[Top][All Lists]

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

[Qemu-devel] dyngen_code in 16 bit

From: Clemens Kolbitsch
Subject: [Qemu-devel] dyngen_code in 16 bit
Date: Mon, 14 Apr 2008 12:16:08 +0200
User-agent: KMail/1.9.6 (enterprise 0.20070907.709405)

For a research project I extended Qemu to include some extra code inside the 
op_XXX instructions that increased the generated TB-code's size to quite some 

Now I have a problem when having block chaining enabled (that I don't want to 
disable for performance reasons :-/): The code_gen_buffer sometimes contains 
code areas that span more than 0xffff bytes, however, dyngen and all 
functions related to it use 16 bit pointers, etc. Therefore, e.g. the 
dyngen_code function uses the 16 bit pointers to overwrite certain params and 
of course destroys the TB-code.

When working with x86 hosts and guests (both 32 bit), is there a specific 
reason for all these pointers to be 16 bits or has it just been a safe 
assumption up to now?? I have tried rewriting the code to use 32 bit, but 
keep getting segfaults... however, of course, I might have missed some code 

Any help is - as always - greatly appreciated!!


reply via email to

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