The Dalvik VM has a "portable" interpreter written in C that should work on
MIPS (it also includes assembly versions of the interpreter for ARM and x86
for better performance but these are optional).

There may be a need to add a small MIPS-specific assembly fragment to
support VM <-> native calls. I believe we used to use libffi or something
like that for platforms that were not explicitely supported, or our own
custom specific asm fragments otherwise. fadden could probably tell more
about that.

On Mon, Mar 30, 2009 at 8:46 AM, Peter McDermott <pe...@nthcode.com> wrote:

> David,
>
> Do you expect the Dalvik VM would need modifications for MIPS?  If so,
> would it be similar to the changes necessary for bionic (replace some ARM
> assembler functions/macros with MIPS assembler functions/macros) or would it
> be more involved?
>
> Thanks,
>
> Peter
>
> On Mar 28, 2009, at 1:19 AM, David Turner wrote:
>
>
>
> On Fri, Mar 27, 2009 at 9:04 AM, zhou <bismack...@gmail.com> wrote:
>
>>
>> Can anybody share some knowledges about the toolchain?
>> Looks like it is based on the gcc 4.2.1.
>> I have tried to diff it against the standard gcc-4.2.1 release, but
>> get an farely large patch....
>>
>> What are the main changes and their purpose?
>>
>
> most, if not all, the changes are fixes that have been inserted into later
> versions of GCC.
> I would not worry to much about this toolchain.
>
>
>>
>> If we need to port Android to MIPS system, what kind of further
>> changes are needed?
>>
>
> Since you'll be starting from scratch, you should select the best gcc-based
> toolchain you have
> (probably try a recent one), then modify the build system files to support
> "mips" as a valid TARGET_ARCH,
> this probably requires writing a custom build/core/combo/linux-mips.mkfile.
>
> After that, you should port the C library, which requires various
> assembler-languages fragments, most
> of these would be available from one of the BSD's projects for you. This
> will also require mips-specific
> Linux kernel headers.
>
> Then port the dynamic linker (bionic/linker) to support MIPS relocations.
>
> The emulator doesn't support MIPS, but you may be able to add a directory
> external/qemu/target-mips
> directory by taking the sources from upstream qemu to do that, you will
> also need a file named
> external/qemu/hw/android_mips.c to initialize your virtual machine.
>
> After this is done, things should be a lot simpler to test and gradually
> improve.
>
> Hope this helps
>
>
>
>
>>
>> Thanks
>>
>>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to