[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] qemu as dynamic binary translation infrastructure
From: |
Liu Xin |
Subject: |
[Qemu-devel] qemu as dynamic binary translation infrastructure |
Date: |
Tue, 26 Jun 2012 22:59:26 +0800 |
Hi, community,
our company uses QEMU as system emulator, to emulate our private-ISA processor and SoC. recently, we came up an idea to build a dynamic binary translator on top of current QEMU technology. please you guys in this community are experienced and your aforementioned advices are really precious for me!
i) I wish to run APKs(android application package) with ARM native libraries. certainly, dynamic binary translation involves here. i've implemented tcg to our ISA and built up a tailored "qemu-arm" for android. it turns out we have few trouble to run statically-linked binaries. My question is how about binary translation slow down? My concerning costs are 2 aspects:
1) runtime overhead: such as translation time and TB management.
2) translation efficiency: the quality of code which are translated from ARM to TCG to native instructions.
I know the 2nd step highly depends on ISA encoding. you can assume our ISA is like Mips here. Does existing optimizations for TCG help a lot for generated code?
ii) DSO-support for user-mode qemu
qemu user-mode supports ELF file. because it handles interpreter and dynamic sections of ELF, i can assume that user-qemu is capable of loading PIEs and executables with shared libraries. I guess you must use it on GNU/Linux platforms mostly.
android doesn't use glibc and ld-linux.so. it uses BSD-flavor libc and dynamic linker. does anybody here run shared-linked binaries for android using user-mode qemu?
thanks,
--lx
- [Qemu-devel] qemu as dynamic binary translation infrastructure,
Liu Xin <=