Home | History | Annotate | Download | only in algor
History log of /src/sys/arch/algor/algor/algor_p5064_intr.c
RevisionDateAuthorComments
 1.30  14-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.29  10-Nov-2019  chs branches: 1.29.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.28  29-Mar-2014  christos branches: 1.28.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.27  09-Jul-2011  matt branches: 1.27.2; 1.27.12; 1.27.16;
Allow algor kernels to be built under either algor/algor64 or
evbmips-el/evbmips64-el. Note that MAXMAPARITITONS and majors numbers
differ between the two ports which is why two kernels are still needed.
 1.26  01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.25  06-Apr-2011  dyoung Fix fallout from pci_attach_args constification.
 1.24  20-Feb-2011  matt Merge forward from matt-nb5-mips64.
Adapt to new interrupt/spl framework.
 1.23  26-May-2008  tsutsui branches: 1.23.16; 1.23.20; 1.23.26; 1.23.28;
Remove all initialization of obsolete ci_divisor_recip in
mips struct cpu_info and related macroes.
The member was prepared for a hack in MD microtime(9) implementation
but it has been superseded by MI timecounter(9).
 1.22  28-Apr-2008  martin branches: 1.22.2;
Remove clause 3 and 4 from TNF licenses
 1.21  18-Mar-2008  cube branches: 1.21.2; 1.21.4;
Split device_t and softc for ATA devices, as well as wd(4). Other
cosmetic changes where appropriate.
 1.20  10-Jan-2008  tsutsui branches: 1.20.2; 1.20.6;
Cycles per second values read from the CP0 counter should be doubled
on calculating CPU frequency in CPU_MIPS_DOUBLE_COUNT case,
which is always assumed on this port.
 1.19  09-Jan-2008  wiz Fix typo in macro name and comments.
 1.18  09-Jan-2008  tsutsui Fix another botch on migration to MI mips3_clock.c for algor in 2006:
- in algor_p????_cal_timer() functions, initialize ci_divisor_delay
and ci_cycles_per_hz values in curcpu() for MI mips3_clock.c:mips3_delay()
rather than obsolete and homegrown delay_divisor
- remove old _delay() stuff from locore_machdep.S
- make MI mips3_delay() work even before frequency values in curcpu()
are initialized

Now NetBSD/algor P5064 kernel works on gxemul.

While here, add a hack for emulators:
- ignore a measured CPU frequency if the value looks unlikely

Pullup request for netbsd-4 will be sent later.
 1.17  03-Dec-2007  ad branches: 1.17.6;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.16  21-Dec-2006  yamt branches: 1.16.6; 1.16.22; 1.16.24; 1.16.30;
merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.15  05-Sep-2006  gdamore branches: 1.15.2; 1.15.4; 1.15.6; 1.15.8;
Update algor clock handling. This includes using the common mc146818
support code, using the common MIPS 3 cp0 based interrupt code, adding
time counters, and using the generic TODR code.

Unfortunately, due to lack of hardware, I don't know for sure that any
of this works, though the same code in evbmips works. Commiting anyway,
ok'd by simon@.
 1.14  15-Apr-2006  simonb Switch Algor port to MIPS generic soft-interrupts implementation.
XXX: Compile tested only.
 1.13  24-Dec-2005  perry branches: 1.13.4; 1.13.6; 1.13.8; 1.13.10; 1.13.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.12  11-Dec-2005  christos merge ktrace-lwp.
 1.11  14-Jul-2003  lukem branches: 1.11.16;
add __KERNEL_RCSID()
 1.10  27-Sep-2002  provos branches: 1.10.6;
remove trailing \n in panic(). approved perry.
 1.9  29-Oct-2001  thorpej branches: 1.9.2;
pci_conf_interrupt() takes bus/dev/pin, not bus/dev/func.
 1.8  24-Aug-2001  simonb branches: 1.8.4;
Fix the display of the CPU clock speed.
 1.7  21-Jun-2001  thorpej branches: 1.7.2;
Fix whitespace botch.
 1.6  21-Jun-2001  thorpej Correct the ISA bridge irqmap.
 1.5  21-Jun-2001  thorpej Rototill ISA interrupt code. In particular, I have remembered most
of the horror that is the 8259 PIC.

PCMCIA interrupts still not working yet, but getting closer.
 1.4  15-Jun-2001  thorpej Yet more interrupt cleanup -- the platform mater interrupt establish
function now just takes an "irq", which is an index into the irqmap
table for that platform.
 1.3  10-Jun-2001  thorpej Check in work-in-progress of generic ISA interrupt support. The
goal here is to get the P-5064 PCMCIA slots working, and serve as
the basis for P-6032 interrupt support.

PCMCIA interrupt auto-detection not working -- more work to be
done here.
 1.2  10-Jun-2001  thorpej Rewrite the interrupt handling code:
- Compute the number of CPU pipeline cycles per second using the
mc146818.
- Use the COMPARE interrupt for the hardclock interrupt.
- Collapse all interrupt priorities into a single priority, and use
the CPU interrupt inputs to determine the interrupt source (local
device, PCI device, ISA device, etc.)

This allows us to have interrupt sharing.
 1.1  28-May-2001  thorpej A port to the Algorithmics MIPS evaluation boards. We currently
support the P-5064, which has a QED RM5xxx CPU soldered on.

There is some skeletal support for the P-4032 (an older board, which
had an R4xxx CPU). There are some placeholders for the P-6032, which
is their newest board, but no real code yet (the P-6032 has a different
PCI controller, the Algorithmics BONITO).

There are still some (apprently softintr-related) problems with the
algor kernel, but it works well-enough to self-host.

Kudos to Allegro Networks for loaning me a P-5064 board on which to do
the port.
 1.7.2.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.7.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.2.1  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.8.4.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.9.2.2  18-Oct-2002  nathanw Catch up to -current.
 1.9.2.1  29-Oct-2001  nathanw file algor_p5064_intr.c was added on branch nathanw_sa on 2002-10-18 02:33:47 +0000
 1.10.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.10.6.1  03-Aug-2004  skrll Sync with HEAD
 1.11.16.5  24-Mar-2008  yamt sync with head.
 1.11.16.4  21-Jan-2008  yamt sync with head
 1.11.16.3  07-Dec-2007  yamt sync with head
 1.11.16.2  30-Dec-2006  yamt sync with head.
 1.11.16.1  21-Jun-2006  yamt sync with head.
 1.13.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.13.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.13.8.2  14-Sep-2006  yamt sync with head.
 1.13.8.1  24-May-2006  yamt sync with head.
 1.13.6.1  22-Apr-2006  simonb Sync with head.
 1.13.4.1  09-Sep-2006  rpaulo sync with head
 1.15.8.1  03-Jun-2008  skrll Sync with netbsd-4.
 1.15.6.1  21-Jan-2008  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1040):
sys/arch/algor/isa/mcclock_isa.c: revision 1.9
sys/arch/algor/algor/algor_p5064_intr.c: revision 1.18, 1.20 via patch
sys/arch/algor/algor/algor_p4032_intr.c: revision 1.15, 1.17 via patch
sys/arch/algor/algor/algor_p6032_intr.c: revision 1.12, 1.14 via patch
sys/arch/mips/mips/mips3_clock.c: revision 1.8, 1.9
sys/arch/algor/dev/mcclock_mainbus.c: revision 1.7
sys/arch/algor/algor/locore_machdep.S: revision 1.4
Fix botch on MI todr(9) migration of algor on September 2006:
- year0 should be 1980, not 80
- put a newline after MI mc146818_attach()
- call todr_attach(9)
- in algor_p????_cal_timer() functions, initialize ci_divisor_delay
and ci_cycles_per_hz values in curcpu() for MI mips3_clock.c:mips3_delay()
rather than obsolete and homegrown delay_divisor
- remove old _delay() stuff from locore_machdep.S
- make MI mips3_delay() work even before frequency values in curcpu()
are initialized
Now NetBSD/algor P5064 kernel works on gxemul.
While here, add a hack for emulators:
- ignore a measured CPU frequency if the value looks unlikely
 1.15.4.1  22-Sep-2006  yamt fix softintr for following ports. (hopefully)
hpcmips
evbmips
algor
arc
ews4800mips
newsmips
 1.15.2.1  12-Jan-2007  ad Sync with head.
 1.16.30.2  18-Feb-2008  mjf Sync with HEAD.
 1.16.30.1  08-Dec-2007  mjf Sync with HEAD.
 1.16.24.2  23-Mar-2008  matt sync with HEAD
 1.16.24.1  09-Jan-2008  matt sync with HEAD
 1.16.22.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.16.6.1  03-Dec-2007  ad Sync with HEAD.
 1.17.6.1  10-Jan-2008  bouyer Sync with HEAD
 1.20.6.2  02-Jun-2008  mjf Sync with HEAD.
 1.20.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.20.2.1  24-Mar-2008  keiichi sync with head.
 1.21.4.2  04-May-2009  yamt sync with head.
 1.21.4.1  16-May-2008  yamt sync with head.
 1.21.2.2  04-Jun-2008  yamt sync with head
 1.21.2.1  18-May-2008  yamt sync with head.
 1.22.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.23.28.1  05-Mar-2011  bouyer Sync with HEAD
 1.23.26.1  06-Jun-2011  jruoho Sync with HEAD.
 1.23.20.2  21-Apr-2011  rmind sync with head
 1.23.20.1  05-Mar-2011  rmind sync with head
 1.23.16.3  24-Dec-2010  matt Adopt the new spl/interrupt framework.
 1.23.16.2  28-Feb-2010  matt #define __INTR_PRIVATE
 1.23.16.1  24-Feb-2010  matt Adapt algor to the new interrupt/spl scheme.
 1.27.16.1  18-May-2014  rmind sync with head
 1.27.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.27.2.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.28.30.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.29.8.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed