Jump to content

OS X for SSE (qemu)


Dragon
 Share

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

surely emulating instructions on something that runs them natively would be fast anyway, because it isnt going to take much effort to do? thats the nature of computers - it has to be faster than x86 on PPC or the other way round - no?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Qemu is open source, thats going back to my original suggestion of integration. Obviously its the easiest way of doing things, and the fastest but we need someone with a lot of experience in this area :D

Edited by Embio
Link to comment
Share on other sites

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... ;)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

that's why I called it a "backup plan". :lol:

it may still be easier though, OS X might give us other problems that don't rely on the kernel.

i still have a feeling a slight amount of emulation will be required.

Link to comment
Share on other sites

I'm uploading my "PearOS"/"QemuOS" on megaupload for anyone that wants it. You have to start OS X manually and get access to the osx86 img/isos yourself.

 

I'll post the link when it finishes uploading.

Link to comment
Share on other sites

 Share

×
×
  • Create New...