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

📄 m5xxreg.h

📁 os源代码 os源代码 os源代码 os源代码 os源代码 os源代码
💻 H
字号:
/****************************************************************************/
/*

FILE
	
	m5xxreg.h
	
	$Header: /Embedded/MetroTRK/Processor/ppc/Export/m5xxreg.h 5     9/22/98 11:03a Smoore $
	
DESCRIPTION

	API for target-specific implementation.
	
	Register numbers for MPC505 and MPC509.
	
	These register blocks are accessed via the kDSReadRegisters and
	kDSWriteRegisters messages.  The register number for a specific
	register is determined by its corresponding element number in these
	structures.  The register data in the messages must conform to
	the structures defined here in big-endian format.
	
VERSION
	
	CWDS 1.0

HISTORY
	
	97 FEB 28 LLY	Created.
	97 MAY 20 LLY	Removed register enumeration
	97 MAY 27 SCM   Reorganized registers according to new message
					format.
	97 JUN 10 SCM	Made some changes to the M821-specific registers.

	$History: m5xxreg.h $
//	
//	*****************  Version 5  *****************
//	User: Smoore       Date: 9/22/98    Time: 11:03a
//	Updated in $/Embedded/MetroTRK/Processor/ppc/Export
//	Moved 5xx FP registers into the FP block.  Fixed FP block typedef.
//	
//	*****************  Version 4  *****************
//	User: Clayton      Date: 9/09/98    Time: 12:50p
//	Updated in $/Embedded/MetroTRK/Processor/ppc/Export
//	Extracted all common powerPC stuff into ppc_reg.h and cleaned up so
//	multiple reg.h files for different processors can be included in a
//	debugger plugin.
//	
//	*****************  Version 3  *****************
//	User: Smoore       Date: 7/22/98    Time: 10:11a
//	Updated in $/Embedded/MetroTRK/Processor/ppc/M5xxExpt
//	Updated StopInfo to use new typedefs.
//	
//	*****************  Version 2  *****************
//	User: Smoore       Date: 7/15/98    Time: 4:36p
//	Updated in $/Embedded/MetroTRK/Processor/ppc/M5xxExpt
//	Updated to accomodate latest changes in main source base.
//	
//	*****************  Version 3  *****************
//	User: Smoore       Date: 9/23/97    Time: 2:23p
//	Updated in $/Embedded/MetroTRK/Processor/ppc/M8xxExpt
//	Moved exceptionID from the start of the Extended1 block to the end.
//	
//	*****************  Version 1  *****************
//	User: Smoore       Date: 7/14/97    Time: 3:14p
//	Created in $/Embedded/MetroTRK/Processor/ppc/M821Expt
//	Reorganized CWDS and changed name back to TRK.
//	
//	*****************  Version 1  *****************
//	User: Smoore       Date: 7/14/97    Time: 3:06p
//	Created in $/Embedded/MetroTRK/MetroTRK/Processor/ppc/M821Expt
//	Reorganized CWDS and changed name back to TRK
//	
//	*****************  Version 1  *****************
//	User: Smoore       Date: 7/14/97    Time: 2:58p
//	Created in $/Embedded/TEMP/MetroTRK/Processor/ppc/M821Expt
//	Reorganized CWDS files and changed name back to TRK
//	
//	*****************  Version 1  *****************
//	User: Smoore       Date: 7/03/97    Time: 10:22a
//	Created in $/Embedded/MIPS2.0/new_TRK/Processors/PPC/M821/Export
//	Reorganized CWDS directories and changed name back to TRK
//	
//	*****************  Version 6  *****************
//	User: Smoore       QDate: 6/11/97    Time: 10:44 AM
//	Updated in $/Embedded/CWDS/M821Expt
//	Grouped read-only and inaccessible M821 SPR's at end of extended1
//	block.
//	
//	*****************  Version 5  *****************
//	User: Smoore       QDate: 6/10/97    Time: 11:37 AM
//	Updated in $/CWDS/M821Expt
//	Made some changes to the M821-specific registers.
	
AUTHORS

	(c) 1997 Metrowerks Corporation
	All rights reserved.
	
*/
/****************************************************************************/

#pragma once

#include "dstypes.h"
#include "ppc_reg.h"	// Generic PowerPC Register Definitions
/****************************************************************************/

/*
 * Extended registers block 1
 */

typedef struct Extended1_PPC_5xx
{
	Extended1Type	MSR;
	Extended1Type	DAR;
	Extended1Type	DSISR;
	Extended1Type	TBL;
	Extended1Type	TBU;
	Extended1Type	DEC;
	Extended1Type	PVR;
	Extended1Type	SPRG0;
	Extended1Type	SPRG1;			/* used as scratch registers by DS */
	Extended1Type	SPRG2;			/* used as scratch registers by DS */
	Extended1Type	SPRG3;			/* used as scratch registers by DS */
	/* The MPC5xx has the following additional registers */
	/* Notes: EIE, EID, and NRI are write-only aliases into the MSR - they are not included */
	/*        DPIR register is fetch-only - it is not included */
	Extended1Type	SPR_ICADR;
	Extended1Type	SPR_CMPA;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_CMPB;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_CMPC;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_CMPD;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_DER;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_COUNTA;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_COUNTB;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_CMPE;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_CMPF;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_CMPG;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_CMPH;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_LCTRL1;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_LCTRL2;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_ICTRL;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_BAR;			/* writeable only w/debug mode disabled */
	Extended1Type	SPR_DPDR;			/* read-only */
	Extended1Type	SPR_ICDAT;			/* read-only */
	Extended1Type	SPR_ECR;			/* not accessible (read-only & reading changes state) */
	Extended1Type	SPR_ICCST;			/* not accessible (read alters & write sends command to cache controller) */
	ExceptionCauseType	exceptionID;	/* same as vector #, e.g. 0x0200 (read-only) */
	ui16			pad; 				/* make struct size even # of longs */
} Extended1_PPC_5xx;


#define DS_EXTENDED1_MIN_REGISTER_5xx	0
#define DS_EXTENDED1_MAX_REGISTER_5xx	(sizeof( Extended1_PPC_5xx ) / sizeof( Extended1Type ) - 1)
/*
 *	full processor state
 */

typedef struct ProcessorState_PPC_5xx
{
	Default_PPC			Default;		/* Default register block */
	Float_PPC			Float;			/* Floating point register block */
	Extended1_PPC_5xx	Extended1;		/* Extended register block */
} ProcessorState_PPC_5xx;


#ifndef MWDEBUGGER_PLUGIN
#define DS_EXTENDED1_MIN_REGISTER	DS_EXTENDED1_MIN_REGISTER_5xx
#define DS_EXTENDED1_MAX_REGISTER	DS_EXTENDED1_MAX_REGISTER_5xx
#define FPR_START					FPR_START_5xx
typedef ProcessorState_PPC_5xx 		ProcessorState_PPC;
typedef Extended1_PPC_5xx			Extended1_PPC;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -