Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/sgimips/dev/crime.c
RevisionDateAuthorComments
 1.39  26-Apr-2021  mrg if ddb is enabled set cpu_reset_address to crime_reboot.
'mach reset' works from ddb now.
 1.38  18-Feb-2015  macallan branches: 1.38.34;
switch sgimips to common bus_dma and bus_space in arch/mips/
Tested on O2 and Indy.
Things that are compile-tested only for lack of hardware:
- GIO ethernet cards with PCI bridges
- IP2x hardware not found on Indy
- IP1x
 1.37  17-May-2014  mrg branches: 1.37.4;
split crime_bus_reset() into crime_{cpu,mem}_reset() and only reset
the cpu or the memory upon either error, not both.

seems to make my O2 slightly less likely to hang, and matches what
the linux crime driver does.
 1.36  18-Aug-2011  macallan branches: 1.36.12; 1.36.16; 1.36.26;
device_t-ify
 1.35  01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.34  20-Feb-2011  matt Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
Deal with arcbios calls being O32 and kernels being N32/N64.
Need to save/restore T8 across arcbios calls.
 1.33  08-Aug-2008  tsutsui branches: 1.33.12; 1.33.16; 1.33.22; 1.33.24;
Misc cosmetics:
- some KNF and ANSIfy
- use uintNN_t types
- remove a redundant declaration
- use __func__ to print a function name
- use PRIu64 to print uint64_t
- wrap long lines
 1.32  07-Aug-2008  tsutsui In crime_attach(), call crime_watchdog_disable() rather than
writing zero to the CRIME registers implicitly.
 1.31  07-Aug-2008  tsutsui Fix a typo so that the crimedog is actually shut up.
 1.30  03-Aug-2008  tsutsui - replace some mysterious magic numbers in CPU clock measurement code
with some more meaningful expressions
- compare counter values in 100ms rather than 2ms
- check CPU_MIPS_DOUBLE_COUNT in mips_cpu_flags explicitly
 1.29  26-May-2008  tsutsui branches: 1.29.4;
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.28  09-Jan-2008  wiz branches: 1.28.6; 1.28.8; 1.28.10; 1.28.12;
Fix typo in macro name and comments.
 1.27  17-Oct-2007  garbled branches: 1.27.2; 1.27.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.26  26-Sep-2007  macallan add crime_reboot()
 1.25  17-May-2007  yamt branches: 1.25.8; 1.25.10; 1.25.12;
merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.24  16-Apr-2007  jmcneill branches: 1.24.2;
Fix crime_intr so intr handlers registers w/ crime_intr_establish actually
get called. "seems more right to me" mrg@
 1.23  15-Apr-2007  jmcneill Disable the CRIME watchdog for now; looks like we can't keep up with it
under load. With this patch, my O2 is finally running stable.
 1.22  10-Dec-2005  tsutsui branches: 1.22.26; 1.22.30; 1.22.32;
Reset and disable watchdog explicitly in crime_attach().
 1.21  18-Oct-2005  tsutsui TAB/space cleanup.
 1.20  03-Jun-2005  martin branches: 1.20.2;
Avoid shadow warnings
 1.19  06-Sep-2004  sekiya Use the mace interrupt handler for PCI interrupts.

From KIYOHARA Takashi
 1.18  18-Jan-2004  sekiya Following the example of the hpc/, gio/, and ioc/ directories, move the
mace devices to their own mace/ directory. Alter conf/files.sgimips to
reflect this change in a sane manner (i.e., pull in dev/files.dev and
mace/files.mace when appropriate).

At the same time, allow crime_intr_establish() to fall through to
mace_intr_establish(). mace devices now call cpu_intr_establish().
 1.17  18-Jan-2004  sekiya Finish moving code between ip2x.c and ip3x.c to imc.c and crime.c.
 1.16  13-Jan-2004  sekiya Assign memory controller-dependent watchdog reset functions to
platform.watchdog_reset.
 1.15  12-Jan-2004  sekiya CRIME revision 1.1 has a bug that affects PIO operations to/from the MACE.
The recommended workaround is a 5-10ms delay before and after accesses.
Therefore, move the affected bus_space_* operations from bus.h to bus.c
and special-case MACE accesses.

CRIME accesses are not affected, so introduce SGIMIPS_BUS_SPACE_CRIME and
use it as the CRIME tag.

My ip32 seems a little bit happier with this change, and my ip22 didn't
notice the change.
 1.14  17-Nov-2003  keihan www.netbsd.org -> www.NetBSD.org
 1.13  05-Oct-2003  tsutsui Apply a bunch of patches written by Christopher SEKIYA
(with several cosmetic changes by me) which fixes O2 (IP32) support.

Now my R5000 O2 works fine in multiuser with on-board AIC7880 SCSIs
and several PCI network cards (but only on serial console yet).
L2 cache on R5000/Rm5200 is still disabled for now, but it will be
fixed later, hopefully.

See recent discussion on port-sgimips for details.
 1.12  15-Jul-2003  lukem __KERNEL_RCSID()
 1.11  10-Jan-2003  rafal branches: 1.11.2;
Simplify CRIME rev. calculation (we don't appear to need the low nibble).
 1.10  06-Jan-2003  rafal Improve the interrupt code somewhat by having callers of xxx_intr_establish
pass in an interrupt handle (which is currently to the CRIME interrupt the
device is attached to) so the interrupt handlers know which device was the
one looking for attention.

While here, fix up PCI interrupt routing for both the on-board devices and
the PCI slots -- even though there is only one PCI slot in the chasis, the
hardware can accomodate up to three and provides an interrupt mapping for
all the PCI interrupt pins for both the internal SCSI & PCI slot and the
two "extra" slots.
 1.9  03-Jan-2003  rafal Checkpoint of O2 work by Chris Sekiya and myself. This is the sgimips bit;
still needs some arch/mips support code before it will fully work.
 1.8  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.7  01-Oct-2002  thorpej Use CFATTACH_DECL().
 1.6  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5  13-Mar-2002  simonb Replace lots of 8x<space> with <tabs> and other miscellaneous indentation
fixes.
Wrap a couple of long lines.
Use <return-type>\n<function name> as per KNF in a few places.
 1.4  08-Jul-2001  thorpej branches: 1.4.2; 1.4.8;
- Use the identifier strings that are fetched by the MI ARC BIOS
code.
- Garbage-collect some non-useful stuff from the mainbus_attach_args.
 1.3  11-May-2001  thorpej Get the major number of the CRIME properly.

From Rafal K. Boni.
 1.2  29-Jun-2000  soren branches: 1.2.2; 1.2.4;
Move a few things from ip32.c.
 1.1  14-Jun-2000  soren branches: 1.1.4;
A start at O2 support..
 1.1.4.2  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1  14-Jun-2000  minoura file crime.c was added on branch minoura-xpg4dl on 2000-06-22 17:02:58 +0000
 1.2.4.1  21-Jun-2001  nathanw Catch up to -current.
 1.2.2.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1  29-Jun-2000  bouyer file crime.c was added on branch thorpej_scsipi on 2000-11-20 20:23:41 +0000
 1.4.8.5  15-Jan-2003  thorpej Sync with HEAD.
 1.4.8.4  07-Jan-2003  thorpej Sync with HEAD.
 1.4.8.3  18-Oct-2002  nathanw Catch up to -current.
 1.4.8.2  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.8.1  08-Jul-2001  nathanw file crime.c was added on branch nathanw_sa on 2002-04-01 07:42:17 +0000
 1.4.2.2  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.4.2.1  16-Mar-2002  jdolecek Catch up with -current.
 1.11.2.5  11-Dec-2005  christos Sync with head.
 1.11.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1  03-Aug-2004  skrll Sync with HEAD
 1.20.2.4  21-Jan-2008  yamt sync with head
 1.20.2.3  27-Oct-2007  yamt sync with head.
 1.20.2.2  03-Sep-2007  yamt sync with head.
 1.20.2.1  21-Jun-2006  yamt sync with head.
 1.22.32.1  11-Jul-2007  mjf Sync with head.
 1.22.30.2  09-Oct-2007  ad Sync with head.
 1.22.30.1  27-May-2007  ad Sync with head.
 1.22.26.3  07-May-2007  yamt sync with head.
 1.22.26.2  19-Apr-2007  ad Compile fixes.
 1.22.26.1  15-Apr-2007  yamt sync with head.
 1.24.2.2  03-Oct-2007  garbled Sync with HEAD
 1.24.2.1  22-May-2007  matt Update to HEAD.
 1.25.12.1  06-Oct-2007  yamt sync with head.
 1.25.10.2  23-Mar-2008  matt sync with HEAD
 1.25.10.1  06-Nov-2007  matt sync with HEAD
 1.25.8.1  02-Oct-2007  joerg Sync with HEAD.
 1.27.8.1  10-Jan-2008  bouyer Sync with HEAD
 1.27.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.28.12.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.28.12.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.28.10.1  04-May-2009  yamt sync with head.
 1.28.8.1  04-Jun-2008  yamt sync with head
 1.28.6.2  28-Sep-2008  mjf Sync with HEAD.
 1.28.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.29.4.1  19-Oct-2008  haad Sync with HEAD.
 1.33.24.1  05-Mar-2011  bouyer Sync with HEAD
 1.33.22.1  06-Jun-2011  jruoho Sync with HEAD.
 1.33.16.1  05-Mar-2011  rmind sync with head
 1.33.12.2  29-Dec-2010  matt Adapt sgimips to the interrupt framework.
 1.33.12.1  20-Jan-2010  matt Adjust things to the new world order.
 1.36.26.1  10-Aug-2014  tls Rebase.
 1.36.16.1  18-May-2014  rmind sync with head
 1.36.12.2  03-Dec-2017  jdolecek update from HEAD
 1.36.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.37.4.1  06-Apr-2015  skrll Sync with HEAD
 1.38.34.1  13-May-2021  thorpej Sync with HEAD.

RSS XML Feed