| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* -*- mode: c; c-basic-offset: 8 -*- */ | 
 | 2 |  | 
 | 3 | /* Platform specific MCA defines */ | 
| H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 4 | #ifndef _ASM_X86_MCA_H | 
 | 5 | #define _ASM_X86_MCA_H | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 |  | 
 | 7 | /* Maximal number of MCA slots - actually, some machines have less, but | 
 | 8 |  * they all have sufficient number of POS registers to cover 8. | 
 | 9 |  */ | 
 | 10 | #define MCA_MAX_SLOT_NR  8 | 
 | 11 |  | 
 | 12 | /* Most machines have only one MCA bus.  The only multiple bus machines | 
 | 13 |  * I know have at most two */ | 
 | 14 | #define MAX_MCA_BUSSES 2 | 
 | 15 |  | 
 | 16 | #define MCA_PRIMARY_BUS		0 | 
 | 17 | #define MCA_SECONDARY_BUS	1 | 
 | 18 |  | 
 | 19 | /* Dummy slot numbers on primary MCA for integrated functions */ | 
 | 20 | #define MCA_INTEGSCSI	(MCA_MAX_SLOT_NR) | 
 | 21 | #define MCA_INTEGVIDEO	(MCA_MAX_SLOT_NR+1) | 
 | 22 | #define MCA_MOTHERBOARD (MCA_MAX_SLOT_NR+2) | 
 | 23 |  | 
 | 24 | /* Dummy POS values for integrated functions */ | 
 | 25 | #define MCA_DUMMY_POS_START	0x10000 | 
 | 26 | #define MCA_INTEGSCSI_POS	(MCA_DUMMY_POS_START+1) | 
 | 27 | #define MCA_INTEGVIDEO_POS	(MCA_DUMMY_POS_START+2) | 
 | 28 | #define MCA_MOTHERBOARD_POS	(MCA_DUMMY_POS_START+3) | 
 | 29 |  | 
 | 30 | /* MCA registers */ | 
 | 31 |  | 
 | 32 | #define MCA_MOTHERBOARD_SETUP_REG	0x94 | 
 | 33 | #define MCA_ADAPTER_SETUP_REG		0x96 | 
 | 34 | #define MCA_POS_REG(n)			(0x100+(n)) | 
 | 35 |  | 
 | 36 | #define MCA_ENABLED	0x01	/* POS 2, set if adapter enabled */ | 
 | 37 |  | 
 | 38 | /* Max number of adapters, including both slots and various integrated | 
 | 39 |  * things. | 
 | 40 |  */ | 
 | 41 | #define MCA_NUMADAPTERS (MCA_MAX_SLOT_NR+3) | 
 | 42 |  | 
| H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 43 | #endif /* _ASM_X86_MCA_H */ |