event:after-restore now invokes re-read-microcode-tables! instead of
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Mon, 11 May 1992 01:53:40 +0000 (01:53 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Mon, 11 May 1992 01:53:40 +0000 (01:53 +0000)
read-microcode-tables! re-read-microcode-tables! does not complain if
the microcode identification (including version) has not changed an
the utabmd.bin file is not found.

v7/src/runtime/utabs.scm

index 577c0d7c80a0d3abda621f1870cec8f4fe2fdd5a..a5299e08f3dbf3a323d6824d2c524a5f04fe41b3 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/utabs.scm,v 14.6 1991/05/06 03:19:52 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/utabs.scm,v 14.7 1992/05/11 01:53:40 jinx Exp $
 
-Copyright (c) 1988-91 Massachusetts Institute of Technology
+Copyright (c) 1988-1992 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -38,7 +38,17 @@ MIT in each case. |#
 (declare (usual-integrations))
 \f
 (define (initialize-package!)
-  (add-event-receiver! event:after-restore read-microcode-tables!))
+  (add-event-receiver! event:after-restore re-read-microcode-tables!))
+
+(define (re-read-microcode-tables!)
+  (let ((file-name ((ucode-primitive microcode-tables-filename))))
+    (cond ((file-exists? file-name)
+          (read-microcode-tables! file-name))
+         ((not (equal? ((ucode-primitive microcode-identify))
+                       identification-vector))
+          (error
+           "event:after-restore: Cannot find description for new microcode in"
+           file-name)))))
 
 (define (read-microcode-tables! #!optional filename)
   (set! microcode-tables-identification