Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/thorpej_scsipi]: src/sys/arch/mvme68k/docs Some snippets of documentatio...



details:   https://anonhg.NetBSD.org/src/rev/e81fbf54f1e4
branches:  thorpej_scsipi
changeset: 477348:e81fbf54f1e4
user:      scw <scw%NetBSD.org@localhost>
date:      Thu Dec 14 20:30:15 2000 +0000

description:
Some snippets of documentation for mvme68k...

diffstat:

 sys/arch/mvme68k/docs/Interrupts |  161 +++++++++++++++++++++++++++++++++++++++
 sys/arch/mvme68k/docs/TODO       |   70 ++++++++++++++++
 2 files changed, 231 insertions(+), 0 deletions(-)

diffs (239 lines):

diff -r feed81a9a012 -r e81fbf54f1e4 sys/arch/mvme68k/docs/Interrupts
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/mvme68k/docs/Interrupts  Thu Dec 14 20:30:15 2000 +0000
@@ -0,0 +1,161 @@
+$NetBSD: Interrupts,v 1.1.2.2 2000/12/14 20:30:15 scw Exp $
+
+NetBSD/mvme68k Interrupt Levels
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+NetBSD/mvme68k interrupts are dependent on the type of device which
+generates them. This holds true regardless of what bus the device is
+situated on (eg. local, VMEbus or IndustryPack site).
+
+On MVME147, there is a fixed 1:1 mapping of VMEbus interrupt level
+to CPU interrupt level. This implies that VMEbus devices must be
+set to interrupt at the correct level for that type of device.
+
+On the other boards, each VMEbus interrupt level can be mapped to a
+specific CPU interrupt level so the above restriction does not apply.
+However, note that the mapping can only be done once. Therefore it is
+not possible to have two VMEbus devices which require different CPU
+interrupt levels sharing the same VMEbus interrupt level.
+
+The mapping of device type to CPU interrupt levels is as follows:
+
+       CPU Irq         Device Type
+       ~~~~~~~         ~~~~~~~~~~~
+       <Highest>
+       6 - 7           Anything which generates an exceptional condition
+                       which *must* be responded to immediately. For
+                       example, a memory parity/uncorrectable data error.
+
+       5               Reserved for the system clock/scheduler. Do not use.
+
+       4               Serial port devices (rs232, rs422 etc).
+
+       3               Network interfaces.
+
+       2               Disk/Block device interfaces.
+
+       1               Anything else.
+       <Lowest>
+
+
+
+Interrupt Vectors
+~~~~~~~~~~~~~~~~~
+
+NetBSD/mvme68k does not use or generate `auto-vectored' interrupts.
+
+All vectored interrupts up to and including vector 0x7f are reserved
+for use by onboard devices.
+
+VMEbus cards and IndustryPack modules are free to use vectors 0x80 -> 0xff.
+
+The onboard devices' vectors are as follows:
+
+MVME147:
+       0x40            PCC: ACFAIL
+       0x41            PCC: BERR
+       0x42            PCC: ABORT Switch
+       0x43            PCC: ZS Chips shared vector
+       0x44            PCC: Lance Ethernet
+       0x45            PCC: WD33C93 SCSI
+       0x46            PCC: DMA
+       0x47            PCC: Printer
+       0x48            PCC: Timer1
+       0x49            PCC: Timer2
+       0x4a            PCC: Soft Interrupt 1
+       0x4b            PCC: Soft Interrupt 2
+       0x4c -> 0x4f    PCC: <unused>
+
+
+MVME167/177:
+       0x50            PCC2: Printer `BUSY'
+       0x51            PCC2: Printer `Paper Empty'
+       0x52            PCC2: Printer `Select'
+       0x53            PCC2: Printer `Fault'
+       0x54            PCC2: Printer `ACK'
+       0x55            PCC2: SCSI
+       0x56            PCC2: Ethernet `Error'
+       0x57            PCC2: Ethernet
+       0x58            PCC2: Timer 2
+       0x59            PCC2: Timer 1
+       0x5a            PCC2: GPIO
+       0x5b            PCC2: <unused>
+       0x5c            PCC2: CD2401 Rx Exception
+       0x5d            PCC2: CD2401 Modem
+       0x5e            PCC2: CD2401 Tx
+       0x5f            PCC2: CD2401 Rx
+
+       0x60 -> 0x67    VME2: <unused>
+       0x68            VME2: Software Interrupt #0
+       0x69            VME2: Software Interrupt #1
+       0x6a            VME2: Software Interrupt #2
+       0x6b            VME2: Software Interrupt #3
+       0x6c            VME2: Software Interrupt #4
+       0x6d            VME2: Software Interrupt #5
+       0x6e            VME2: Software Interrupt #6
+       0x6f            VME2: Software Interrupt #7
+       0x70            VME2: GCSR Location Monitor #0
+       0x71            VME2: GCSR Location Monitor #1
+       0x72            VME2: GCSR SIG #0
+       0x73            VME2: GCSR SIG #1
+       0x74            VME2: GCSR SIG #2
+       0x75            VME2: GCSR SIG #3
+       0x76            VME2: DMA Controller
+       0x77            VME2: VIA
+       0x78            VME2: Tick Timer #1
+       0x79            VME2: Tick Timer #2
+       0x7a            VME2: `IRQ1' feature
+       0x7b            VME2: Parity/ECC Error
+       0x7c            VME2: Master Write Post Error
+       0x7d            VME2: SYSFAIL
+       0x7e            VME2: ABORT Switch
+       0x7f            VME2: ACFAIL
+
+
+MVME162/172:
+       0x40            IPACK: DMA_a
+       0x41            IPACK: DMA_b
+       0x42            IPACK: DMA_c
+       0x43            IPACK: DMA_d
+       0x44            IPACK: Programmable Clock
+
+       0x50 -> 0x52    MC2: <unused>
+       0x53            MC2: Timer 4
+       0x54            MC2: Timer 3
+       0x55            MC2: SCSI
+       0x56            MC2: Ethernet `Error'
+       0x57            MC2: Ethernet
+       0x58            MC2: Timer 2
+       0x59            MC2: Timer 1
+       0x5a            MC2: <unused>
+       0x5b            MC2: Parity/ECC Error
+       0x5c            MC2: ZS #1 (vector supplied by ZS chip)
+       0x5d            MC2: ZS #2 (vector supplied by ZS chip)
+       0x5e            MC2: Abort Switch
+       0x5f            MC2: <unused>
+
+       0x60 -> 0x67    VME2: <unused>
+       0x68            VME2: Software Interrupt #0
+       0x69            VME2: Software Interrupt #1
+       0x6a            VME2: Software Interrupt #2
+       0x6b            VME2: Software Interrupt #3
+       0x6c            VME2: Software Interrupt #4
+       0x6d            VME2: Software Interrupt #5
+       0x6e            VME2: Software Interrupt #6
+       0x6f            VME2: Software Interrupt #7
+       0x70            VME2: GCSR Location Monitor #0
+       0x71            VME2: GCSR Location Monitor #1
+       0x72            VME2: GCSR SIG #0
+       0x73            VME2: GCSR SIG #1
+       0x74            VME2: GCSR SIG #2
+       0x75            VME2: GCSR SIG #3
+       0x76            VME2: DMA Controller
+       0x77            VME2: VIA
+       0x78            VME2: Tick Timer #1
+       0x79            VME2: Tick Timer #2
+       0x7a            VME2: `IRQ1' feature
+       0x7b            VME2: Parity/ECC Error
+       0x7c            VME2: Master Write Post Error
+       0x7d            VME2: SYSFAIL
+       0x7e            VME2: <unused>
+       0x7f            VME2: ACFAIL
diff -r feed81a9a012 -r e81fbf54f1e4 sys/arch/mvme68k/docs/TODO
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/mvme68k/docs/TODO        Thu Dec 14 20:30:15 2000 +0000
@@ -0,0 +1,70 @@
+$NetBSD: TODO,v 1.1.2.2 2000/12/14 20:30:15 scw Exp $
+
+NetBSD/mvme68k's "ToDo" List (In no particular order)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+These are `difficulty' rated on a scale of 1-10, where `1' is easy.
+
+
+1.    Flesh out the "Memory Controller" (memc) driver (3)
+
+2.    Enhance the PCC2/MC2 driver to support its "Memory Controller"
+      functionality on older MVME1x2 boards. (2)
+
+3.    Support for "Industry Pack" modules (4)
+      (Need to come up with an MI interface for this, since various
+      other non-mvme68k SBCs have IP sites too)
+
+4.    Switch over to the MI mk48txx TOD-chip driver (1)
+      (I already have most of this done)
+
+5.    Support for the NVRAM part of the above chips (2)
+      (With a userland tool to read/write configuration details?)
+
+6.    Related to #5, add code to locore.s to verify the configuration
+      area of NVRAM is kosher (using a checksum) before using any values
+      from it (2)
+      (eg. at this time, bogus Offboard RAM details cause crashes)
+
+7.    Support for FLASH memory on MVME1x2 boards (3)
+      (Will probably need a userland tool of some sort)
+
+8.    Add support for the in-kernel FP emulator, so we can run on MVME
+      boards with the MC680LCx0 CPU variant (4)
+      (Easy enough to do; slightly harder to test)
+
+9.    Add "Bounce Buffers" to the VMEbus slave code (8)
+
+10.   Support the MVME boards as a slave in A16 address space (8)
+      (To be useful, this really needs "Bounce Buffer" support)
+
+11.   Enhance the MI VMEbus interface to provide generic GCSR access (6)
+      (Speak with Matthais Drochner <drochner%netbsd.org@localhost> about this one)
+
+12.   Enhance the VMEChip/VMEChip2 drivers to support #11 (3)
+
+13.   Fix the case where VMEbus RAM is mapped through a translated
+      address space on MVME boards with the VMEChip2 (2)
+
+14.   Add/Flesh out evcnt(9) support where useful (1)
+
+15.   The siop driver *badly* needs to be bus_space(9)'d, and made MI (5)
+      (Apparently, Manuel Bouyer (bouyer%netbsd.org@localhost) is working on this)
+
+16.   The sbic driver *badly* needs re-written from scratch, and made MI (5)
+      (This will be done when Frank van der Linden <fvdl%netbsd.org@localhost>
+      imports the PC98 code into the tree; it comes with a very nice
+      wd33c93 driver ;-)
+
+17.   Switch the install tools over to sysinst (3)
+      (Should be fairly easy, although sysinst doesn't do `tapes', so
+      there's a bunch of code to write)
+
+18.   Use hardware-assisted softints (3)
+      (What to do on MVME1x2 boards with no VMEChip2?)
+
+19.   Make the ZS driver *properly* MI (4)
+      (I already have patches for this. Unfortunately, it affects just
+      about every NetBSD architecture...)
+
+20.   Implement the MD parts of __HAVE_SYSCALL_INTERN (2)



Home | Main Index | Thread Index | Old Index