mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
4.2 KiB
164 lines
4.2 KiB
#ident "@(#) NEC jazznvr.h 1.2 94/10/17 12:10:14"
|
|
/*++
|
|
|
|
Copyright (c) 1991-1994 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
jazznvr.h
|
|
|
|
Abstract:
|
|
|
|
This module contains definitions for the Jazz non-volatile ram structures.
|
|
|
|
--*/
|
|
|
|
/*
|
|
* Original source: Build Number 1.612
|
|
*
|
|
* Modify for R98(MIPS/R4400)
|
|
*
|
|
***********************************************************************
|
|
*
|
|
* S001 '94.6/02 T.Samezima
|
|
*
|
|
* Change NV_CONFIGURATION structure and define
|
|
*
|
|
***********************************************************************
|
|
*
|
|
* S002 '94.8/22 T.Samezima on SNES
|
|
*
|
|
* Chg NV_CONFIGURATION structure and define
|
|
*
|
|
*
|
|
*/
|
|
|
|
|
|
#ifndef _JAZZNVR_
|
|
#define _JAZZNVR_
|
|
|
|
//
|
|
// Define the private configuration packet structure, which contains a
|
|
// configuration component as well as pointers to the component's parent,
|
|
// peer, child, and configuration data.
|
|
//
|
|
|
|
typedef struct _CONFIGURATION_PACKET {
|
|
CONFIGURATION_COMPONENT Component;
|
|
struct _CONFIGURATION_PACKET *Parent;
|
|
struct _CONFIGURATION_PACKET *Peer;
|
|
struct _CONFIGURATION_PACKET *Child;
|
|
PVOID ConfigurationData;
|
|
} CONFIGURATION_PACKET, *PCONFIGURATION_PACKET;
|
|
|
|
//
|
|
// The compressed configuration packet structure used to store configuration
|
|
// data in NVRAM.
|
|
//
|
|
|
|
typedef struct _COMPRESSED_CONFIGURATION_PACKET {
|
|
UCHAR Parent;
|
|
UCHAR Class;
|
|
UCHAR Type;
|
|
UCHAR Flags;
|
|
ULONG Key;
|
|
USHORT Version;
|
|
USHORT ConfigurationDataLength;
|
|
USHORT Identifier;
|
|
USHORT ConfigurationData;
|
|
} COMPRESSED_CONFIGURATION_PACKET, *PCOMPRESSED_CONFIGURATION_PACKET;
|
|
|
|
//
|
|
// Defines for Identifier index.
|
|
//
|
|
|
|
#define NO_CONFIGURATION_IDENTIFIER 0xFFFF
|
|
|
|
//
|
|
// Defines for the volatile and non-volatile configuration tables.
|
|
//
|
|
|
|
#if defined(_R98_)
|
|
|
|
// Start S002
|
|
#define NUMBER_OF_ENTRIES 50 // REV 05 1994/05/23
|
|
#define LENGTH_OF_IDENTIFIER 516 // REV 05 1994/05/23
|
|
#define LENGTH_OF_DATA 2048 // REV 05 1994/05/23
|
|
#define LENGTH_OF_ENVIRONMENT 1024 // R98 support 1994/01/31(REV 01)
|
|
#define LENGTH_OF_EISA_DATA 2044 // R98 support 1994/01/31(REV 01)
|
|
#define LENGTH_OF_PCI_DATA 512 // REV 06 1994/06/17
|
|
#define LENGTH_OF_ITF_DATA 128 // R98 support 1994/01/31(REV 01)
|
|
#define NUMBER_MEM_ENTRIES 90 // REV 05 1994/05/23
|
|
#define LENGTH_MEM_IDENTIFIER 1024 // REV 05 1994/05/23
|
|
// End S002
|
|
|
|
#else // #if defined(_R98_)
|
|
|
|
#define NUMBER_OF_ENTRIES 32
|
|
#define LENGTH_OF_IDENTIFIER 504
|
|
#define LENGTH_OF_DATA 2048
|
|
#define LENGTH_OF_ENVIRONMENT 1024
|
|
|
|
#endif // #if defined(_R98_)
|
|
|
|
#define MAXIMUM_ENVIRONMENT_VALUE 128
|
|
|
|
//
|
|
// The volatile configuration table structure.
|
|
//
|
|
|
|
typedef struct _CONFIGURATION {
|
|
CONFIGURATION_PACKET Packet[NUMBER_OF_ENTRIES];
|
|
UCHAR Identifier[LENGTH_OF_IDENTIFIER];
|
|
UCHAR Data[LENGTH_OF_DATA];
|
|
} CONFIGURATION, *PCONFIGURATION;
|
|
|
|
//
|
|
// The non-volatile configuration table structure.
|
|
//
|
|
|
|
|
|
typedef struct _NV_CONFIGURATION {
|
|
|
|
// Start S002
|
|
#if defined(_R98_)
|
|
|
|
COMPRESSED_CONFIGURATION_PACKET Packet[NUMBER_OF_ENTRIES]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR Identifier[LENGTH_OF_IDENTIFIER]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR Data[LENGTH_OF_DATA]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR Checksum1[4]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR Environment[LENGTH_OF_ENVIRONMENT]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR Checksum2[4]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR EisaData[LENGTH_OF_EISA_DATA]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR Checksum3[4]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR EthernetAddress[8]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR NmiVector[4]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR ItfUseArea[LENGTH_OF_ITF_DATA]; // R98 support 1994/01/31(REV 01)
|
|
UCHAR Reserved[1608]; // R98 support 1994/01/31(REV 01)
|
|
|
|
#else // #if defined(_R98_)
|
|
|
|
COMPRESSED_CONFIGURATION_PACKET Packet[NUMBER_OF_ENTRIES];
|
|
UCHAR Identifier[LENGTH_OF_IDENTIFIER];
|
|
UCHAR Data[LENGTH_OF_DATA];
|
|
UCHAR Checksum1[4];
|
|
UCHAR Environment[LENGTH_OF_ENVIRONMENT];
|
|
UCHAR Checksum2[4];
|
|
|
|
#endif // #if defined(_R98_)
|
|
// End S002
|
|
|
|
} NV_CONFIGURATION, *PNV_CONFIGURATION;
|
|
|
|
//
|
|
// Non-volatile ram layout.
|
|
//
|
|
|
|
#if defined(MIPS)
|
|
|
|
#define NVRAM_CONFIGURATION NVRAM_VIRTUAL_BASE
|
|
#define NVRAM_SYSTEM_ID NVRAM_VIRTUAL_BASE + 0x00002000
|
|
|
|
#endif
|
|
|
|
#endif // _JAZZNVR_
|