[Vm-dev] [commit][3116] More ARM linux loose ends.

commits at squeakvm.org commits at squeakvm.org
Mon Oct 27 18:59:17 UTC 2014


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-linux-td4704245.html). 
+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 \



More information about the Vm-dev mailing list