1. Introduction 1.1. Project/Component Working Name: Configuration Variable Defaults 1.2. Name of Document Author/Supplier: Eduardo Horvath 1.3. Date of This Document: 09/10/2007 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: HEES PAC 1.4.2. The ARC(s) you expect to review your project: FWARC 1.4.3. The Director/VP who is "Sponsoring" this project: Mike Sanfratello 1.4.4. The name of your business unit: Common Software 1.5. Email Aliases: 1.5.1. Responsible Manager: gary.hethcoat@sun.com 1.5.2. Responsible Engineer: eduardo.horvath@sun.com 2. Project Summary 2.1. Project Description: Different platforms may require different defaults for OpenBoot configuration variables. To support this using a common OpenBoot image, a new machine descriptor node is defined to provide new platform specific default values to Openboot. 3. Business Summary 3.1. Problem Area: Although marketing (and not engineering) dictates these property values, they constitute a cross-consolidation software/firmware interface, and therefore must be registered with an ARC body. 4. Technical Description: 4.1. Details: Different platforms may require different defaults for OpenBoot configuration variables. To support this using a common OpenBoot image, a new machine descriptor node is defined to provide new platform specific default values to Openboot. 4.1.1 Openboot "variables-defaults" MD node Name: variables-defaults Category: optionally required by root Required subordinates: - Optional subordinates: - A new machine descriptor node off of the root node with the name "variables-defaults" may be provided. This node contains a set of string properties that correspond to OpenBoot configuration variables. These properties indicate the platform specific default values of those configuration variables where the platform's default value differs from the default value as defined by the OpenBoot binary. When OpenBoot initializes itself it looks for the "variables-defaults" node. If the node is found in the machine descriptor, OpenBoot will scan its properties. OpenBoot will set the default value of each configuration variable who's name corresponds to the property name to the value of that property. If OpenBoot finds a property in that node that does not correspond to a known configuration variable, that property will be silently skipped. Note: There is a single OpenBoot binary for all platforms based on a particular CPU type. List of configuration variables and their default value may be different for OpenBoot binaries created for different CPU types. List of configuration variables and their default value, as defined by the OpenBoot, are out of scope for this case. This case only defines a way for a platform to override the default values as defined by the OpenBoot binary. Platform bindings should define the contents of "variable-defaults" node if they are changing any of the OpenBoot defined defaults. The list of variables are represented as properties in the format defined below. Properties: Name Tag Required? Description ---------------------------------------------------------------- "var_name" PROP_STR No The variable's default value. A NULL terminated string. "var_name" is the name of a variable. Not all variable names are required to be present since only variables which have a unique default value are represented in this node. Note: The list of properties (variables) is determined by a platform implementation. Only variables with unique default settings are represented in this node. 4.2. Interfaces: Imported Interfaces : Interface Classification Comments sun4v Machine Sun Private MD nodes definitions as Description nodes defined by FWARC/2005/115 Standard IEEE 1275 Committed FWARC/1998/392 (see [6]) configuration variables Exported Interfaces : "variables-defaults" Uncommitted MD node name and properties as described in section 4.1.1 5. Reference Documents: FWARC/2005/115 - Sun4v Machine Description FWARC/2006/086 - LDOM Variables