General
Application area: | Requesting and accessing lists and tables; see "Requesting and accessing lists and tables" |
Macro type: | Type S, MF format 1: standard/E/L form; see "S-type macros" |
As of BS2000/OSD-BC V1.0, two new macros NSIINF and NSIOPT are available. These macros incorporate the full functionality of the SINF macro. The functionality of the SINF macro has been frozen as of BS2000 V10.0. The macros NSIINF and NSIOPT should be used for new developments.
Macro description
The SINF macro provides information about the following:
CPU: | serial numbers and identifications of available CPUs |
BS2000: | label and version of the operating system, as well as addressing mode of the |
Memory: | size of the (physical) main memory and start address of the operating system |
HSI: | HSI base type |
Server: | type of server (model series) |
System | system parameters of significance for the nonprivileged user such as |
The selected information is transferred to a specified field. No more than one item of information can be requested per macro call (see the list at the end of the description of operands).
Macro format and description of operands
SINF |
INFO='info' / addr / (r) ,FIELD=addr / (r) ,LENGTH=length / (r) [,PARMOD=24 / 31] [,MF=(E,..) / L] |
INFO=
Specifies the type of information to be output.
'info'
Identifier for the item of information. Please refer to the list at the end of the description of operands for possible entries.
addr
Symbolic address of an 8-byte field containing the value “info” (left-justified, with trailing blanks).
(r)
Register containing the address value “addr”.
FIELD=
Specifies the symbolic address of the field to which the requested information is output. Field length >= length of information (cf. list). The information is entered left-justified.
addr
Symbolic address of the field.
(r)
Register containing the address value “addr”.
LENGTH=
Specifies the length of the entry made in the field specified with the FIELD operand (cf. list below). If an incorrect value is specified for LENGTH, no entry is made in the field specified with FIELD.
For system parameters of type C, information can be output to an output field which is too small, provided that only blanks are deleted from the contents of the system parameter (see also the system parameter DEFLUID, for example).
length
Length in bytes (see list below), specified as a decimal digit.
(r)
Register containing “length”.
MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. for a prefix), see section “S-type macros”. The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.
PARMOD=
Controls macro expansion. Either the 24-bit or the 31-bit interface is generated.
If PARMOD is not specified here, macro expansion is performed according to the specification for the GPARMOD macro or according to the default setting for the assembler (= 24-bit interface).
24
The 24-bit interface is generated. Data lists and instructions use 24-bit addresses (address space <= 16 Mb).
31
The 31-bit interface is generated. Data lists and instructions use 31-bit addresses (address space <= 2 Gb).
List of information that can be requested
Identifier | Length | Meanings of values output |
CONFNAME | 8 | Server type (model series) e.g.: S210-F (in the old format) |
CONFNAMX | 21 | see NSIINF macro on "NSIINF - Output system information". |
CPUID | 64 | Identifications of the CPUs. The output is split into 8 elements each 8 bytes |
CPUSER | 3 | Serial number of the first CPU. |
6 | Bytes 0- 2: serial number of first CPU. | |
12 | Bytes 0- 2: serial number of first CPU. | |
HSIBASE | 6 | see NSIINF macro on "NSIINF - Output system information". |
HSILINE | 2 | see NSIINF macro on "NSIINF - Output system information". |
HSITYPE | 4 | The attributes of the current HSI type are output. |
HSIVM | 2 | see NSIINF macro on "NSIINF - Output system information". |
MEMSIZE | 4 | Size of (physical) main memory available for software (in bytes). |
OSAMODE | 2 | Provides information about the addressing mode of the operating system. |
OSID | 12 | Bytes 0-7: program name of the operating system; e.g. 'BS2V190' . |
SYSBASE | 4 | Start address of the operating system in virtual address space. |
<system | Value of the system parameter |
Return information and error flags
Register R1 is overwritten.
R15:
+---------------+ | | | | | | | | | | | |a|a| +---------------+
A return code relating to the execution of the SINF macro is transferred in the rightmost byte of register R15.
X'aa' | Meaning |
X'00' | The macro call was successful. |
X'04' | Invalid address or invalid register. No action. |
X'08' | Internal REQM call not executed. No action. |
X'0C' | Invalid entry in INFO operand. No action. |
X'10' | Invalid length entry for output field. No action. |
X'14' | Illegal system parameter specified in INFO operand. No action. |
X'18' | Incorrect macro format specified. |