Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

121 lines
3.5 KiB

/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
duoreset.h
Abstract:
This file defines various constants for the Base prom reset module.
Author:
Lluis Abello (lluis) 28-Apr-1993
Revision History:
--*/
#ifndef _DUORESET_
#define _DUORESET_
//TEMPTEMP
#define SECONDARY_CACHE_SIZE (1 << 20)
#define SECONDARY_CACHE_INVALID 0x0
#define TAGLO_SSTATE 0xA
#define INDEX_FILL_I 0x14 // ****** temp ****** this must be moved to kxmips.h
#define HIT_WRITEBACK_I 0x18 // ****** temp ****** this must be moved to kxmips.h
//
// redefine bal to be a relative branch and link instead of jal as it's
// defined in kxmips.h. This allows calling routines when running in either
// ROM_VIRT Addresses or ResetVector Addresses.
// The cpp will issue a redefinition warning message.
//
#define bal bgezal zero,
//
// #define MCTADR register values.
//
//
// Define remspeed registers.
//
#ifndef DUO
#define REMSPEED0 7 // reserved
#define REMSPEED1 0 // Ethernet
#define REMSPEED2 1 // scsi
#define REMSPEED3 2 // floppy
#define REMSPEED4 7 // rtc
#define REMSPEED5 3 // kbd/mouse
#define REMSPEED6 2 // serial 1
#define REMSPEED7 2 // serial 2
#define REMSPEED8 2 // parallel
#define REMSPEED9 4 // nvram
#define REMSPEED10 1 // interrupt src
#define REMSPEED11 2 // PROM (should be 4)
#define REMSPEED12 1 // sound
#define REMSPEED13 7 // new device
#define REMSPEED14 1 // EISA latch
#define REMSPEED15 1 // led
#else
#define REMSPEED0 7 // reserved
#define REMSPEED1 0 // Ethernet
#define REMSPEED2 0 // scsi
#define REMSPEED3 0 // scsi
#define REMSPEED4 7 // rtc
#define REMSPEED5 3 // kbd/mouse
#define REMSPEED6 2 // serial 1
#define REMSPEED7 2 // serial 2
#define REMSPEED8 2 // parallel
#define REMSPEED9 4 // nvram
#define REMSPEED10 3 // interrupt src
#define REMSPEED11 3 // PROM (should be 4)
#define REMSPEED12 7 // new device
#define REMSPEED13 7 // new device
#define REMSPEED14 1 // LED
#endif
#define PROM_BASE (KSEG1_BASE | 0x1fc00000)
#define PROM_ENTRY(x) (PROM_BASE + ((x) * 8))
//
// Define addresses
//
#define LINK_ADDRESS 0xE1000000
#define RESET_VECTOR 0xBFC00000
#define STACK_SIZE 0xA000 // 40Kb of stack
#define RAM_TEST_STACK_ADDRESS 0xA000BFF0 // Stack for code copied to memory
//
// Address definitions for the Basic firmware written in C.
// The code is copied to RAM_TEST_LINK_ADDRESS so that it runs at the address
// it was linked.
//
#define RAM_TEST_DESTINATION_ADDRESS 0xA000C000 // uncached link address
#define RAM_TEST_LINK_ADDRESS 0xA000C000 // Link Address of code
#define EISA_MEMORY_PHYSICAL_BASE_PAGE 0x100000
//
// define Video ROM addresses.
//
#define VIDEO_PROM_CODE_VIRTUAL_BASE 0x10000000 // Link address of video prom code
#define VIDEO_PROM_CODE_PHYSICAL_BASE 0x50000 // phys address of video prom code
#define VIDEO_PROM_CODE_UNCACHED_BASE (KSEG1_BASE + VIDEO_PROM_CODE_PHYSICAL_BASE) // uncached address where video prom code is copied
#define VIDEO_PROM_SIZE 0x10000
#define FW_FONT_ADDRESS (KSEG0_BASE + VIDEO_PROM_CODE_PHYSICAL_BASE + VIDEO_PROM_SIZE)
#endif // _DUORESET_