Motrola MVME2604においてTecnoBox PMC-3145を動作させる設定について
MVME2604 BSPの変更内容について
・動作させるに当たり、以下の標準BSPファイルに変更をしております。
sysLib.c
mv2600.h
config.h
sysScsi.c
・以降が各ファイルの変更内容です。
※▼追加、★変更箇所
[sysLib.c]
795: #ifdef INCLUDE_SECONDARY_SCSI
796: /*
797: * Initialize the Standard PCI Header of the Secondary SCSI device
798: * (SYM53C825A) if present.
799: */
800: ★ if (pciFindDevice (PCI_ID_NCR895A & 0xFFFF, (PCI_ID_NCR895A >> 16) & 0xFFFF,
801: 0, &pciBusNo, &pciDevNo, &pciFuncNo) != ERROR)
802: {
803: (void)pciDevConfig (pciBusNo, pciDevNo, pciFuncNo,
804: PCI_IO_SCSI_ADRS2,
805: NULL,
806: (PCI_CMD_MASTER_ENABLE | PCI_CMD_IO_ENABLE));
807: }
808: #endif /* INCLUDE_SECONDARY_SCSI */
[mv2600.h]
389: ★ #define PCI_ID_SEC_SCSI 0x00121000 /* Id for SYM53C810A Chip */
390: #define PCI_ID_NCR810 0x00011000 /* Id for SYM53C810A Chip */
391: #define PCI_ID_NCR860 0x00061000 /* Id for SYM53C860 Chip */
392: #define PCI_ID_NCR825 0x00031000 /* Id for SYM53C825/75 Chips*/
393: ▼ #define PCI_ID_NCR875A 0x00121000 /* Id for SYM53C895A Chips*/
1444: ★ #define SCSI_INT_VEC2 INT_VEC_IRQ0 + PMC_INT_LVL1
[config.h]
116: #ifdef MV2600
117: # define INCLUDE_CACHE_L2 /* L2 cache support */
118: # define INCLUDE_I8250_SIO /* COM1 and COM2 via i8250 */
119: # define INCLUDE_Z85230_SIO /* serial ports 3 & 4 via Z85230 */
120: # define INCLUDE_PRIMARY_ENET /* DEC 21140 */
121: # undef INCLUDE_SECONDARY_ENET /* [NOT AVAILABLE] */
122: # undef INCLUDE_PRIMARY_SCSI /* NCR 825 */
123: ★ # define INCLUDE_SECONDARY_SCSI /* [NOT AVAILABLE] */
124: # define INCLUDE_AUXCLK /* Z 8536 */
125: # undef INCLUDE_VME_DMA /* VME DMA support */
126: # undef INCLUDE_FD /* Floppy Disk */
127: #endif
231: ▼ #ifdef INCLUDE_SECONDARY_SCSI
232: ▼ #define INCLUDE_SCSI
233: ▼ #define INCLUDE_SCSI_BOOT /* include ability to boot from SCSI */
234: ▼ #define INCLUDE_DOSFS /* file system to be used */
235: ▼ #undef SCSI_AUTO_CONFIG /* scan bus on startup */
236: ▼ #define SCSI_WIDE_ENABLE /* enable wide SCSI on MVME761-011 only */
237: ▼ #define SYS_SCSI_CONFIG /* call sysScsiConfig in sysScsi.c */
238: ▼ #endif /* INCLUDE_SECONDARY_SCSI */
[sysScsi.c]
130: pciConfigInWord (pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_DEVICE_ID, &devType);
131:
132: SCSI_DEBUG_MSG ("Found Primary SCSI Controller – Dev/Ven ID = 0x%x\n", PCI_ID_SCSI,0,0,0,0,0);
133: }
134: else
135: {
136: ▼ goto secondary;
137: logMsg ("SCSI controller not found\n", 0, 0, 0, 0, 0, 0);
138: ★ /* return (ERROR); */
139: }
192: if (ncr810SetHwRegister ((NCR_810_SCSI_CTRL *)pSysScsiCtrl, &hwRegs)
193: == ERROR)
194: return(ERROR);
195:
196: ▼ secondary:
197:
198: #ifdef INCLUDE_SECONDARY_SCSI
199:
200: if (pciFindDevice ((PCI_ID_SEC_SCSI & 0xFFFF),
201: ((PCI_ID_SEC_SCSI >> 16) & 0xFFFF), 0, &pciBusNo,
202: &pciDevNo, &pciFuncNo) != ERROR)
203: {
204: /* Get Device ID */
205:
206: pciConfigInWord (pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_DEVICE_ID, &devType2);
207:
208: logMsg ("Found Secondary SCSI Controller – Dev/Ven ID = 0x%x\n", PCI_ID_SEC_SCSI,0,0,0,0,0);
209: }
210: else
211: {
212: logMsg ("Secondary SCSI controller not found\n", 0, 0, 0, 0, 0, 0);
213: return (ERROR);
214: }
215:
216: ▼ if(devType2 == NCR895_DEVICE_ID || devType2 == NCR895A_DEVICE_ID)
217: ▼ devType2 = NCR875_DEVICE_ID;
218:
219:#ifndef SCSI_WIDE_ENABLE
220: devType2 = NCR810_DEVICE_ID;
221:#endif
242: /* Enable SCSI interrupts */
243:
244: ★ intEnable (PMC_INT_LVL1);
432: ▼ #if FALSE /* EXAMPLE CODE IS NOT COMPILED */
433:
434: STATUS sysScsiConfig (void)
435: {
436:
437: ★
438: UINT which;
636: ★
637:
638: return (OK);
639: }
640:
641: ▼ #endif /*FALSE, END OF EXAMPLE CODE */
DosFs2.0を使用する際の変更事項
DosFs2.0を使用する際に、Projectを使用せずにvxWorksカーネルを生成した場合には
usrFsLibに含まれる、"ls","ll","pwd"などのコマンドがシェルから使えなくなります。
これを回避するには、target/src/config/usrExtra.cファイルへ下記の追加をすることで
使用可能になります。
また、BSPディレクトリィのconfig.hへも下記の追加設定をします。
[config.h]
#ifdef INCLUDE_SECONDARY_SCSI
#define INCLUDE_SCSI
#define INCLUDE_SCSI_BOOT /* include ability to boot from SCSI */
#define INCLUDE_DOSFS /* file system to be used */
▼ #define INCLUDE_DISK_UTIL
#undef SCSI_AUTO_CONFIG /* scan bus on startup */
#define SCSI_WIDE_ENABLE /* enable wide SCSI on MVME761-011 only */
#define SYS_SCSI_CONFIG /* call sysScsiConfig in sysScsi.c */
#endif /* INCLUDE_SECONDARY_SCSI */
[usrExtra.c]
▼ #ifdef INCLUDE_DISK_UTIL
▼ #include "../../src/usr/usrFsLib.c"
▼ #endif /* INCLUDE_DISK_UTIL */