1
0
Files
irix-657m-src/irix/kern/sys/EVEREST/sysctlr.h
2022-09-29 17:59:04 +03:00

102 lines
4.2 KiB
C

/**************************************************************************
* *
* Copyright (C) 1992, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
/*
* sysctlr.h -- Various definitions for the system controller/CC-uart
* communications protocol. All of the values are in hex because
* the stupid assembler can't deal with character constants.
*/
#ifndef __SYS_EVEREST_SYSCTLR_H__
#define __SYS_EVEREST_SYSCTLR_H__
#ident "$Revision: 1.9 $"
/*
* ioctl support for the /dev/sysctlr driver.
*/
#define SYSC_IOC ('s' << 8)
#define SYSC_QLEN (SYSC_IOC|1) /* returns length of read queue */
#define SYSC_RTOUT (SYSC_IOC|2) /* set the read timeout */
#define SYSC_WTOUT (SYSC_IOC|3) /* set the write timeout */
/*
* Boot master arbitration protocol commands
*/
#define SC_BMREQ 0x40 /* '@' Sent by sysctlr to start bootmaster arb */
#define SC_MANUMODE 0x50 /* 'P' Sent by sysctlr in manufacturing mode */
#define SC_BMRESP 0x4b /* 'K' Sent by CC uart to signal bootmaster */
#define SC_BMRESTART 0x12 /* (^R) Sent by CC uart to restart bm arb */
/*
* Information acquisition commands. The CC uart sends a get information
* request, a sequence number, a unique identifying character which
* indicates what kind of information we want, and a NULL. All responses
* take the form: 'R' SEQUENCE_NUM DATA_BYTES NULL.
*/
#define SC_ESCAPE 0x18 /* Ctrl-X indicates following is a command */
#define SC_GET 0x47 /* 'G' Sent by CC uart to start a retrieval */
#define SC_RESP 0x52 /* 'R' First char of response from sysctlr */
#define SC_SET 0x53 /* 'S' Sent by CC uart to store a value */
#define SC_TERM 0x0a /* LF System controller termination char */
/* Responses are NULL ('\0') terminated */
/* The following can be both gotten and set */
#define SC_TIME 0x54 /* 'T' Time and date information */
#define SC_DEBUG 0x44 /* 'D' Magic debugging dip switch settings */
#define SC_ENV 0x45 /* 'E' Environment information */
#define SC_SERIAL 0x53 /* 'S' System serial number */
#define SC_CHECK 0x43 /* 'C' Check command lengths */
/* The following can only be gotten */
#define SC_LOG 0x4c /* 'L' System controller event log */
#define SC_PANEL 0x50 /* 'P' Display panel type (E or T) */
/* The following can only be set */
#define SC_MESSAGE 0x4d /* 'M' Boot Message string */
#define SC_OFF 0x4f /* 'O' Switch off machine */
#define SC_PROCSTAT 0x50 /* 'P' Processor status information */
#define SC_HISTO 0x48 /* 'H' Activity histogram */
#define SC_SNOOZE 0x5a /* 'Z' Snooze (ask for more time) */
#define SC_KILLLOG 0x4b /* 'K' Kill NVRAM event log */
/*
* Alarms and warnings. These are sent by the system controller if
* something nasty happens.
*/
#define SC_ALARM 0x41 /* 'A' First character of alarm message */
#define SC_OVERTEMP 0x54 /* 'T' Machine is running hot */
#define SC_SWITCHOFF 0x4f /* 'O' Front panel switch has been turned off */
#define SC_BLOWER 0x42 /* 'B' Blower failure */
#define SC_WARNING 0x57 /* 'W' A non-fatal warning event has occurred */
#define SC_COPTIMER 0x54 /* 'T' COP Timer Reset Error */
#define SC_OSC 0x43 /* 'C' Sysctlr crystal oscillator broken */
#define SC_ILLEGAL 0x49 /* 'I' Illegal op code interrupt. */
#define SC_VOLTAGE 0x56 /* 'V' Voltage exceeds inner tolerance */
#define SC_BLOWERWARN 0x42 /* 'B' Blower RPM warning */
#define SC_RESET 0x53 /* 'S' Firmware reset */
/* Status line characters */
#define SCSTAT_BOOTMASTER 'B'
#define SCSTAT_WORKING '+'
#define SCSTAT_UNKNOWN ' '
#define SCSTAT_BROKEN 'X'
#define SCSTAT_DISABLED 'D'
#endif /* __SYS_EVEREST_SYSCTLR_H__ */