From 04d4808ccc8fa0f0399d3bc156770b38c5c1bb6f Mon Sep 17 00:00:00 2001
From: Chris Hanson <org/chris-hanson/cph>
Date: Tue, 22 Jul 2003 02:32:34 +0000
Subject: [PATCH] Adapt to new representation used for microcode version info.

---
 v7/src/runtime/runtime.pkg |  7 +++----
 v7/src/runtime/utabs.scm   | 28 ++++++++++++++++++----------
 v7/src/runtime/version.scm |  5 ++---
 3 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/v7/src/runtime/runtime.pkg b/v7/src/runtime/runtime.pkg
index c16cdb244..75f391f2a 100644
--- a/v7/src/runtime/runtime.pkg
+++ b/v7/src/runtime/runtime.pkg
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.449 2003/07/21 00:59:52 cph Exp $
+$Id: runtime.pkg,v 14.450 2003/07/22 02:32:26 cph Exp $
 
 Copyright 1988,1989,1990,1991,1992,1993 Massachusetts Institute of Technology
 Copyright 1994,1995,1996,1997,1998,1999 Massachusetts Institute of Technology
@@ -2172,20 +2172,19 @@ USA.
 	  fixed-object/name->code
 	  fixed-objects-item
 	  fixed-objects-vector-slot
+	  get-microcode-version-numbers
+	  get-microcode-version-string
 	  microcode-error/code->name
 	  microcode-error/code-limit
 	  microcode-error/name->code
 	  microcode-id/floating-epsilon
 	  microcode-id/floating-mantissa-bits
-	  microcode-id/modification
 	  microcode-id/operating-system
 	  microcode-id/operating-system-name
 	  microcode-id/operating-system-variant
-	  microcode-id/release-string
 	  microcode-id/stack-type
 	  microcode-id/tty-x-size
 	  microcode-id/tty-y-size
-	  microcode-id/version
 	  microcode-identification-item
 	  microcode-identification-vector-slot
 	  microcode-object/unassigned
diff --git a/v7/src/runtime/utabs.scm b/v7/src/runtime/utabs.scm
index fdb168e7d..f83d7efc6 100644
--- a/v7/src/runtime/utabs.scm
+++ b/v7/src/runtime/utabs.scm
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: utabs.scm,v 14.16 2003/02/14 18:28:34 cph Exp $
+$Id: utabs.scm,v 14.17 2003/07/22 02:32:30 cph Exp $
 
 Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
 
@@ -72,12 +72,15 @@ USA.
   (set! non-object-slot (fixed-object/name->code 'NON-OBJECT))
   (set! system-call-names-slot (fixed-object/name->code 'SYSTEM-CALL-NAMES))
   (set! system-call-errors-slot (fixed-object/name->code 'SYSTEM-CALL-ERRORS))
-  (set! microcode-id/version
-	(microcode-identification-item 'MICROCODE-VERSION))
-  (set! microcode-id/modification
-	(microcode-identification-item 'MICROCODE-MODIFICATION))
-  (set! microcode-id/release-string
-	(microcode-identification-item 'SYSTEM-RELEASE-STRING))
+  (set! microcode-version-string
+	(let ((version (microcode-identification-item 'MICROCODE-VERSION)))
+	  (if (string? version)
+	      version
+	      (string-append
+	       (number->string version)
+	       "."
+	       (number->string
+		(microcode-identification-item 'MICROCODE-VERSION))))))
   (set! char:newline (microcode-identification-item 'NEWLINE-CHAR))
   (set! microcode-id/floating-mantissa-bits
 	(microcode-identification-item 'FLONUM-MANTISSA-LENGTH))
@@ -107,10 +110,15 @@ USA.
        ((ucode-primitive substring-downcase!) result 0 size)
        result))))
 
+(define (get-microcode-version-string)
+  microcode-version-string)
+
+(define (get-microcode-version-numbers)
+  (map (lambda (s) (or (string->number s) s))
+       (burst-string microcode-version-string #\. #f)))
+
 (define microcode-tables-identification)
-(define microcode-id/version)
-(define microcode-id/modification)
-(define microcode-id/release-string)
+(define microcode-version-string)
 (define char:newline)
 (define microcode-id/tty-x-size)
 (define microcode-id/tty-y-size)
diff --git a/v7/src/runtime/version.scm b/v7/src/runtime/version.scm
index adfe1e84e..b1e86c83d 100644
--- a/v7/src/runtime/version.scm
+++ b/v7/src/runtime/version.scm
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: version.scm,v 14.213 2003/04/25 03:56:40 cph Exp $
+$Id: version.scm,v 14.214 2003/07/22 02:32:34 cph Exp $
 
 Copyright 1988,1989,1990,1991,1992,1993 Massachusetts Institute of Technology
 Copyright 1995,1996,1997,1998,1999,2000 Massachusetts Institute of Technology
@@ -38,5 +38,4 @@ USA.
 
 (define (snarf-microcode-version!)
   (add-subsystem-identification! "Microcode"
-				 (list microcode-id/version
-				       microcode-id/modification)))
\ No newline at end of file
+				 (get-microcode-version-numbers)))
\ No newline at end of file
-- 
2.25.1