📄 romdef.h
字号:
/*++
Copyright (c) 1995, 1996, 1997, 1998 Microsoft Corporation
Module Name:
romdef.h
Abstract:
This module is the header file that describes monitor software interface
structure.
Author:
Jun Liu 12-July-1996
Revision History:
--*/
#ifndef _ROMDEF_H_
#define _ROMDEF_H_
//
// TIMEOUT Constants
//
#define CLOCK_FACTOR 5491800 // (54.918ms / 10ns)
#define COM_TIMEOUT_QUICK (2 *CLOCK_FACTOR) // 100ms @ 100MHz
#define COM_TIMEOUT_DEFAULT (100 *CLOCK_FACTOR) // 5 seconds @ 100MHz
#define PARALLEL_TIMEOUT_READ 0xd17edc00 // (640 *CLOCK_FACTOR) // 35 seconds @ 100MHz
#define PARALLEL_TIMEOUT_WRITE (60 *CLOCK_FACTOR) // 3 seconds @ 100MHz
#define METHOD_XMODEM 1
#define METHOD_PPFS 2
#define METHOD_ETHER 3
#define METHOD_MINI_OS 4
/*
** Page Table Entry (PTE) Array definitions
**
** The paging mechanism is operated at 32bit mode.
*/
#define PTE_EntryHi 0x00
#define PTE_EntryLo0 0x04
#define PTE_EntryLo1 0x08
#define PTE_PageMask 0x0c
#define PTE_EntrySize 0x10
#define PAGE_UNCACHED 0x02
#define PAGE_NONCOHERENT_CACHED 0x03
#define PAGE_EXCLUSIVE_CACHED 0x04
#define PAGE_SHARABLE_CACHED 0x05
#define PAGE_UPDATE_CACHED 0x06
#define PAGE_DIRTY 1
#define PAGE_UNDIRTY 0
#define PAGE_VALID 1
#define PAGE_INVALID 0
#define PAGE_GLOBAL 1
#define PAGE_LOCAL 0
#define PTE(PhysicalAddr,VirtualAddr,Asid,CacheAttrib,Dirty,Valid,Global,PageMask) \
.word ((VirtualAddr>>ENTRYHI_VPN2) << ENTRYHI_VPN2) + Asid; \
.word ((PhysicalAddr>>12) << ENTRYLO_PFN) \
| (CacheAttrib << ENTRYLO_C) \
| (Dirty << ENTRYLO_D) \
| (Valid << ENTRYLO_V) \
| (Global << ENTRYLO_G); \
.word 1 << ENTRYLO_G; \
.word PageMask << PAGEMASK_PAGEMASK;
/*
** Trap handling definitions.
*/
#define COMMON_EXCEPTION 1
#define NMI_EXCEPTION 2
#define CACHE_EXCEPTION 4
#define FAULT_EXCEPTION 5
#define USER_SELECT 8
// Define offsets from Register Table.
// Must match the definiton in monitor.h
//
#define zeroRegTable 0x0
#define atRegTable 0x4
#define v0RegTable 0x8
#define v1RegTable 0xC
#define a0RegTable 0x10
#define a1RegTable 0x14
#define a2RegTable 0x18
#define a3RegTable 0x1C
#define t0RegTable 0x20
#define t1RegTable 0x24
#define t2RegTable 0x28
#define t3RegTable 0x2C
#define t4RegTable 0x30
#define t5RegTable 0x34
#define t6RegTable 0x38
#define t7RegTable 0x3C
#define s0RegTable 0x40
#define s1RegTable 0x44
#define s2RegTable 0x48
#define s3RegTable 0x4C
#define s4RegTable 0x50
#define s5RegTable 0x54
#define s6RegTable 0x58
#define s7RegTable 0x5C
#define t8RegTable 0x60
#define t9RegTable 0x64
#define k0RegTable 0x68
#define k1RegTable 0x6C
#define gpRegTable 0x70
#define spRegTable 0x74
#define s8RegTable 0x78
#define raRegTable 0x7C
#define f0RegTable 0x80
#define f1RegTable 0x84
#define f2RegTable 0x88
#define f3RegTable 0x8C
#define f4RegTable 0x90
#define f5RegTable 0x94
#define f6RegTable 0x98
#define f7RegTable 0x9C
#define f8RegTable 0xA0
#define f9RegTable 0xA4
#define f10RegTable 0xA8
#define f11RegTable 0xAC
#define f12RegTable 0xB0
#define f13RegTable 0xB4
#define f14RegTable 0xB8
#define f15RegTable 0xBC
#define f16RegTable 0xC0
#define f17RegTable 0xC4
#define f18RegTable 0xC8
#define f19RegTable 0xCC
#define f20RegTable 0xD0
#define f21RegTable 0xD4
#define f22RegTable 0xD8
#define f23RegTable 0xDC
#define f24RegTable 0xE0
#define f25RegTable 0xE4
#define f26RegTable 0xE8
#define f27RegTable 0xEC
#define f28RegTable 0xF0
#define f29RegTable 0xF4
#define f30RegTable 0xF8
#define f31RegTable 0xFC
#define fsrRegTable 0x100
#define indexRegTable 0x104
#define randomRegTable 0x108
#define entrylo0RegTable 0x10C
#define entrylo1RegTable 0x110
#define contextRegTable 0x114
#define pagemaskRegTable 0x118
#define wiredRegTable 0x11C
#define badvaddrRegTable 0x120
#define countRegTable 0x124
#define entryhiRegTable 0x128
#define compareRegTable 0x12C
#define psrRegTable 0x130
#define causeRegTable 0x134
#define epcRegTable 0x138
#define pridRegTable 0x13C
#define configRegTable 0x140
#define lladdrRegTable 0x144
#define watchloRegTable 0x148
#define watchhiRegTable 0x14C
#define eccRegTable 0x150
#define cacheerrorRegTable 0x154
#define tagloRegTable 0x158
#define taghiRegTable 0x15C
#define errorepcRegTable 0x160
#define RegisterTableSize 0x164
//
// Define Fw exception frame offsets.
//
#define FwFrameK1 0x4
#define FwFrameRa 0x8
#define FwFrameA0 0xC
#define FwFrameA1 0x10
#define FwFrameA2 0x14
#define FwFrameA3 0x18
#define FwFrameV0 0x1C
#define FwFrameV1 0x20
#define FwFrameT0 0x24
#define FwFrameT1 0x28
#define FwFrameT2 0x2C
#define FwFrameT3 0x30
#define FwFrameT4 0x34
#define FwFrameT5 0x38
#define FwFrameT6 0x3C
#define FwFrameT7 0x40
#define FwFrameT8 0x44
#define FwFrameT9 0x48
#define FwFrameAT 0x4C
#define FwFrameSize 0x50
#endif /* _ROMDEF_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -