[Vm-dev] [commit][3431]
Change the Mac Bochs plugin build to build libraries under the build dir.
commits at squeakvm.org
commits at squeakvm.org
Thu Sep 10 21:02:30 UTC 2015
Revision: 3431
Author: eliot
Date: 2015-09-10 14:02:28 -0700 (Thu, 10 Sep 2015)
Log Message:
-----------
Change the Mac Bochs plugin build to build libraries under the build dir. Soon enough we will have
64-bit and 32-bit versions of the plugins, and hence of the support libraries, so the logical place
to build the libs is in the build directory for the platform, e.g. build.macos32x86.
Modified Paths:
--------------
branches/Cog/build.macos32x86/squeak.cog.spur/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj
branches/Cog/build.macos32x86/squeak.cog.spur/makevm
branches/Cog/build.macos32x86/squeak.cog.v3/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj
branches/Cog/build.macos32x86/squeak.sista.spur/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj
branches/Cog/processors/IA32/bochs/explorationx64/Makefile
branches/Cog/processors/IA32/bochs/explorationx64/printcpu.c
branches/Cog/processors/IA32/bochs/explorationx64/printcpucr.c
branches/Cog/processors/IA32/bochs/explorationx64/printcpuxmm.c
Added Paths:
-----------
branches/Cog/build.macos32x86/bochsx64/
branches/Cog/build.macos32x86/bochsx64/conf.COG
branches/Cog/build.macos32x86/bochsx64/exploration/
branches/Cog/build.macos32x86/bochsx64/exploration/Makefile
branches/Cog/build.macos32x86/bochsx86/
branches/Cog/build.macos32x86/bochsx86/conf.COG
branches/Cog/processors/IA32/bochs/explorationx64/
Added: branches/Cog/build.macos32x86/bochsx64/conf.COG
===================================================================
--- branches/Cog/build.macos32x86/bochsx64/conf.COG (rev 0)
+++ branches/Cog/build.macos32x86/bochsx64/conf.COG 2015-09-10 21:02:28 UTC (rev 3431)
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+# Bochs x64 simulator for the BochsX64Alien plugin.
+# this sets up the x64 compile for Cog on Mac OS X. Disable as much inessential
+# stuff as possible leaving only the cpu/fpu & memory interface
+
+# build cpu/libcpu.a disasm/libdisasm.a fpu/libfpu.a using
+# $ ./conf.COG
+# $ ../../../processors/IA32/bochs/makeem
+
+set echo
+# CFLAGS="-pipe -O3 -fomit-frame-pointer -finline-functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays $CFLAGS"
+CFLAGS="-m32 $CFLAGS"
+CFLAGS="-Dlongjmp=_longjmp -Dsetjmp=_setjmp $CFLAGS"
+CFLAGS="-pipe -O3 -fomit-frame-pointer -finline-functions $CFLAGS"
+CFLAGS="-g $CFLAGS"
+CPPFLAGS=""
+CXXFLAGS="$CFLAGS"
+
+export CFLAGS
+export CPATH
+export CPPFLAGS
+export CXXFLAGS
+export LDFLAGS
+
+../../../processors/IA32/bochs/configure \
+ --enable-Cog \
+ --enable-cpu-level=6 \
+ --enable-sse=2 \
+ --enable-assert-checks \
+ --with-nogui \
+ --enable-x86-64 \
+ --enable-global-pages \
+ --disable-mtrr \
+ --disable-sb16 \
+ --disable-ne2000 \
+ --disable-pci \
+ --disable-acpi \
+ --disable-apic \
+ --disable-clgd54xx \
+ --disable-usb \
+ --disable-plugins \
+ ${CONFIGURE_ARGS}
+
+# apic == Advanced programmable Interrupt Controller
+# acpi == Advanced Configuration and Power Interface
+# pci == Peripheral Component Interconnect local bus
+# clgd54xx == Cirrus Logic GD54xx video card
Property changes on: branches/Cog/build.macos32x86/bochsx64/conf.COG
___________________________________________________________________
Added: svn:executable
+ *
Added: branches/Cog/build.macos32x86/bochsx64/exploration/Makefile
===================================================================
--- branches/Cog/build.macos32x86/bochsx64/exploration/Makefile (rev 0)
+++ branches/Cog/build.macos32x86/bochsx64/exploration/Makefile 2015-09-10 21:02:28 UTC (rev 3431)
@@ -0,0 +1,32 @@
+BOCHS=../../../processors/IA32/bochs
+BOCHSEX64=$(BOCHS)/explorationx64
+LIBDEPS=../../cpu/libcpu.a
+CFLAGS=-m32 -I.. -I$(BOCHS) -I$(BOCHS)/cpu -I$(BOCHS)/instrument/stubs -L../cpu -lcpu
+FULLLIBS=-L../fpu -lfpu -L../disasm -ldisasm
+
+.PHONY: $(LIBDEPS)
+
+all: BochsX64Alien-regs.st BochsX64Alien-cr.st BochsX64Alien-xmm.st
+
+BochsX64Alien-regs.st: printcpu
+ ./printcpu >BochsX64Alien-regs.st
+
+BochsX64Alien-cr.st: printcpucr
+ ./printcpucr >BochsX64Alien-cr.st
+
+BochsX64Alien-xmm.st: printcpuxmm
+ ./printcpuxmm >BochsX64Alien-xmm.st
+
+clean:
+ rm -f BochsX64Alien-regs.st BochsX64Alien-cr.st BochsX64Alien-xmm.st
+ rm -f printcpu printcpucr printcpuxmm
+ rm -f printcpu.exe printcpucr.exe printcpuxmm.exe
+
+printcpu: $(BOCHSEX64)/printcpu.c $(LIBDEPS)
+ g++ -o $@ $< $(CFLAGS)
+
+printcpucr: $(BOCHSEX64)/printcpucr.c $(LIBDEPS)
+ g++ -o $@ $< $(CFLAGS)
+
+printcpuxmm: $(BOCHSEX64)/printcpuxmm.c $(LIBDEPS)
+ g++ -o $@ $< $(CFLAGS)
Added: branches/Cog/build.macos32x86/bochsx86/conf.COG
===================================================================
--- branches/Cog/build.macos32x86/bochsx86/conf.COG (rev 0)
+++ branches/Cog/build.macos32x86/bochsx86/conf.COG 2015-09-10 21:02:28 UTC (rev 3431)
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# Bochs x86 simulator for the BochsIA32Alien plugin.
+# this sets up the x86 compile for Cog on Mac OS X. Disable as much inessential
+# stuff as possible leaving only the cpu/fpu & memory interface
+
+# build cpu/libcpu.a disasm/libdisasm.a fpu/libfpu.a using
+# $ ./conf.COG
+# $ ../../processors/IA32/bochs/makeem
+
+set echo
+# CFLAGS="-pipe -O3 -fomit-frame-pointer -finline-functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays $CFLAGS"
+CFLAGS="-m32 $CFLAGS"
+CFLAGS="-Dlongjmp=_longjmp -Dsetjmp=_setjmp $CFLAGS"
+CFLAGS="-pipe -O3 -fomit-frame-pointer -finline-functions $CFLAGS"
+CFLAGS="-g $CFLAGS"
+CPPFLAGS=""
+CXXFLAGS="$CFLAGS"
+
+export CFLAGS
+export CPATH
+export CPPFLAGS
+export CXXFLAGS
+export LDFLAGS
+
+../../processors/IA32/bochs/configure \
+ --enable-Cog \
+ --enable-cpu-level=6 \
+ --enable-sse=2 \
+ --enable-assert-checks \
+ --with-nogui \
+ --disable-x86-64 \
+ --disable-pae \
+ --disable-large-pages \
+ --disable-global-pages \
+ --disable-mtrr \
+ --disable-sb16 \
+ --disable-ne2000 \
+ --disable-pci \
+ --disable-acpi \
+ --disable-apic \
+ --disable-clgd54xx \
+ --disable-usb \
+ --disable-plugins \
+ ${CONFIGURE_ARGS}
+
+# apic == Advanced programmable Interrupt Controller
+# acpi == Advanced Configuration and Power Interface
+# pci == Peripheral Component Interconnect local bus
+# clgd54xx == Cirrus Logic GD54xx video card
Property changes on: branches/Cog/build.macos32x86/bochsx86/conf.COG
___________________________________________________________________
Added: svn:executable
+ *
Modified: branches/Cog/build.macos32x86/squeak.cog.spur/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj
===================================================================
--- branches/Cog/build.macos32x86/squeak.cog.spur/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj 2015-09-01 19:13:23 UTC (rev 3430)
+++ branches/Cog/build.macos32x86/squeak.cog.spur/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj 2015-09-10 21:02:28 UTC (rev 3431)
@@ -10,7 +10,7 @@
73020E8D0EE714E60021D217 /* BochsIA32Plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 73020E8C0EE714E60021D217 /* BochsIA32Plugin.c */; settings = {COMPILER_FLAGS = "-I../../../platforms/Cross/vm -I../../../platforms/Cross/plugins/BochsIA32Plugin -I\"../../../platforms/Mac OS/vm\" -I../../../spursrc/vm"; }; };
737482B30EE7339F004E10F8 /* libcpu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737482B20EE7339F004E10F8 /* libcpu.a */; };
737482B50EE733BD004E10F8 /* libfpu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737482B40EE733BD004E10F8 /* libfpu.a */; };
- 737482B70EE7343B004E10F8 /* sqBochsIA32Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */; settings = {COMPILER_FLAGS = "-I../../../processors/IA32/macbochs -I../../../processors/IA32/bochs -I../../../processors/IA32/bochs/instrument/stubs"; }; };
+ 737482B70EE7343B004E10F8 /* sqBochsIA32Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */; settings = {COMPILER_FLAGS = "-I../../bochsx86 -I../../../processors/IA32/bochs -I../../../processors/IA32/bochs/instrument/stubs"; }; };
737483080EE7406A004E10F8 /* libdisasm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737483070EE7406A004E10F8 /* libdisasm.a */; };
8D01CCCE0486CAD60068D4B7 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */; };
/* End PBXBuildFile section */
@@ -19,10 +19,10 @@
08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
73020E8C0EE714E60021D217 /* BochsIA32Plugin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = BochsIA32Plugin.c; path = ../../../src/plugins/BochsIA32Plugin/BochsIA32Plugin.c; sourceTree = SOURCE_ROOT; };
73020E8E0EE7158C0021D217 /* BochsIA32Plugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = BochsIA32Plugin.h; path = ../../../platforms/Cross/plugins/BochsIA32Plugin/BochsIA32Plugin.h; sourceTree = SOURCE_ROOT; };
- 737482B20EE7339F004E10F8 /* libcpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcpu.a; path = ../../../processors/IA32/macbochs/cpu/libcpu.a; sourceTree = SOURCE_ROOT; };
- 737482B40EE733BD004E10F8 /* libfpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfpu.a; path = ../../../processors/IA32/macbochs/fpu/libfpu.a; sourceTree = SOURCE_ROOT; };
+ 737482B20EE7339F004E10F8 /* libcpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcpu.a; path = ../../bochsx86/cpu/libcpu.a; sourceTree = SOURCE_ROOT; };
+ 737482B40EE733BD004E10F8 /* libfpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfpu.a; path = ../../bochsx86/fpu/libfpu.a; sourceTree = SOURCE_ROOT; };
737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = sqBochsIA32Plugin.cpp; path = ../../../platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp; sourceTree = SOURCE_ROOT; };
- 737483070EE7406A004E10F8 /* libdisasm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdisasm.a; path = ../../../processors/IA32/macbochs/disasm/libdisasm.a; sourceTree = SOURCE_ROOT; };
+ 737483070EE7406A004E10F8 /* libdisasm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdisasm.a; path = ../../bochsx86/disasm/libdisasm.a; sourceTree = SOURCE_ROOT; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* BochsIA32Plugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BochsIA32Plugin.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
DA3A20F50AA63CBF0050B983 /* interp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = interp.h; path = ../../../spursrc/vm/interp.h; sourceTree = SOURCE_ROOT; };
@@ -179,9 +179,9 @@
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
);
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/cpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/fpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/disasm\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../bochsx86/cpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../bochsx86/fpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../bochsx86/disasm\"";
PRODUCT_NAME = BochsIA32Plugin;
WRAPPER_EXTENSION = bundle;
ZERO_LINK = YES;
@@ -202,9 +202,9 @@
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
);
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/cpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/fpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/disasm\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../bochsx86/cpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../bochsx86/fpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../bochsx86/disasm\"";
PRODUCT_NAME = BochsIA32Plugin;
WRAPPER_EXTENSION = bundle;
};
Modified: branches/Cog/build.macos32x86/squeak.cog.spur/makevm
===================================================================
--- branches/Cog/build.macos32x86/squeak.cog.spur/makevm 2015-09-01 19:13:23 UTC (rev 3430)
+++ branches/Cog/build.macos32x86/squeak.cog.spur/makevm 2015-09-10 21:02:28 UTC (rev 3431)
@@ -116,7 +116,7 @@
# Build the BochsIA32Plugin
# N.B. To build the plugin you also have to build the Bochs libraries in
# ../../processors/IA32/bochs. cd ../../processors/IA32/bochs. Run conf.COG & makeem.
-if test -f ../../processors/IA32/macbochs/cpu/libcpu.a; then
+if test -f ../bochsx86/cpu/libcpu.a; then
echo BochsIA32Plugin xcodebuild -configuration $XCD_BUILD_CONFIGURATION -project BochsIA32Plugin/BochsIA32Plugin.xcodeproj
xcodebuild -configuration $XCD_BUILD_CONFIGURATION -project BochsIA32Plugin/BochsIA32Plugin.xcodeproj
rm -rf "$DEST/Contents/Resources/BochsIA32Plugin.bundle"
Modified: branches/Cog/build.macos32x86/squeak.cog.v3/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj
===================================================================
--- branches/Cog/build.macos32x86/squeak.cog.v3/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj 2015-09-01 19:13:23 UTC (rev 3430)
+++ branches/Cog/build.macos32x86/squeak.cog.v3/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj 2015-09-10 21:02:28 UTC (rev 3431)
@@ -10,7 +10,7 @@
73020E8D0EE714E60021D217 /* BochsIA32Plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 73020E8C0EE714E60021D217 /* BochsIA32Plugin.c */; settings = {COMPILER_FLAGS = "-I../../../platforms/Cross/vm -I../../../platforms/Cross/plugins/BochsIA32Plugin -I\"../../../platforms/Mac OS/vm\" -I../../../src/vm"; }; };
737482B30EE7339F004E10F8 /* libcpu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737482B20EE7339F004E10F8 /* libcpu.a */; };
737482B50EE733BD004E10F8 /* libfpu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737482B40EE733BD004E10F8 /* libfpu.a */; };
- 737482B70EE7343B004E10F8 /* sqBochsIA32Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */; settings = {COMPILER_FLAGS = "-I../../../processors/IA32/macbochs -I../../../processors/IA32/bochs -I../../../processors/IA32/bochs/instrument/stubs"; }; };
+ 737482B70EE7343B004E10F8 /* sqBochsIA32Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */; settings = {COMPILER_FLAGS = "-I../../bochsx86 -I../../../processors/IA32/bochs -I../../../processors/IA32/bochs/instrument/stubs"; }; };
737483080EE7406A004E10F8 /* libdisasm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737483070EE7406A004E10F8 /* libdisasm.a */; };
8D01CCCE0486CAD60068D4B7 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */; };
/* End PBXBuildFile section */
@@ -19,10 +19,10 @@
08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
73020E8C0EE714E60021D217 /* BochsIA32Plugin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = BochsIA32Plugin.c; path = ../../../src/plugins/BochsIA32Plugin/BochsIA32Plugin.c; sourceTree = SOURCE_ROOT; };
73020E8E0EE7158C0021D217 /* BochsIA32Plugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = BochsIA32Plugin.h; path = ../../../platforms/Cross/plugins/BochsIA32Plugin/BochsIA32Plugin.h; sourceTree = SOURCE_ROOT; };
- 737482B20EE7339F004E10F8 /* libcpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcpu.a; path = ../../../processors/IA32/macbochs/cpu/libcpu.a; sourceTree = SOURCE_ROOT; };
- 737482B40EE733BD004E10F8 /* libfpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfpu.a; path = ../../../processors/IA32/macbochs/fpu/libfpu.a; sourceTree = SOURCE_ROOT; };
+ 737482B20EE7339F004E10F8 /* libcpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcpu.a; path = ../../bochsx86/cpu/libcpu.a; sourceTree = SOURCE_ROOT; };
+ 737482B40EE733BD004E10F8 /* libfpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfpu.a; path = ../../bochsx86/fpu/libfpu.a; sourceTree = SOURCE_ROOT; };
737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = sqBochsIA32Plugin.cpp; path = ../../../platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp; sourceTree = SOURCE_ROOT; };
- 737483070EE7406A004E10F8 /* libdisasm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdisasm.a; path = ../../../processors/IA32/macbochs/disasm/libdisasm.a; sourceTree = SOURCE_ROOT; };
+ 737483070EE7406A004E10F8 /* libdisasm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdisasm.a; path = ../../bochsx86/disasm/libdisasm.a; sourceTree = SOURCE_ROOT; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* BochsIA32Plugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BochsIA32Plugin.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
DA3A20F50AA63CBF0050B983 /* interp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = interp.h; path = ../../../src/vm/interp.h; sourceTree = SOURCE_ROOT; };
@@ -179,9 +179,9 @@
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
);
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/cpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/fpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/disasm\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../bochsx86/cpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../bochsx86/fpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../bochsx86/disasm\"";
PRODUCT_NAME = BochsIA32Plugin;
WRAPPER_EXTENSION = bundle;
ZERO_LINK = YES;
@@ -202,9 +202,9 @@
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
);
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/cpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/fpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/disasm\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../bochsx86/cpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../bochsx86/fpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../bochsx86/disasm\"";
PRODUCT_NAME = BochsIA32Plugin;
WRAPPER_EXTENSION = bundle;
};
Modified: branches/Cog/build.macos32x86/squeak.sista.spur/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj
===================================================================
--- branches/Cog/build.macos32x86/squeak.sista.spur/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj 2015-09-01 19:13:23 UTC (rev 3430)
+++ branches/Cog/build.macos32x86/squeak.sista.spur/BochsIA32Plugin/BochsIA32Plugin.xcodeproj/project.pbxproj 2015-09-10 21:02:28 UTC (rev 3431)
@@ -7,10 +7,10 @@
objects = {
/* Begin PBXBuildFile section */
- 73020E8D0EE714E60021D217 /* BochsIA32Plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 73020E8C0EE714E60021D217 /* BochsIA32Plugin.c */; settings = {COMPILER_FLAGS = "-I../../../platforms/Cross/vm -I../../../platforms/Cross/plugins/BochsIA32Plugin -I\"../../../platforms/Mac OS/vm\" -I../../../spursrc/vm"; }; };
+ 73020E8D0EE714E60021D217 /* BochsIA32Plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 73020E8C0EE714E60021D217 /* BochsIA32Plugin.c */; settings = {COMPILER_FLAGS = "-I../../../platforms/Cross/vm -I../../../platforms/Cross/plugins/BochsIA32Plugin -I\"../../../platforms/Mac OS/vm\" -I../../../spursistasrc/vm"; }; };
737482B30EE7339F004E10F8 /* libcpu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737482B20EE7339F004E10F8 /* libcpu.a */; };
737482B50EE733BD004E10F8 /* libfpu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737482B40EE733BD004E10F8 /* libfpu.a */; };
- 737482B70EE7343B004E10F8 /* sqBochsIA32Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */; settings = {COMPILER_FLAGS = "-I../../../processors/IA32/macbochs -I../../../processors/IA32/bochs -I../../../processors/IA32/bochs/instrument/stubs"; }; };
+ 737482B70EE7343B004E10F8 /* sqBochsIA32Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */; settings = {COMPILER_FLAGS = "-I../../bochsx86 -I../../../processors/IA32/bochs -I../../../processors/IA32/bochs/instrument/stubs"; }; };
737483080EE7406A004E10F8 /* libdisasm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 737483070EE7406A004E10F8 /* libdisasm.a */; };
8D01CCCE0486CAD60068D4B7 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */; };
/* End PBXBuildFile section */
@@ -19,13 +19,13 @@
08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
73020E8C0EE714E60021D217 /* BochsIA32Plugin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = BochsIA32Plugin.c; path = ../../../src/plugins/BochsIA32Plugin/BochsIA32Plugin.c; sourceTree = SOURCE_ROOT; };
73020E8E0EE7158C0021D217 /* BochsIA32Plugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = BochsIA32Plugin.h; path = ../../../platforms/Cross/plugins/BochsIA32Plugin/BochsIA32Plugin.h; sourceTree = SOURCE_ROOT; };
- 737482B20EE7339F004E10F8 /* libcpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcpu.a; path = ../../../processors/IA32/macbochs/cpu/libcpu.a; sourceTree = SOURCE_ROOT; };
- 737482B40EE733BD004E10F8 /* libfpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfpu.a; path = ../../../processors/IA32/macbochs/fpu/libfpu.a; sourceTree = SOURCE_ROOT; };
+ 737482B20EE7339F004E10F8 /* libcpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcpu.a; path = ../../bochsx86/cpu/libcpu.a; sourceTree = SOURCE_ROOT; };
+ 737482B40EE733BD004E10F8 /* libfpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfpu.a; path = ../../bochsx86/fpu/libfpu.a; sourceTree = SOURCE_ROOT; };
737482B60EE7343B004E10F8 /* sqBochsIA32Plugin.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = sqBochsIA32Plugin.cpp; path = ../../../platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp; sourceTree = SOURCE_ROOT; };
- 737483070EE7406A004E10F8 /* libdisasm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdisasm.a; path = ../../../processors/IA32/macbochs/disasm/libdisasm.a; sourceTree = SOURCE_ROOT; };
+ 737483070EE7406A004E10F8 /* libdisasm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdisasm.a; path = ../../bochsx86/disasm/libdisasm.a; sourceTree = SOURCE_ROOT; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* BochsIA32Plugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BochsIA32Plugin.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
- DA3A20F50AA63CBF0050B983 /* interp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = interp.h; path = ../../../spursrc/vm/interp.h; sourceTree = SOURCE_ROOT; };
+ DA3A20F50AA63CBF0050B983 /* interp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = interp.h; path = ../../../spursistasrc/vm/interp.h; sourceTree = SOURCE_ROOT; };
DA3A20F60AA63CDC0050B983 /* sqMemoryAccess.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqMemoryAccess.h; path = ../../../platforms/Cross/vm/sqMemoryAccess.h; sourceTree = SOURCE_ROOT; };
DA3A20F70AA63CDC0050B983 /* sqVirtualMachine.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sqVirtualMachine.h; path = ../../../platforms/Cross/vm/sqVirtualMachine.h; sourceTree = SOURCE_ROOT; };
DA3A20F80AA63D000050B983 /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = config.h; path = "../../../platforms/Mac OS/vm/config.h"; sourceTree = SOURCE_ROOT; };
@@ -179,9 +179,9 @@
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
);
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/cpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/fpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/disasm\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../bochsx86/cpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../bochsx86/fpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../bochsx86/disasm\"";
PRODUCT_NAME = BochsIA32Plugin;
WRAPPER_EXTENSION = bundle;
ZERO_LINK = YES;
@@ -202,9 +202,9 @@
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
);
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/cpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/fpu\"";
- LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../../processors/IA32/macbochs/disasm\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../bochsx86/cpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../bochsx86/fpu\"";
+ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../bochsx86/disasm\"";
PRODUCT_NAME = BochsIA32Plugin;
WRAPPER_EXTENSION = bundle;
};
Modified: branches/Cog/processors/IA32/bochs/explorationx64/Makefile
===================================================================
--- branches/Cog/processors/IA32/bochs/exploration/Makefile 2015-08-11 19:42:12 UTC (rev 3420)
+++ branches/Cog/processors/IA32/bochs/explorationx64/Makefile 2015-09-10 21:02:28 UTC (rev 3431)
@@ -1,36 +1,33 @@
-LIBDEPS=../../bochs/cpu/libcpu.a
-CFLAGS=-m32 -I.. -I../../bochs -I../../bochs/cpu -I../../bochs/instrument/stubs -L../cpu -lcpu
+#BOCHS=../../../processors/IA32/bochs
+BOCHS=../../processors/IA32/bochs
+BOCHSEX64=$(BOCHS)/explorationx64
+LIBDEPS=../../cpu/libcpu.a
+CFLAGS=-m32 -I.. -I$(BOCHS) -I$(BOCHS)/cpu -I$(BOCHS)/instrument/stubs -L../cpu -lcpu
FULLLIBS=-L../fpu -lfpu -L../disasm -ldisasm
.PHONY: $(LIBDEPS)
-all: bxcpu.txt BochsIA32Alien-regs.st BochsIA32Alien-cr.st BochsIA32Alien-xmm.st
+all: BochsX64Alien-regs.st BochsX64Alien-cr.st BochsX64Alien-xmm.st
-bxcpu.txt: printbxcpu
- ./printbxcpu >bxcpu.txt
+BochsX64Alien-regs.st: printcpu
+ ./printcpu >BochsX64Alien-regs.st
-BochsIA32Alien-regs.st: printcpu
- ./printcpu >BochsIA32Alien-regs.st
+BochsX64Alien-cr.st: printcpucr
+ ./printcpucr >BochsX64Alien-cr.st
-BochsIA32Alien-cr.st: printcpucr
- ./printcpucr >BochsIA32Alien-cr.st
+BochsX64Alien-xmm.st: printcpuxmm
+ ./printcpuxmm >BochsX64Alien-xmm.st
-BochsIA32Alien-xmm.st: printcpuxmm
- ./printcpuxmm >BochsIA32Alien-xmm.st
-
clean:
- rm -f BochsIA32Alien-regs.st BochsIA32Alien-cr.st BochsIA32Alien-xmm.st
+ rm -f BochsX64Alien-regs.st BochsX64Alien-cr.st BochsX64Alien-xmm.st
rm -f printcpu printcpucr printcpuxmm
rm -f printcpu.exe printcpucr.exe printcpuxmm.exe
-printbxcpu: ../../bochs/exploration/printbxcpu.cpp $(LIBDEPS)
+printcpu: $(BOCHSEX64)/printcpu.c $(LIBDEPS)
g++ -o $@ $< $(CFLAGS)
-printcpu: ../../bochs/exploration/printcpu.c $(LIBDEPS)
+printcpucr: $(BOCHSEX64)/printcpucr.c $(LIBDEPS)
g++ -o $@ $< $(CFLAGS)
-printcpucr: ../../bochs/exploration/printcpucr.c $(LIBDEPS)
+printcpuxmm: $(BOCHSEX64)/printcpuxmm.c $(LIBDEPS)
g++ -o $@ $< $(CFLAGS)
-
-printcpuxmm: ../../bochs/exploration/printcpuxmm.c $(LIBDEPS)
- g++ -o $@ $< $(CFLAGS)
Modified: branches/Cog/processors/IA32/bochs/explorationx64/printcpu.c
===================================================================
--- branches/Cog/processors/IA32/bochs/exploration/printcpu.c 2015-08-11 19:42:12 UTC (rev 3420)
+++ branches/Cog/processors/IA32/bochs/explorationx64/printcpu.c 2015-09-10 21:02:28 UTC (rev 3431)
@@ -29,11 +29,11 @@
{
#define stoffsetof(type,field) (offsetof(type,field)+1)
#define print(r,n) \
-printf("!BochsIA32Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
- "%s\r\t^self unsignedLongAt: %ld! !\r", m,d,y,h,i, lower(#r), \
+printf("!BochsX64Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
+ "%s\r\t^self unsignedLongLongAt: %ld! !\r", m,d,y,h,i, lower(#r), \
stoffsetof(BX_CPU_C,gen_reg[n].dword.erx));\
-printf("!BochsIA32Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
- "%s: anUnsignedInteger\r\t^self unsignedLongAt: %ld put: anUnsignedInteger! !\r", m,d,y,h,i, lower(#r), \
+printf("!BochsX64Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
+ "%s: anUnsignedInteger\r\t^self unsignedLongLongAt: %ld put: anUnsignedInteger! !\r", m,d,y,h,i, lower(#r), \
stoffsetof(BX_CPU_C,gen_reg[n].dword.erx))
time_t nowsecs = time(0);
@@ -45,22 +45,30 @@
int i = now.tm_min;
printf("\"Hello world!!\"!\r");
- printf("!BochsIA32Alien class methodsFor: 'instance creation' stamp: 'eem %d/%d/%d %d:%02d'!\r"
+ printf("!BochsX64Alien class methodsFor: 'instance creation' stamp: 'eem %d/%d/%d %d:%02d'!\r"
"dataSize\r\t^%ld! !\r", m,d,y,h,i, sizeof(BX_CPU_C));
- printf("!BochsIA32Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"
- "eflags\r\t^self unsignedLongAt: %ld! !\r", m,d,y,h,i,
+ printf("!BochsX64Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"
+ "rflags\r\t^self unsignedLongLongAt: %ld! !\r", m,d,y,h,i,
stoffsetof(BX_CPU_C,eflags));
- print(EAX,BX_32BIT_REG_EAX);
- print(EBX,BX_32BIT_REG_EBX);
- print(ECX,BX_32BIT_REG_ECX);
- print(EDX,BX_32BIT_REG_EDX);
- print(ESP,BX_32BIT_REG_ESP);
- print(EBP,BX_32BIT_REG_EBP);
- print(ESI,BX_32BIT_REG_ESI);
- print(EDI,BX_32BIT_REG_EDI);
- print(EIP,BX_32BIT_REG_EIP);
+ print(RAX,BX_64BIT_REG_RAX);
+ print(RBX,BX_64BIT_REG_RBX);
+ print(RCX,BX_64BIT_REG_RCX);
+ print(RDX,BX_64BIT_REG_RDX);
+ print(RSP,BX_64BIT_REG_RSP);
+ print(RBP,BX_64BIT_REG_RBP);
+ print(RSI,BX_64BIT_REG_RSI);
+ print(RDI,BX_64BIT_REG_RDI);
+ print(R8,BX_64BIT_REG_R8);
+ print(R9,BX_64BIT_REG_R9);
+ print(R10,BX_64BIT_REG_R10);
+ print(R11,BX_64BIT_REG_R11);
+ print(R12,BX_64BIT_REG_R12);
+ print(R13,BX_64BIT_REG_R13);
+ print(R14,BX_64BIT_REG_R14);
+ print(R15,BX_64BIT_REG_R15);
+ print(RIP,BX_64BIT_REG_RIP);
return 0;
}
Modified: branches/Cog/processors/IA32/bochs/explorationx64/printcpucr.c
===================================================================
--- branches/Cog/processors/IA32/bochs/exploration/printcpucr.c 2015-08-11 19:42:12 UTC (rev 3420)
+++ branches/Cog/processors/IA32/bochs/explorationx64/printcpucr.c 2015-09-10 21:02:28 UTC (rev 3431)
@@ -31,10 +31,10 @@
{
#define stoffsetof(type,field) (offsetof(type,field)+1)
#define print(r,ra,len) \
-printf("!BochsIA32Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
+printf("!BochsX64Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
"%s\r\t^self unsigned" #len "At: %ld! !\r", m,d,y,h,i, munge(#r), \
stoffsetof(BX_CPU_C,ra));\
-printf("!BochsIA32Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
+printf("!BochsX64Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
"%s: anUnsignedInteger\r\t^self unsigned" #len "At: %ld put: anUnsignedInteger! !\r", m,d,y,h,i, munge(#r), \
stoffsetof(BX_CPU_C,ra));
Modified: branches/Cog/processors/IA32/bochs/explorationx64/printcpuxmm.c
===================================================================
--- branches/Cog/processors/IA32/bochs/exploration/printcpuxmm.c 2015-08-11 19:42:12 UTC (rev 3420)
+++ branches/Cog/processors/IA32/bochs/explorationx64/printcpuxmm.c 2015-09-10 21:02:28 UTC (rev 3431)
@@ -29,10 +29,10 @@
{
#define stoffsetof(type,field) (offsetof(type,field)+1)
#define print(r,n,lh) \
-printf("!BochsIA32Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
+printf("!BochsX64Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
"%s\r\t^self unsignedLongLongAt: %ld! !\r", m,d,y,h,i, lower(#r), \
stoffsetof(BX_CPU_C,xmm[n]._u64[lh]));\
-printf("!BochsIA32Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
+printf("!BochsX64Alien methodsFor: 'accessing' stamp: 'eem %d/%d/%d %d:%02d'!\r"\
"%s: anUnsignedInteger\r\t^self unsignedLongLongAt: %ld put: anUnsignedInteger! !\r", m,d,y,h,i, lower(#r), \
stoffsetof(BX_CPU_C,xmm[n]._u64[lh]));\
More information about the Vm-dev
mailing list