donât think it is
upstream. This is just my guess because I am not a person who
developed. It is
developed by Samsung as a research project or something. They disclosed
code. They donât want to spend their resource for maintaining.
this mailing list is very quiet.
One more question: I thought xen-arm was upstream?
I downloaded xen-unstable.hg, but I don't see the arm code anywhere.
Do I have to change to a different mercurial branch to find it?
Caz Yokoyama wrote:
What the nice idea full linux-2.6.21-arm and Android running upon Xen!
Qualcomm may be interested in.
From: Michael R. Hines [mailto:michael@xxxxxxxxxxxx]
Sent: Monday, October 19, 2009 4:19 PM
To: Caz Yokoyama
Subject: Re: [XenARM] android emulator
Actually, I got it to work. The problem was that that I was compiling on
a 64-bit version of the ARM-ported emulator instead of a 32-bit version,
so I logged into a 32-bit machine and attempted to compile it.
However, there was one snag before it worked: a patch is needed:
--- Taken from http://code.google.com/p/android/issues/detail?id=838
1.) A -msse2 cflags is missing in Makefile.target which make _mm_add_si64
cannot be found:
/android-emulator-20080826/qemu/skins/skin_argb.h:286: warning: implicit
declaration of function '_mm_add_si64'
/android-emulator-20080826/qemu/skins/skin_argb.h:286: error: incompatible
types in assignment
2.) The error comment in build-emulator.sh is wrong.
--- qemu.orig/Makefile.targetÂ 2008-08-29 10:01:41.000000000 +0800
+++ qemu/Makefile.targetÂÂÂÂÂÂ 2008-08-29 10:01:24.000000000 +0800
@@ -39,7 +39,7 @@ endif
OP_CFLAGS=$(CFLAGS) -O2 -fomit-frame-pointer
+CFLAGS+=-DUSE_MMX -mmmx -msse2
Once I applied this on a 32-bit Ubuntu 9.04 server box, the compile
and the two mini-os domains started running inside the emulator.
Cool stuff! Thank you very much for your quick response.
What is the possibility of getting a full linux-2.6.21-arm running
inside the emulator?
Is that possible right now?
Caz Yokoyama wrote:
What optimization option do you use? -O2? -O0? Don't use -O0. You will
segfault. Could you run backtrace command on segfault? In addition, please
provide more detail of your environment.
P.S. You may not hear from anybody other than me. This is a very quiet
[mailto:xen-arm-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Michael R. Hines
Sent: Monday, October 19, 2009 12:58 PM
Subject: [XenARM] android emulator
I have followed all the instructions in the Secure XenARM manual and I
went through section A.2 on how to build XenARM for the Android
emulator. I successfully built the arm-port of Xen as well as the
arm-port of mini-os and I built the patched version of QEMU 0.82.
When I tried to run the emulator, I get a segfault - From what I can
tell, the fault occurs at the very first instruction when QEMU attempts
to start running the Xen hypervisor.
Here is the output of a sample GDB session:
$ gdb emulator
$ (gdb) run -guest0 0x01c00000 mini-os.elf -guest1 0x02c00000
mini-os.elf -show-kernel -system ./images -shell -qemu -s
Starting program: ../android-emulator-xen_arm/emulator -guest0
0x01c00000 mini-os.elf -guest1 0x02c00000 mini-os.elf -show-kernel
-system ./imagesÂ -shell -qemu -s
[Thread debugging using libthread_db enabled]
guest0 - mini-os.elf
guest1 - mini-os.elf
[New Thread 0x7f32a807c6f0 (LWP 5913)]
[New Thread 0x7f329e9f0950 (LWP 5916)]
[New Thread 0x7f329e1ef950 (LWP 5917)]
Waiting gdb connection on port 1234
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f32a807c6f0 (LWP 5913)]
0x0000000000000000 in ?? ()
Any ideas on where I could start debugging this? Or are there updated
patches to make this work?
* Michael R. Hines
* Post-Doc, Dept. of Computer Science
* Live long and prosper...