All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] using qemu binary translation to run I386 code under x86_64
@ 2013-11-02 12:23 Lex
  0 siblings, 0 replies; only message in thread
From: Lex @ 2013-11-02 12:23 UTC (permalink / raw)
  To: qemu-devel

Hi all,

I am new to the list and to qemu development in general, so my question 
might be discussed already (though I failed to find an answer in 
archives, thus writing here).

I want to use qemu to execute x86 32-bit binary code inside of x86_64 
process under OS X. In future, I would like to be able to execute the 
same code on other architectures (not x86).

Background: I have a library written in 32-bit intel assembly which does 
not use any system calls (just computations). Eventhough sources are 
available, there is no plans to rewrite it into C, because code is very 
ancient, parts are received from reverse-engineering/disasming (and thus 
are unmaintainable) etc.

Up until recently, I was using helper 32-bit executable, interfacing 
with it through stdandart input/output from 64-bit process. It is no 
longer an option unfortunately.

Is it possible to:
1. set up memory of target CPU (load the binary, write in function 
arguments)
2. using qemu, call the function from the library
3. read memory of target CPU (get data, returned by the function).

Thing is that I don't need full system emulation (hardware, bios, etc) - 
that would be an overkill. qemu usermode looks very promising in that 
regard, but it seems support for darwin was removed...

So, I wonder whether things I am asking are already possible and how 
much efford it might require?

Thanks in advance for all your help!

Lex

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-11-02 12:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-02 12:23 [Qemu-devel] using qemu binary translation to run I386 code under x86_64 Lex

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.