MIPS Big Endian Support with Soft Float

72 views
Skip to first unread message

Hannes Stauss

unread,
Oct 27, 2014, 8:48:41 AM10/27/14
to mi...@dartlang.org
I would like to run the dartvm on a MIPS big endian embedded board without floating point unit. I successfully compiled the sdk with a little trick and was able to run the binary on the target platform, however, obviously running even a hello world example aborts with an internal error. So I have following questions:
  • What would need to be done to support big endian for MIPS architecture - could you give me any pointers to start with?
  • Any chance to use gcc soft float support instead of hard float - I know v8 dropped soft float support for MIPS some time ago
Many thanks for your input in advace!


Zachary Anderson

unread,
Oct 27, 2014, 12:25:57 PM10/27/14
to mi...@dartlang.org
Hi Hannes,

At the moment, there is no support for MIPS CPUs without a floating point unit. Support could be added by following what we already do on the ARM side, though. Once that is in place, I don't believe any further changes would be needed to support soft-float. Since unboxed doubles would be disabled, we wouldn't be making any floating-point calls from generated code.

As for supporting different endianness, I'm less sure of the changes that would be needed. I would proceed by beginning with the simple assembler tests under runtime/vm/assembler_mips_test.cc, which are built into e.g. out/ReleaseXMIPS/run_vm_tests, trying increasingly complex tests from there, and seeing what breaks.

This work would probably take 2+ weeks even for someone already familiar with the code, and at the moment we don't have plans to add support for this configuration.

Even so, let me know if you'd like to try to tackle this, and I can provide more guidance.

Cheers,
Zach

--
For other discussions, see https://groups.google.com/a/dartlang.org/
 
For HOWTO questions, visit http://stackoverflow.com/tags/dart
 
To file a bug report or feature request, go to http://www.dartbug.com/new

To unsubscribe from this group and stop receiving emails from it, send an email to misc+uns...@dartlang.org.

Hannes Stauss

unread,
Oct 28, 2014, 2:12:01 PM10/28/14
to mi...@dartlang.org
Hi Zach

Thanks for your reply. My embedded system is too resource constrained to run run_vm_tests, therefore I am setting up a qemu environment to see what is possible. I am unfortunately not an experienced C++ developer, though. (That's why I want dart on my embedded system ;-)

In general it would be great if there were an official support for these low-cost-MIPS-big-endian-without-floating-point-unit-systems which would extend the end-to-end support even to the internet of things.

Nevertheless, thanks for offering guidance, I will get back to you when I make some progress.

Best regards
Hannes
Reply all
Reply to author
Forward
0 new messages