qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] qemu cpu-all.h cpu-exec.c exec.c target-i386/cp...


From: Alexander Graf
Subject: Re: [Qemu-devel] qemu cpu-all.h cpu-exec.c exec.c target-i386/cp...
Date: Mon, 24 Sep 2007 13:21:40 +0200
User-agent: Thunderbird 2.0.0.4 (X11/20070613)

Hi Fabrice,

thank you for commenting on this.

Fabrice Bellard wrote:
> Hi,
>
> The code would be simpler if some intercept tests were done at runtime
> in the corresponding helpers (for crN, drN and MSR registers, I/Os).
> This is especially true when the existing helpers can return an
> exception at runtime. 

So basically you mean it would be simpler if all the intercepts that can
occur in helpers are checked for in helpers? Right now I'm quite glad to
have all intercept information in one file (translate.c) and can see if
there is an intercept happening just by taking a look at the opcode
translation code. I don't know about the program flow simplicity though,
so maybe I could change it back to implement all the intercepts that can
be done in helpers in the helpers.

> Complicating the translator to handle SVM is definitely not the way I
> would have handled it.
>

Complicating in which way? Adding extra flags or adding extra
instructions when svm is used? We have to add instructions in cases
where the opcode is not handled by a helper or the order of checks is
different (e.g. an instruction may only run in cpl 3, but the intercept
always occurs).

> For I/Os for example, there was already the necessary support to do
> runtime tests (see gen_check_io()). Adding one bit to return the
> prefix information is all what it needed. The current code is actually
> slower because new ops were added for each I/O instruction.

This looks good. I will take a look at that one.

Thanks,

Alex





reply via email to

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