[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 18:08:34 +0200 |
User-agent: |
KMail/1.9.6 (enterprise 0.20070907.709405) |
Hi!
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
extend...
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
still.
Any help is - as always - greatly appreciated!!
Cheers,
Clemens
- [Qemu-devel] dyngen_code in 16 bit,
Clemens Kolbitsch <=