Jim Carlson points out that I'm still backward with "importing" the SPCR spec 
(it should be "exporting").  Assuming I change that, any more comments I can 
address?

Jim, are the other two interfaces that I'm "providing" also "exports" in ARCese?

Dan Mick wrote:
> Here's a revised version, with the following diffs:
> --- a/spcr      Tue Dec 22 19:36:31 2009 -0800
> +++ b/spcr      Tue Dec 22 19:50:54 2009 -0800
> @@ -57,9 +57,19 @@
> 
>  SUMMARY OF CHANGE
> 
> -1) new keyword for use on Grub menu lines '$CONSOLE'
> -2) new Grub command 'spcr'
> -3) removal of baud rate from console: line in /etc/ttydefs
> +Imported interface:
> 
> +SPCR table, defined in Microsoft document "Windows Platform Design
> +Notes, Serial Port Console Redirection Table (Version 1.00, January 11,
> +2002)".  See 
> http://www.microsoft.com/whdc/system/platform/server/spcr.mspx
> +for a clickthrough-license-protected version of this document.
> 
> +New exported interfaces:
> 
> +- New keyword for use on Grub menu lines '$CONSOLE': Committed
> +- New Grub command 'spcr': Uncommitted, human-readable diagnostic command
> +
> +Non-interface changes worthy of note:
> +
> +Removal of baud rate from console: line in /etc/ttydefs
> +
> 
> 
> 
> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
> This information is Copyright 2009 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
>      Serial Port Console Redirection
>     1.2. Name of Document Author/Supplier:
>      Author:  Daniel Mick
>     1.3  Date of This Document:
>     23 December, 2009
> 4. Technical Description
> 
> PROBLEM:
> 
> x86 platforms have been able for some time to redirect BIOS and early
> boot output to a serial port, as has the Solaris kernel; however,
> configuration of both is separate, and error-prone.  This has been
> unavoidable, because, until recently, there's been no interface to
> query the BIOS settings for serial console.
> 
> Further, OpenSolaris now tries to enter graphics mode immediately in
> Grub, and stay there during kernel boot until Xorg takes over
> (so-called "happy face" boot).  This works well on workstations with
> VGAs and displays, and not so well on remote servers with serial
> consoles (the graphics output is at least garbage to the serial
> console, and in worse cases, can wedge the console).
> 
> SOLUTION:
> 
> Microsoft has defined an ACPI table to transmit this information called
> SPCR (Serial Port Console Redirection).  Many machines support this
> table, and its contents are sufficient to allow Grub and the kernel to
> match their configuration to the BIOS configuration.  Using this
> information, Grub can automatically avoid graphics mode when serial
> console is configured, and we can remove the requirement for manual
> configuration of serial parameters for the kernel in Grub's menu.lst.
> 
> IMPLEMENTATION
> 
> Grub has been modified to read and use the information in SPCR.  A new
> keyword $CONSOLE is added for use on the kernel$ boot line in menu.lst;
> it will expand to properties which select either the appropriate serial
> port and mode (for example,
> "console=ttya,ttya-mode=19200,8,n,1,-,ttya-ignore-cd=true") or the
> normal text or graphics console ("console=text" or "console=graphics")
> as the Solaris release requires.  (Currently Nevada uses text,
> OpenSolaris uses graphics.)  A typical use in menu.lst would look
> like:
> 
> kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,$CONSOLE
> 
> In addition, a new "spcr" command has been defined, to display the
> settings in the SPCR table (if it exists).  This command is useful for
> diagnostic purposes.
> 
> This requires no change in the kernel to use; however, one file is also
> changed in the Solaris system image: /etc/ttydefs, which currently
> configures ttymon(1) to force the console to 9600 baud.  It turns out
> that if the baud rate setting is removed, ttymon simply uses the
> preexisting baud rate without change.  This is exactly what we'd like
> for the x86 case, as it means that baud rate choice is done in exactly
> one place: the BIOS.  It also allows one fewer configuration step on
> SPARC systems, where the ttya-mode variable can be set in OBP, and then
> ttydefs will not need change.  (Unfortunately, the SPARC serial drivers
> take it upon themselves to initialize the baud rate from settings in
> /kernel/drv/options.conf, ignoring ttya-mode, so on SPARC we haven't
> yet made it a one-step process...but this does at least remove one step
> on SPARC).
> 
> SUMMARY OF CHANGE
> 
> Imported interface:
> 
> SPCR table, defined in Microsoft document "Windows Platform Design
> Notes, Serial Port Console Redirection Table (Version 1.00, January 11,
> 2002)".  See http://www.microsoft.com/whdc/system/platform/server/spcr.mspx
> for a clickthrough-license-protected version of this document.
> 
> New exported interfaces:
> 
> - New keyword for use on Grub menu lines '$CONSOLE': Committed
> - New Grub command 'spcr': Uncommitted, human-readable diagnostic command
> 
> Non-interface changes worthy of note:
> 
> Removal of baud rate from console: line in /etc/ttydefs
> 
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>        6.4.1. Consolidation C-team Name:
>         ON
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open

Reply via email to