Subject: Re: MIPS Asym. for MAXINE Access Bus
To: None <port-pmax@netbsd.org>
From: Toru Nishimura <nisimura@itc.aist-nara.ac.jp>
List: port-pmax
Date: 12/12/2000 10:53:06
Only one comment from me. Building interrupt handler in assembly
would not overcome interrupt latency.
> -The interrupt load on headed pmax systems is high and
> heavily blocked.
This is a nightmare . Every DECstation is designed differently in
interrupt masking. The makes very hard to implement consistent spl()
across various models.
PMAX no brainer design. Since it is a desktop computer with
no option card, it brings little trouble.
3MAX the first TC option card machine. The design decision
was fair and fine mostly. 4MB TC address space was
just too small and it's anachronistic to have different
meaning between R/W ops of interrupt mask register.
3MIN a doomed computer. the first IOASIC machine. It was a
100% mistake the designer assigned processor HW
interrupt signals to 4 different TC slots. What spl()
calls do must be adjusted by what kind of TC option cards
installed in which TC slot. Say, one might be PMAD-A,
one PMAGB-B, and another PMAZ-A. All three are different
natures and must be cared with differrent spl() scheme.
The hell was deepened the time when R4000 processor upgrade
module was implemented. It's very unfortunate, and I would
call it R4000 processor design caveat, that resetting SR
value of R4000 with a new one is not atomically safe.
Depending on a bit combination of IE, EXL and HW/SW INT
masks, it would allow to post interrupt(s) pending even if
the reset trys disabled->disabled transition. This is the
reason why ULTRIX locore.s has ugly #ifdefs for R4000 3MIN.
3MAX+ Digital recognized TC option slots should be cared in line
with IOASIC devices. Interrupt mask can block TC slots
as well as onboard devices. Unfortunately, NetBSD/pmax
blocks the IOASIC devices entirely when it does spl() for a
single IOASIC device.
MAXINE a replicated decision and the same conclusion.
NetBSD/pmax could not find out a sane solution to cope with the design
inconsistency so far, and does overblocking.
Tohru Nishimura