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

📄 core_ata.h

📁 6440linuxDriver的源代码
💻 H
字号:
#if !defined(CORE_ATA_H)#define CORE_ATA_H/* * ATA IDE Command definition  *//* PIO command */#define ATA_CMD_READ_PIO				0x20#define ATA_CMD_READ_PIO_EXT			0x24#define ATA_CMD_READ_PIO_MULTIPLE_EXT 	0x29#define ATA_CMD_WRITE_PIO				0x30#define ATA_CMD_WRITE_PIO_EXT			0x34#define ATA_CMD_WRITE_PIO_MULTIPLE_EXT	0x39/* DMA read write command */#define ATA_CMD_READ_DMA				0xC8	/* 24 bit DMA read */#define ATA_CMD_READ_DMA_QUEUED			0xC7	/* 24 bit TCQ DMA read */#define ATA_CMD_READ_DMA_EXT			0x25	/* 48 bit DMA read */#define ATA_CMD_READ_DMA_QUEUED_EXT		0x26	/* 48 bit TCQ DMA read */#define ATA_CMD_READ_FPDMA_QUEUED		0x60	/* NCQ DMA read: SATA only. Always 48 bit */#define ATA_CMD_WRITE_DMA				0xCA	#define ATA_CMD_WRITE_DMA_QUEUED		0xCC#define ATA_CMD_WRITE_DMA_EXT  			0x35#define ATA_CMD_WRITE_DMA_QUEUED_EXT	0x36#define ATA_CMD_WRITE_FPDMA_QUEUED		0x61/* Identify command */#define ATA_CMD_IDENTIFY_ATA			0xEC#define ATA_CMD_IDENTIY_ATAPI			0xA1#define ATA_CMD_VERIFY					0x40	/* 24 bit read verifty */#define ATA_CMD_VERIFY_EXT				0x42	/* 48 bit read verify */#define ATA_CMD_FLUSH					0xE7	/* 24 bit flush */#define ATA_CMD_FLUSH_EXT				0xEA	/* 48 bit flush */#define ATA_CMD_PACKET					0xA0#define ATA_CMD_SMART					0xB0	#define ATA_CMD_SMART_READ_DATA 					0xD0	#define ATA_CMD_SMART_ENABLE_ATTRIBUTE_AUTOSAVE	0xD2	#define ATA_CMD_SMART_EXECUTE_OFFLINE				0xD4	#define ATA_CMD_SMART_READ_LOG						0xD5	#define ATA_CMD_SMART_WRITE_LOG 					0xD6	#define ATA_CMD_ENABLE_SMART				0xD8	#define ATA_CMD_DISABLE_SMART				0xD9	#define ATA_CMD_SMART_RETURN_STATUS			0xDA#define ATA_CMD_SET_FEATURES			0xEF	#define ATA_CMD_ENABLE_WRITE_CACHE			0x02	#define ATA_CMD_SET_TRANSFER_MODE			0x03	#define ATA_CMD_DISABLE_READ_LOOK_AHEAD		0x55	#define ATA_CMD_DISABLE_WRITE_CACHE			0x82	#define ATA_CMD_ENABLE_READ_LOOK_AHEAD		0xAA#define ATA_CMD_STANDBY_IMMEDIATE		0xE0#define ATA_CMD_SEEK					0x70#define ATA_CMD_READ_LOG_EXT			0x2F/* PM commands & registers */#define ATA_CMD_PM_READ				0xE4#define ATA_CMD_PM_WRITE			0xE8#define ATA_CMD_PM_CHECK			0xE5#define ATA_CMD_EXECUTE_DEVICE_DIAGNOSTIC		0x90struct _ATA_TaskFile;typedef struct _ATA_TaskFile ATA_TaskFile, *PATA_TaskFile;struct _ATA_TaskFile {	MV_U8	Features;	MV_U8	Sector_Count;	MV_U8	LBA_Low;	MV_U8	LBA_Mid;	MV_U8	LBA_High;	MV_U8	Device;	MV_U8	Command;	MV_U8	Control;	/* extension */	MV_U8	Feature_Exp;	MV_U8	Sector_Count_Exp;	MV_U8	LBA_Low_Exp;	MV_U8	LBA_Mid_Exp;	MV_U8	LBA_High_Exp;};/* ATA device identify frame */typedef struct _ATA_Identify_Data {	MV_U16 General_Config;							/*	0	*/	MV_U16 Obsolete0;								/*	1	*/	MV_U16 Specific_Config;							/*	2	*/	MV_U16 Obsolete1;								/*	3	*/	MV_U16 Retired0[2];								/*	4-5	*/	MV_U16 Obsolete2;								/*	6	*/	MV_U16 Reserved0[2];							/*	7-8	*/	MV_U16 Retired1;								/*	9	*/	MV_U8 Serial_Number[20];				        /*	10-19	*/	MV_U16 Retired2[2];								/*	20-21	*/	MV_U16 Obsolete3;								/*	22	*/	MV_U8 Firmware_Revision[8];						/*	23-26	*/	MV_U8 Model_Number[40];							/*	27-46	*/	MV_U16 Maximum_Block_Transfer;					/*	47	*/	MV_U16 Reserved1;								/*	48	*/	MV_U16 Capabilities[2];							/*	49-50	*/	MV_U16 Obsolete4[2];							/*	51-52	*/	MV_U16 Fields_Valid;							/*	53	*/	MV_U16 Obsolete5[5];							/*	54-58	*/	MV_U16 Current_Multiple_Sector_Setting;			/*	59	*/	MV_U16 User_Addressable_Sectors[2];				/*	60-61	*/	MV_U16 ATAPI_DMADIR;							/*	62	*/	MV_U16 Multiword_DMA_Modes;						/*	63	*/	MV_U16 PIO_Modes;								/*	64	*/	MV_U16 Minimum_Multiword_DMA_Cycle_Time;		/*	65	*/	MV_U16 Recommended_Multiword_DMA_Cycle_Time;	/*	66	*/	MV_U16 Minimum_PIO_Cycle_Time;					/*	67	*/	MV_U16 Minimum_PIO_Cycle_Time_IORDY;			/*	68	*/	MV_U16 Reserved2[2];							/*	69-70	*/	MV_U16 ATAPI_Reserved[4];						/*	71-74	*/	MV_U16 Queue_Depth;								/*	75	*/	MV_U16 SATA_Capabilities;						/*	76	*/	MV_U16 SATA_Reserved;							/*	77	*/	MV_U16 SATA_Feature_Supported;					/*	78	*/	MV_U16 SATA_Feature_Enabled;					/*	79	*/ 	MV_U16 Major_Version;							/*	80	*/	MV_U16 Minor_Version;							/*	81	*/	MV_U16 Command_Set_Supported[2];				/*	82-83	*/	MV_U16 Command_Set_Supported_Extension;			/*	84	*/	MV_U16 Command_Set_Enabled[2];					/*	85-86	*/	MV_U16 Command_Set_Default;						/*	87	*/	MV_U16 UDMA_Modes;								/*	88	*/	MV_U16 Time_For_Security_Erase;					/*	89	*/	MV_U16 Time_For_Enhanced_Security_Erase;		/*	90	*/	MV_U16 Current_Advanced_Power_Manage_Value;		/*	91	*/	MV_U16 Master_Password_Revision;				/*	92	*/	MV_U16 Hardware_Reset_Result;					/*	93	*/	MV_U16 Acoustic_Manage_Value;					/*	94	*/	MV_U16 Stream_Minimum_Request_Size;				/*	95	*/	MV_U16 Stream_Transfer_Time_DMA;				/*	96	*/	MV_U16 Stream_Access_Latency;					/*	97	*/	MV_U16 Stream_Performance_Granularity[2];		/*	98-99	*/	MV_U16 Max_LBA[4];								/*	100-103	*/	MV_U16 Stream_Transfer_Time_PIO;				/*	104	*/		MV_U16 Reserved3;								/*	105	*/	MV_U16 Physical_Logical_Sector_Size;			/*	106	*/	MV_U16 Delay_Acoustic_Testing;					/*	107	*/	MV_U16 NAA;										/*	108	*/	MV_U16 Unique_ID1;								/*	109	*/	MV_U16 Unique_ID2;								/*	110	*/	MV_U16 Unique_ID3;								/*	111	*/	MV_U16 Reserved4[4];							/*	112-115	*/	MV_U16 Reserved5;								/*	116	*/	MV_U16 Words_Per_Logical_Sector[2];				/*	117-118	*/	MV_U16 Reserved6[8];							/*	119-126	*/	MV_U16 Removable_Media_Status_Notification;		/*	127	*/	MV_U16 Security_Status;							/*	128	*/	MV_U16 Vendor_Specific[31];						/*	129-159	*/	MV_U16 CFA_Power_Mode;							/*	160	*/	MV_U16 Reserved7[15];							/*	161-175	*/	MV_U16 Current_Media_Serial_Number[30];			/*	176-205	*/	MV_U16 Reserved8[49];							/*	206-254	*/	MV_U16 Integrity_Word;							/*	255	*/} ATA_Identify_Data, *PATA_Identify_Data;#define IDENTIFY_CMD_PACKET_SET_MASK 0x1f00#define IDENTIFY_CMD_PACKET_SET_TAPE 0x0100#define IDENTIFY_GENERAL_CONFIG_ATAPI MV_BIT(15)#define ATA_REGISTER_DATA			0x08#define ATA_REGISTER_ERROR			0x09#define ATA_REGISTER_FEATURES		0x09#define ATA_REGISTER_SECTOR_COUNT	0x0A#define ATA_REGISTER_LBA_LOW		0x0B#define ATA_REGISTER_LBA_MID		0x0C#define ATA_REGISTER_LBA_HIGH		0x0D#define ATA_REGISTER_DEVICE			0x0E#define ATA_REGISTER_STATUS			0x0F#define ATA_REGISTER_COMMAND		0x0F#define ATA_REGISTER_ALT_STATUS		0x16#define ATA_REGISTER_DEVICE_CONTROL	0x16#endif

⌨️ 快捷键说明

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