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. Complicating the translator to handle SVM is definitely not the way I would have handled it.

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.

Regards,

Fabrice.

Thiemo Seufer wrote:
CVSROOT:        /sources/qemu
Module name:    qemu
Changes by:     Thiemo Seufer <ths>       07/09/23 15:28:04

Modified files:
. : cpu-all.h cpu-exec.c exec.c target-i386 : cpu.h exec.h helper.c helper2.c op.c translate.c
Log message:
        SVM Support, by Alexander Graf.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-all.h?cvsroot=qemu&r1=1.75&r2=1.76
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-exec.c?cvsroot=qemu&r1=1.115&r2=1.116
http://cvs.savannah.gnu.org/viewcvs/qemu/exec.c?cvsroot=qemu&r1=1.105&r2=1.106
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/cpu.h?cvsroot=qemu&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/exec.h?cvsroot=qemu&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/helper.c?cvsroot=qemu&r1=1.87&r2=1.88
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/helper2.c?cvsroot=qemu&r1=1.51&r2=1.52
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/op.c?cvsroot=qemu&r1=1.50&r2=1.51
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/translate.c?cvsroot=qemu&r1=1.70&r2=1.71







Reply via email to