11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  (C) 2003 Dave Jones.
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  Licensed under the terms of the GNU GPL License version 2.
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  AMD-specific information
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsunion msr_fidvidctl {
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	struct {
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		unsigned FID:5,			// 4:0
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved1:3,	// 7:5
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		VID:5,			// 12:8
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved2:3,	// 15:13
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		FIDC:1,			// 16
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		VIDC:1,			// 17
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved3:2,	// 19:18
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		FIDCHGRATIO:1,	// 20
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved4:11,	// 31-21
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SGTC:20,		// 32:51
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved5:12;	// 63:52
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	} bits;
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long long val;
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds};
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsunion msr_fidvidstatus {
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	struct {
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		unsigned CFID:5,			// 4:0
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved1:3,	// 7:5
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SFID:5,			// 12:8
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved2:3,	// 15:13
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		MFID:5,			// 20:16
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved3:11,	// 31:21
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		CVID:5,			// 36:32
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved4:3,	// 39:37
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SVID:5,			// 44:40
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved5:3,	// 47:45
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		MVID:5,			// 52:48
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		reserved6:11;	// 63:53
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	} bits;
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long long val;
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds};
44