Jump to content
417 posts in this topic

Recommended Posts

so there's no way to virtualise non-SSE instructions and emulate the rest?

 

maxxuss used to trap the exception raised by the lack of an SSE3 instruction and trapped it to call emulation code, i think. is there any way we could do something similar?

qvm86 says :

Virtualisation allows "emulated" code to be run natively on the host cpu, using the CPU protection mechanisms to intercept and emulate priveleged events.

 

i'm wondering if it's possible to set which events are "priveleged".

maybe we could set all SSE2 calls to be emulated and the rest virtualized then.

Embio - dont bet on it. Emulating a full x86 processor doesnt get any faster just because your executing your emulation code on an x86 processor. You have to specifically code to take advantage of x86 features if you want to optimise. Thats why QEMU on x86 is slow without the accelerator module, which does offload the work to the real processor.

 

What we want is a hybrid approach where instructions supported by the processor are run 'natively' or at least executed in a virtualisation-style way, and instructions which are not supported (eg SSE, SSE2, SSE3) are emulated in software.

that would be a great solution, and would negate the need for qemu and linux. any volunteers? :D

 

EDIT: I think ops_sse.h in target_i386 of the qemu source will provide interesting reading... :2cents:

 

EDIT2: If this is possible, it would be HUGE! Imagine all the 'disenfranchised' machines which could be supported... ;)

It's possible, but it would require quite an experience developer to implement it.

 

EDIT: As a backup plan, we could modify kqemu to only virtualize non-SSE2 instructions now that it's open source if that's easier.

×
×
  • Create New...