diff options
| author | gwr <gwr@NetBSD.org> | 1995-09-26 21:30:19 +0000 |
|---|---|---|
| committer | gwr <gwr@NetBSD.org> | 1995-09-26 21:30:19 +0000 |
| commit | 995b4710b8ea6ca98b549f615a67a6612c3dfb40 (patch) | |
| tree | c5f1d445f8d8de53e54ee540f6c81b1832517db2 /sys | |
| parent | 50201d2bb57ba799f1bce75fbd59ab3e49f1f43d (diff) | |
Correct mapinfo for Multibus PROM devices.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/arch/sun3/stand/libsa/promdev.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/sys/arch/sun3/stand/libsa/promdev.c b/sys/arch/sun3/stand/libsa/promdev.c index c6200586b56..d214f1f6e52 100644 --- a/sys/arch/sun3/stand/libsa/promdev.c +++ b/sys/arch/sun3/stand/libsa/promdev.c @@ -1,4 +1,4 @@ -/* $NetBSD: promdev.c,v 1.4 1995/09/23 03:42:44 gwr Exp $ */ +/* $NetBSD: promdev.c,v 1.5 1995/09/26 21:30:19 gwr Exp $ */ /* * Copyright (c) 1995 Gordon W. Ross @@ -159,16 +159,21 @@ struct mapinfo { static struct mapinfo prom_mapinfo[] = { - { MAP_MAINMEM, PGT_OBMEM, 0 }, - { MAP_OBIO, PGT_OBIO, 0 }, - { MAP_MBMEM, PGT_OBMEM, 0 }, /* XXX - Sun2 Multibus? */ - { MAP_MBIO, PGT_OBIO, 0 }, /* XXX - Sun2 Multibus? */ - { MAP_VME16A16D, PGT_VME_D16, 0xFFFF0000 }, - { MAP_VME16A32D, PGT_VME_D32, 0xFFFF0000 }, - { MAP_VME24A16D, PGT_VME_D16, 0xFF000000 }, - { MAP_VME24A32D, PGT_VME_D32, 0xFF000000 }, - { MAP_VME32A16D, PGT_VME_D16, 0 }, - { MAP_VME32A32D, PGT_VME_D32, 0 }, + /* On-board memory, I/O */ + { MAP_MAINMEM, PGT_OBMEM, 0 }, + { MAP_OBIO, PGT_OBIO, 0 }, + /* Multibus adapter */ + { MAP_MBMEM, PGT_VME_D16, 0xFF000000 }, + { MAP_MBIO, PGT_VME_D16, 0xFFFF0000 }, + /* VME A16 */ + { MAP_VME16A16D, PGT_VME_D16, 0xFFFF0000 }, + { MAP_VME16A32D, PGT_VME_D32, 0xFFFF0000 }, + /* VME A24 */ + { MAP_VME24A16D, PGT_VME_D16, 0xFF000000 }, + { MAP_VME24A32D, PGT_VME_D32, 0xFF000000 }, + /* VME A32 */ + { MAP_VME32A16D, PGT_VME_D16, 0 }, + { MAP_VME32A32D, PGT_VME_D32, 0 }, }; static prom_mapinfo_cnt = sizeof(prom_mapinfo) / sizeof(prom_mapinfo[0]); @@ -204,5 +209,5 @@ found: pte += 1; length -= NBPG; } while (length > 0); - return ((char*)prom_devmap); + return ((char*)(prom_devmap | (pa & PGOFSET))); } |
