aarch64 stack spur progress

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

aarch64 stack spur progress

KenDickey
Small progress.

I now have a squeak which runs spur format images on arm64 with only 64 bit libs:

    sqstkspur64linuxht/lib/squeak/5.0-20181206231/*

This is a proof of concept, as I hacked several files to get here, basically for null cases.

In particular, I have a custom "mvm" which sets opts
  -D__arm64__
  -D__ARM_ARCH_8A__
and
  TARGET_ARCH="-march=armv8-a"

which are used in "sqUnixMain.c" and "sqUnixHeartbeat.c"

And of course I added a trivial case to config.guess
    aarch64:Linux:*:*)
    echo ${UNAME_MACHINE}-unknown-linux-gnu
    exit 0 ;;

This compiled and ran OK on LePotato (AML-S905X-CC) soc, tested with Cuis5.0-3485.image.

Armbian:aarch64:~ >>> uname -a
 Linux spud 4.14.70-meson64 #269 SMP PREEMPT Wed Sep 19 11:21:29 CEST 2018 aarch64 GNU/Linux

How do I make this regular/harmless?  What testing? ...

I was thinking perhaps the "mvm" in
  oscogvm/build.linux64x64/squeak.stack.spur/buildARM64/

Thanks again,
-KenD

_______________________________________________
VM-beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners
-KenD
Reply | Threaded
Open this post in threaded view
|

Re: aarch64 stack spur progress

Eliot Miranda-2
Hi Tim,

On Sat, Dec 8, 2018 at 4:24 PM <[hidden email]> wrote:
Small progress.

I now have a squeak which runs spur format images on arm64 with only 64 bit libs:

    sqstkspur64linuxht/lib/squeak/5.0-20181206231/*

This is a proof of concept, as I hacked several files to get here, basically for null cases.

In particular, I have a custom "mvm" which sets opts
  -D__arm64__
  -D__ARM_ARCH_8A__
and
  TARGET_ARCH="-march=armv8-a"

which are used in "sqUnixMain.c" and "sqUnixHeartbeat.c"

And of course I added a trivial case to config.guess
    aarch64:Linux:*:*)
    echo ${UNAME_MACHINE}-unknown-linux-gnu
    exit 0 ;;

This compiled and ran OK on LePotato (AML-S905X-CC) soc, tested with Cuis5.0-3485.image.

Armbian:aarch64:~ >>> uname -a
 Linux spud 4.14.70-meson64 #269 SMP PREEMPT Wed Sep 19 11:21:29 CEST 2018 aarch64 GNU/Linux

How do I make this regular/harmless?  What testing? ...

I was thinking perhaps the "mvm" in
  oscogvm/build.linux64x64/squeak.stack.spur/buildARM64/

The idea is to add a build.linux64ARM64 or build.linux64ARMv8.  The scheme is to have build."OperatingSystemName""WordSize""ProcessorName". Why on earth would you want to squeeze the ARMv8 build into the x86_64/x64 build?  It doesn't belong there.

List all the build.foo directories and see if they make sensor to you.  Then you can add build directories for the ARMv8 builds that follow the scheme and don't involve you violating the convention.  I believe the convention is discussed in README.md

HTH


Thanks again,
-KenD
_______________________________________________
VM-beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners


--
_,,,^..^,,,_
best, Eliot

_______________________________________________
VM-beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners
Reply | Threaded
Open this post in threaded view
|

Re: aarch64 stack spur progress

KenDickey

The idea is to add a build.linux64ARM64 or build.linux64ARMv8.  The scheme is to have build."OperatingSystemName""WordSize""ProcessorName". Why on earth would you want to squeeze the ARMv8 build into the x86_64/x64 build?  It doesn't belong there.

Ah. Sorry.  I was reading the dirname "build.linix64x64" as 64 bit VM+libs x 64 bit (Spur) object representation.

Missed the meaning of "x64" as being "x86"

I plan take a look at the 64bit iOS stuff, repackage and test a build.linux64xARMv8 this week.  

Thanks all!
-KenD

_______________________________________________
VM-beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners
-KenD