Browse Source

Added Bios64 build

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8079 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 years ago
parent
commit
3bd414a5e5

+ 2 - 1
source/Compiler.Mod

@@ -571,7 +571,8 @@ BEGIN
 	NEW(platforms);
 	NEW(platforms);
 
 
 	(* platform definitions hard coded for the common cases -- maybe (parts of it) should be outsourced to a file ?*)
 	(* platform definitions hard coded for the common cases -- maybe (parts of it) should be outsourced to a file ?*)
-	DoAddPlatform("Bios32","-b=AMD --bits=32 --newObjectFile --mergeSections --objectFileExtension=.Gof --symbolFileExtension=.SymG --preciseGC");
+	DoAddPlatform("Bios32","-b=AMD --bits=32 --newObjectFile --mergeSections --objectFileExtension=.Gof --symbolFileExtension=.Sym --preciseGC");
+	DoAddPlatform("Bios64","-b=AMD --bits=64 --newObjectFile --mergeSections --objectFileExtension=.Goff --symbolFileExtension=.Symm --preciseGC");
 	DoAddPlatform("Win32","-b=AMD --bits=32 --newObjectFile --mergeSections --objectFileExtension=.GofW --symbolFileExtension=.SymW --preciseGC --trackLeave --cellsAreObjects --platformCC=WINAPI");
 	DoAddPlatform("Win32","-b=AMD --bits=32 --newObjectFile --mergeSections --objectFileExtension=.GofW --symbolFileExtension=.SymW --preciseGC --trackLeave --cellsAreObjects --platformCC=WINAPI");
 	DoAddPlatform("Win64","-b=AMD --bits=64 --newObjectFile --mergeSections --objectFileExtension=.GofWw --symbolFileExtension=.SymWw --preciseGC --trackLeave --cellsAreObjects --platformCC=WINAPI");
 	DoAddPlatform("Win64","-b=AMD --bits=64 --newObjectFile --mergeSections --objectFileExtension=.GofWw --symbolFileExtension=.SymWw --preciseGC --trackLeave --cellsAreObjects --platformCC=WINAPI");
 	DoAddPlatform("Win32C","-b=AMD --bits=32 --cooperative --newObjectFile --traceModule=Trace --objectFileExtension=.GofCW --symbolFileExtension=.SymCW --platformCC=WINAPI");
 	DoAddPlatform("Win32C","-b=AMD --bits=32 --cooperative --newObjectFile --traceModule=Trace --objectFileExtension=.GofCW --symbolFileExtension=.SymCW --platformCC=WINAPI");

+ 1 - 0
source/Linker.Mod

@@ -1087,6 +1087,7 @@ BEGIN
 	NEW(finished);
 	NEW(finished);
 	NEW(defaults);
 	NEW(defaults);
 	defaults.Add("Bios32","--fileName=kernel.img --extension=.Gof --displacement=0100000H");
 	defaults.Add("Bios32","--fileName=kernel.img --extension=.Gof --displacement=0100000H");
+	defaults.Add("Bios64","--fileName=kernel.img --extension=.Goff --displacement=0100000H");
 	defaults.Add("Win32CUI","--fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H");
 	defaults.Add("Win32CUI","--fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H");
 	defaults.Add("Linux32","--fileFormat=Raw --fileName=oberon --extension=.GofU --displacement=08048000H");
 	defaults.Add("Linux32","--fileFormat=Raw --fileName=oberon --extension=.GofU --displacement=08048000H");
 	defaults.Add("Linux64","--fileFormat=Raw --fileName=oberon --extension=.GofUu --displacement=08048000H");
 	defaults.Add("Linux64","--fileFormat=Raw --fileName=oberon --extension=.GofUu --displacement=08048000H");

+ 25 - 7
source/Release.Tool

@@ -144,6 +144,13 @@ BUILDS
 		EXCLUDEPACKAGES "Applications GuiApplications Fun Testing Education Contributions Oberon OberonGadgets OberonApplications OberonDocumentation OberonVoyager OberonAnts"
 		EXCLUDEPACKAGES "Applications GuiApplications Fun Testing Education Contributions Oberon OberonGadgets OberonApplications OberonDocumentation OberonVoyager OberonAnts"
 		DISABLED "FALSE"
 		DISABLED "FALSE"
 	}
 	}
+	Bios64 {
+		INCLUDE "BIOS64 BIOS NATIVE AMD64"
+		COMPILER "Compiler.Compile"
+		COMPILEOPTIONS "-p=Bios64"
+		EXCLUDEPACKAGES "OberonVoyager OberonAnts"
+		DISABLED "FALSE"
+	}
 	RpiC {
 	RpiC {
 		INCLUDE "RPIC NATIVE ARM COOP"
 		INCLUDE "RPIC NATIVE ARM COOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
@@ -285,6 +292,7 @@ PACKAGE Kernel ARCHIVE "Kernel.zip" SOURCE "KernelSrc.zip" DESCRIPTION "A2 Kerne
 	WIN64 { Windows.AMD64.Kernel32.Mod }
 	WIN64 { Windows.AMD64.Kernel32.Mod }
 
 
 	BIOS32 { BIOS.I386.Machine.Mod }
 	BIOS32 { BIOS.I386.Machine.Mod }
+	BIOS64 { BIOS.AMD64.Machine.Mod }
 	WIN32 { Windows.I386.Machine.Mod }
 	WIN32 { Windows.I386.Machine.Mod }
 	WIN64 { Windows.AMD64.Machine.Mod }
 	WIN64 { Windows.AMD64.Machine.Mod }
 	COOP { Mutexes.Mod }
 	COOP { Mutexes.Mod }
@@ -327,6 +335,7 @@ PACKAGE System ARCHIVE "System.zip" SOURCE "SystemSrc.zip" DESCRIPTION "System"
 	Reflection.Mod
 	Reflection.Mod
 	TrapWriters.Mod CRC.Mod SystemVersion.Mod
 	TrapWriters.Mod CRC.Mod SystemVersion.Mod
 	BIOS32 { BIOS.I386.Traps.Mod }
 	BIOS32 { BIOS.I386.Traps.Mod }
+	BIOS64 { BIOS.AMD64.Machine.Mod }
 	ARM { ARM.Traps.Mod }
 	ARM { ARM.Traps.Mod }
 	WIN32 { Windows.I386.Traps.Mod }
 	WIN32 { Windows.I386.Traps.Mod }
 	WIN64 { Windows.AMD64.Traps.Mod }
 	WIN64 { Windows.AMD64.Traps.Mod }
@@ -347,6 +356,7 @@ PACKAGE System ARCHIVE "System.zip" SOURCE "SystemSrc.zip" DESCRIPTION "System"
 
 
 	# Memory cache control
 	# Memory cache control
 	BIOS32 { BIOS.I386.MemCache.Mod }
 	BIOS32 { BIOS.I386.MemCache.Mod }
+	BIOS64 { BIOS.AMD64.MemCache.Mod }
 	COOP { Coop.MemCache.Mod }
 	COOP { Coop.MemCache.Mod }
 
 
 	# Block device interface
 	# Block device interface
@@ -400,7 +410,7 @@ PACKAGE System ARCHIVE "System.zip" SOURCE "SystemSrc.zip" DESCRIPTION "System"
 	BIOS { BIOS.BootShell.Mod }
 	BIOS { BIOS.BootShell.Mod }
 
 
 	BIOS32, UNIX32 { I386.Network.Mod }
 	BIOS32, UNIX32 { I386.Network.Mod }
-	UNIX64 { AMD64.Network.Mod }
+	BIOS64, UNIX64 { AMD64.Network.Mod }
 	ARM { ARM.Network.Mod }
 	ARM { ARM.Network.Mod }
 	NATIVE { NetworkMii.Mod }
 	NATIVE { NetworkMii.Mod }
 
 
@@ -422,6 +432,7 @@ PACKAGE System ARCHIVE "System.zip" SOURCE "SystemSrc.zip" DESCRIPTION "System"
 	}
 	}
 
 
 	BIOS32 { I386.IP.Mod I386.IPv4.Mod }
 	BIOS32 { I386.IP.Mod I386.IPv4.Mod }
+	BIOS64 { AMD64.IP.Mod AMD64.IPv4.Mod }
 	ARM { ARM.IP.Mod ARM.IPv4.Mod }
 	ARM { ARM.IP.Mod ARM.IPv4.Mod }
 
 
 	NATIVE {
 	NATIVE {
@@ -478,8 +489,12 @@ PACKAGE Drivers ARCHIVE "Drivers.zip" SOURCE "DriversSrc.zip" DESCRIPTION "Devic
 	NATIVE { SCSI.Mod }
 	NATIVE { SCSI.Mod }
 
 
 	BIOS32 { BIOS.I386.ATADisks.Mod }
 	BIOS32 { BIOS.I386.ATADisks.Mod }
+	BIOS64 { BIOS.AMD64.ATADisks.Mod }
 
 
-	BIOS32 { BIOS.I386.Adaptec7Script.Mod BIOS.Adaptec7.Mod } # Adaptec SCSI driver
+	# Adaptec SCSI driver
+	BIOS32 { BIOS.I386.Adaptec7Script.Mod }
+	BIOS64 { BIOS.AMD64.Adaptec7Script.Mod }
+	BIOS { BIOS.Adaptec7.Mod }
 
 
 	BIOS {
 	BIOS {
 		# disk drivers (implement Disks interface)
 		# disk drivers (implement Disks interface)
@@ -489,6 +504,7 @@ PACKAGE Drivers ARCHIVE "Drivers.zip" SOURCE "DriversSrc.zip" DESCRIPTION "Devic
 	# PS/2 keyboard incl. layouts
 	# PS/2 keyboard incl. layouts
 
 
 	BIOS32 { BIOS.I386.Keyboard.Mod }
 	BIOS32 { BIOS.I386.Keyboard.Mod }
+	BIOS64 { BIOS.AMD64.Keyboard.Mod }
 
 
 	NATIVE {
 	NATIVE {
 		KeyUK.Bin KeyCA.Bin KeyCH.Bin KeyD.Bin KeyN.Bin KeyTR.Bin KeyPL.Bin KeyDV.Bin
 		KeyUK.Bin KeyCA.Bin KeyCH.Bin KeyD.Bin KeyN.Bin KeyTR.Bin KeyPL.Bin KeyDV.Bin
@@ -531,6 +547,7 @@ PACKAGE Drivers ARCHIVE "Drivers.zip" SOURCE "DriversSrc.zip" DESCRIPTION "Devic
 	}
 	}
 
 
 	BIOS32 { I386.UsbKeyboard.Mod }
 	BIOS32 { I386.UsbKeyboard.Mod }
+	BIOS64 { AMD64.UsbKeyboard.Mod }
 
 
 	NATIVE {
 	NATIVE {
 		UsbHidUP.Mod UsbHidErrors.Mod UsbHidReport.Mod
 		UsbHidUP.Mod UsbHidErrors.Mod UsbHidReport.Mod
@@ -1119,7 +1136,7 @@ PACKAGE GuiApplications ARCHIVE "GuiApplications.zip" SOURCE "GuiApplicationsSrc
 	# Installer
 	# Installer
 	WMInstaller.Mod WMInstaller.tar
 	WMInstaller.Mod WMInstaller.tar
 
 
-	NATIVE { # CD recorder
+	BIOS { # CD recorder
 		CDRecordUtils.Mod CDRecordLib.Mod MakeIsoImages.Mod
 		CDRecordUtils.Mod CDRecordLib.Mod MakeIsoImages.Mod
 		CDRecord.Mod WMCDRecorder.Mod
 		CDRecord.Mod WMCDRecorder.Mod
 	}
 	}
@@ -1234,6 +1251,7 @@ PACKAGE Testing ARCHIVE "Testing.zip" SOURCE "TestingSrc.zip" DESCRIPTION "Tests
 	}
 	}
 
 
 	BIOS32 { BIOS.I386.BenchInterrupts.Mod }
 	BIOS32 { BIOS.I386.BenchInterrupts.Mod }
+	BIOS64 { BIOS.AMD64.BenchInterrupts.Mod }
 
 
 	BenchTCP.Mod
 	BenchTCP.Mod
 
 
@@ -1430,7 +1448,7 @@ PACKAGE Contributions ARCHIVE "Contributions.zip" SOURCE "ContributionsSrc.zip"
 	# GPL!
 	# GPL!
 	NATIVE { UsbRS232.Mod GPL.Text }
 	NATIVE { UsbRS232.Mod GPL.Text }
 
 
-	NATIVE { FirewireLowUtil.Mod FirewireLow.Mod FirewireSBP2.Mod }	# IEEE 1394 support (HD)
+	BIOS { FirewireLowUtil.Mod FirewireLow.Mod FirewireSBP2.Mod }	# IEEE 1394 support (HD)
 
 
 	TeletextServer.zip	# Teletext Server for TV
 	TeletextServer.zip	# Teletext Server for TV
 END
 END
@@ -1683,9 +1701,9 @@ PACKAGE OberonGadgets ARCHIVE "OberonGadgets.zip" SOURCE "OberonGadgetsSrc.zip"
 
 
 	WIN { Windows.Oberon.PlugInDocs.Mod }
 	WIN { Windows.Oberon.PlugInDocs.Mod }
 
 
-	NATIVE {
-	Oberon.Profiler.Mod	# alternative profiler (prk)
-	Oberon.FATDocs.Mod	# FAT browser (be)
+	BIOS32 {
+		Oberon.Profiler.Mod	# alternative profiler (prk)
+		Oberon.FATDocs.Mod	# FAT browser (be)
 	}
 	}
 END
 END
 
 

+ 1 - 1
tools/builds/a2/makefile

@@ -6,7 +6,7 @@ MAKEFLAGS += --no-builtin-rules --no-builtin-variables
 .SUFFIXES: # delete the default suffixes
 .SUFFIXES: # delete the default suffixes
 
 
 tool := $(if $(wildcard oberon), ./oberon, ./original)
 tool := $(if $(wildcard oberon), ./oberon, ./original)
-platforms := Bios32 Win32 Win64 Linux32 Linux64 Darwin32 Darwin64 Solaris32 Solaris64
+platforms := Bios32 Bios64 Win32 Win64 Linux32 Linux64 Darwin32 Darwin64 Solaris32 Solaris64
 
 
 target := Linux64
 target := Linux64
 object := .GofUu
 object := .GofUu

+ 18 - 0
tools/builds/cron.hourly/build-bios32

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+dir="/var/tmp/a2/"
+update () { svn checkout --non-interactive --quiet --username eth.a2guest --password a2guest https://svn.inf.ethz.ch/svn/lecturers/a2/trunk/tools/builds/a2 "$dir" && make --directory "$dir" --quiet dependencies && version=$(svnversion "$dir/source"); }
+check () { make --question --directory "$dir" --quiet build platform=Bios32; }
+build () { timeout 1h make --directory "$dir" --quiet build platform=Bios32; }
+notify () { sendbuild "A2 Builds" "Bios32" "$version" "$1"; }
+
+update || exit 1
+check && exit 0
+status="Building"; output=""
+notify "$status" < /dev/null
+cleanup () { echo "$output" | notify $status; }
+trap cleanup exit
+trap "status=Aborted" int term kill
+status="Failed"; output=$(build 2>&1)
+test $? -eq 0 && status="Succeeded" && output=""
+exit 0

+ 18 - 0
tools/builds/cron.hourly/build-bios64

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+dir="/var/tmp/a2/"
+update () { svn checkout --non-interactive --quiet --username eth.a2guest --password a2guest https://svn.inf.ethz.ch/svn/lecturers/a2/trunk/tools/builds/a2 "$dir" && make --directory "$dir" --quiet dependencies && version=$(svnversion "$dir/source"); }
+check () { make --question --directory "$dir" --quiet build platform=Bios64; }
+build () { timeout 1h make --directory "$dir" --quiet build platform=Bios64; }
+notify () { sendbuild "A2 Builds" "Bios64" "$version" "$1"; }
+
+update || exit 1
+check && exit 0
+status="Building"; output=""
+notify "$status" < /dev/null
+cleanup () { echo "$output" | notify $status; }
+trap cleanup exit
+trap "status=Aborted" int term kill
+status="Failed"; output=$(build 2>&1)
+test $? -eq 0 && status="Succeeded" && output=""
+exit 0