Browse Source

implemented SetRA (was missing for AMD64 Machine)

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8273 8c9fc860-2736-0410-a75d-ab315db34111
felixf 7 years ago
parent
commit
6a1e1d72e4
2 changed files with 9 additions and 5 deletions
  1. 5 1
      source/BIOS.AMD64.Machine.Mod
  2. 4 4
      source/BIOS.I386.Machine.Mod

+ 5 - 1
source/BIOS.AMD64.Machine.Mod

@@ -2313,6 +2313,10 @@ END InvalidateDCacheRange;
 PROCEDURE InvalidateICacheRange * (adr: ADDRESS; len: LONGINT);
 PROCEDURE InvalidateICacheRange * (adr: ADDRESS; len: LONGINT);
 END InvalidateICacheRange;
 END InvalidateICacheRange;
 
 
+PROCEDURE -SetRA(n: SIZE);
+CODE POP RAX
+END SetRA;
+
 (* Unexpected - Default interrupt handler *)
 (* Unexpected - Default interrupt handler *)
 PROCEDURE Unexpected(VAR state: State);
 PROCEDURE Unexpected(VAR state: State);
 VAR int: HUGEINT; isr, irr: CHAR;
 VAR int: HUGEINT; isr, irr: CHAR;
@@ -2343,7 +2347,7 @@ BEGIN
 			LOOP END
 			LOOP END
 		ELSE
 		ELSE
 			Release (TraceOutput);
 			Release (TraceOutput);
-			SetRAX(int);
+			SetRA(int);
 			HALT(1801)	(* unexpected interrupt *)
 			HALT(1801)	(* unexpected interrupt *)
 		END
 		END
 	END
 	END

+ 4 - 4
source/BIOS.I386.Machine.Mod

@@ -2141,9 +2141,9 @@ END InvalidateDCacheRange;
 PROCEDURE InvalidateICacheRange * (adr: ADDRESS; len: LONGINT);
 PROCEDURE InvalidateICacheRange * (adr: ADDRESS; len: LONGINT);
 END InvalidateICacheRange;
 END InvalidateICacheRange;
 
 
-PROCEDURE -SetEAX(n: LONGINT);
-CODE{SYSTEM.i386}	POP EAX
-END SetEAX;
+PROCEDURE -SetRA(n: SIZE);
+CODE POP EAX
+END SetRA;
 
 
 (* Unexpected - Default interrupt handler *)
 (* Unexpected - Default interrupt handler *)
 PROCEDURE Unexpected(VAR state: State);
 PROCEDURE Unexpected(VAR state: State);
@@ -2175,7 +2175,7 @@ BEGIN
 			LOOP END
 			LOOP END
 		ELSE
 		ELSE
 			Release (TraceOutput);
 			Release (TraceOutput);
-			SetEAX(int);
+			SetRA(int);
 			HALT(1801)	(* unexpected interrupt *)
 			HALT(1801)	(* unexpected interrupt *)
 		END
 		END
 	END
 	END