On Thu, May 24, 2012 at 1:04 AM, Peter Maydell <peter.mayd...@linaro.org> wrote:
> On 23 May 2012 23:38, Alex Barcelo <abarc...@ac.upc.edu> wrote:
>> This *always* goes wrong without calling the signal handler
>
> I haven't looked too closely, but I suspect we're just not
> paying any attention to whether memory does or doesn't have
> the PROT_EXEC permission when we translate code from it.

Ok, makes sense.

> This is the kind of corner case that the linux-user code is
> often not very good at, because not many guest programs play
> this sort of game.

I see. But, does qemu-system play this sort of game? I haven't been
able to find this sort of protect-catch-unprotect for execution, and
my goal is to run qemu-system on top of qemu-user. The self-modifying
code is done through the write protection of memory pages, but I can't
see which would be the root problem. It seems that self-modifying code
is done in two levels, in qemu-user and in qemu-system, but this
should not be a problem... once the signal mask is correctly managed
by usermode. Am I right?

I plan to bugfix the usermode masking problem as best as I can, but
first I wanted to make sure that this will bring me closer to the
goal.

Thanks a lot for your time and patience

Reply via email to