Revision: 3116 Author: eliot Date: 2014-10-27 11:59:12 -0700 (Mon, 27 Oct 2014) Log Message: ----------- More ARM linux loose ends.
Modified Paths: -------------- branches/Cog/build.linux32ARM/HowToBuild branches/Cog/build.linux32ARM/squeak.stack.v3/build/plugins.ext branches/Cog/platforms/unix/plugins/BitBltPlugin/Makefile.inc branches/Cog/platforms/unix/vm-display-X11/Makefile.in
Added Paths: ----------- branches/Cog/build.linux32ARM/asasm
Modified: branches/Cog/build.linux32ARM/HowToBuild =================================================================== --- branches/Cog/build.linux32ARM/HowToBuild 2014-10-25 23:00:07 UTC (rev 3115) +++ branches/Cog/build.linux32ARM/HowToBuild 2014-10-27 18:59:12 UTC (rev 3116) @@ -11,6 +11,7 @@ - How to configure and build a VM on Unix - Testing an external plugin has completely linked - Optimization level and gcc version (please read!) + - BitBlt optimizations on ARM
Overview @@ -183,7 +184,7 @@
N.B. If you're on a 64-bit linux read 3e below!! N.B. On Ubuntu *do not* supply "LIBS=-lpthread -luuid", i.e. use - ../../platforms/unix/config/configure --without-npsqueak CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0" + ../platforms/unix/config/configure --without-npsqueak CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0"
N.B. The plugin set is defined by plugins.ext and plugins.int in the build dir. @@ -216,3 +217,14 @@ gcc version 3.4.6 20060404 (Red Hat 3.4.6-10) using -O2 results in a VM that segfaults early in startup. For these compilers it is probably wise to use -O1, even though -O3 seems to work. + + +BitBlt optimizations on ARM +--------------------------- +On ARM, BitBlt optimizations can be enbaled by including --enable-fast-bitblt as an option to ../platforms/unix/config/configure (default). +This requires the use of the assembler asasm (cf. http://lists.squeakfoundation.org/pipermail/vm-dev/2013-May/012959.html and http://forum.world.st/commit-2774-add-instructions-for-enableFastBlt-on-arm-...). +However it is tricky to build from source and pre-packaged versions for Raspbian, Ubuntu, etc do not seem to be available. Therefore +asasm is included in Cog/build.linux32ARM/ as a pre-built binary. The Makefiles for BitBltPlugin and vm-display-X11 reference it directly. + + +
Added: branches/Cog/build.linux32ARM/asasm =================================================================== (Binary files differ)
Property changes on: branches/Cog/build.linux32ARM/asasm ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream
Modified: branches/Cog/build.linux32ARM/squeak.stack.v3/build/plugins.ext =================================================================== --- branches/Cog/build.linux32ARM/squeak.stack.v3/build/plugins.ext 2014-10-25 23:00:07 UTC (rev 3115) +++ branches/Cog/build.linux32ARM/squeak.stack.v3/build/plugins.ext 2014-10-27 18:59:12 UTC (rev 3116) @@ -6,5 +6,4 @@ UnicodePlugin \ UnixOSProcessPlugin \ UUIDPlugin \ -SqueakFFIPrims \ XDisplayControlPlugin
Modified: branches/Cog/platforms/unix/plugins/BitBltPlugin/Makefile.inc =================================================================== --- branches/Cog/platforms/unix/plugins/BitBltPlugin/Makefile.inc 2014-10-25 23:00:07 UTC (rev 3115) +++ branches/Cog/platforms/unix/plugins/BitBltPlugin/Makefile.inc 2014-10-27 18:59:12 UTC (rev 3116) @@ -2,4 +2,4 @@ XCFLAGS = $(BITBLT_FLAGS) ASMINCLUDES = -I$(topdir)/platforms/Cross/plugins/BitBltPlugin ASMFLAGS = -cpu=$(ARM_ARCH) -AS = asasm $(ASMFLAGS) $(ASMINCLUDES) -o \ No newline at end of file +AS = $(blddir)/../../asasm $(ASMFLAGS) $(ASMINCLUDES) -o \ No newline at end of file
Modified: branches/Cog/platforms/unix/vm-display-X11/Makefile.in =================================================================== --- branches/Cog/platforms/unix/vm-display-X11/Makefile.in 2014-10-25 23:00:07 UTC (rev 3115) +++ branches/Cog/platforms/unix/vm-display-X11/Makefile.in 2014-10-27 18:59:12 UTC (rev 3116) @@ -46,7 +46,7 @@ XCFLAGS = $(VM_DISPX11_BITBLT_FLAGS) ASMINCLUDES = -I$(topdir)/platforms/Cross/plugins/BitBltPlugin ASMFLAGS = -cpu=$(ARM_ARCH) -AS = asasm $(ASMFLAGS) $(ASMINCLUDES) -o +AS = $(blddir)/../../asasm $(ASMFLAGS) $(ASMINCLUDES) -o
XINCLUDES = [includes] $(X_INCLUDES) \ -I$(topdir)/platforms/Cross/plugins/FilePlugin \
vm-dev@lists.squeakfoundation.org