jalsop@seachg.UUCP (John Alsop) (01/10/90)
We have an old Multibus communications controller (actually a single-board microcomputer made by Heurikon) which uses shared memory to interface with the Multibus host. We are trying to get this working on a Tower 600. The Multibus memory addresses to which this board responds are decoded by a custom PAL on the board. The problem we have is that we don't know what this address range is, other than that it is a 24 bit address. We tried writing a simple C program that scanned through "/dev/kmem" looking for a fixed data pattern which we know is on the board, but no luck. I suspect that we are not generating the correct "virtual address" inside the Tower to map onto the Multibus shared memory space. Does anyone know how to do this for the 600? Note that we are talking here about Multibus memory addresses, not Multibus I/O addresses. To read a Multibus I/O address of xxxx, one reads the Tower memory address FFxxxx. The problem here is how do you read a Multibus memory address of xxxxxx. Hope someone can help! Thanks, -- John Alsop Sea Change Corporation 1100 Central Parkway W., Suite 38 Mississauga, Ontario, Canada L5C 4E5 Tel: 416-272-3881 Fax: 416-272-1555 UUCP: ...!uunet!attcan!darkover!seachg!jalsop
wescott@Columbia.NCR.COM (Mike Wescott) (01/16/90)
In article <180@seachg.UUCP> jalsop@seachg.UUCP (John Alsop) writes: > We have an old Multibus communications controller (actually a single-board > microcomputer made by Heurikon) which uses shared memory to interface with > the Multibus host. We are trying to get this working on a Tower 600. > The Multibus memory addresses to which this board responds are decoded by a > custom PAL on the board. The problem we have is that we don't know what this > address range is, other than that it is a 24 bit address. > We tried writing a simple C program that scanned through "/dev/kmem" > looking for a fixed data pattern which we know is on the board, but no > luck. Most of the multibus memory space is not normally mapped in, hence it cannot be accessed on the 600 without special help from the kernel. You'd need to write a driver that allocated some kernel address space and mapped that space to point into the multibus address space. More specific information on this procedure should be in the document on writing device drivers. -- -Mike Wescott mike.wescott@ncrcae.Columbia.NCR.COM