⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 romdef.h

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 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 + -