Commit Graph

37 Commits

Author SHA1 Message Date
thorpej 3912e469dd Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
be properly used by any misc. cloning device.  While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
2002-07-19 16:38:14 +00:00
simonb 00f3022be0 Remove unused MCLOFSET define. 2002-07-11 13:36:45 +00:00
simonb 3350e73517 Add kttcp device. 2002-07-11 00:17:39 +00:00
christos 3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
lukem fde6ae6f04 Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
2002-06-17 05:14:02 +00:00
simonb 214395e5cd For some reason I'm not sure of yet, cfe_exit(warmstart, ...) isn't
working any more.  Just do a cold restart so at least we get back to
CFE for now...
2002-06-07 01:34:03 +00:00
simonb 4a852aed2d Add smbus@sbobio and rtc@smbus. 2002-06-04 08:35:05 +00:00
simonb f4e42e7eb6 Add an extremely rough SMBus handler and RTC driver. This will be
cleaned up significantly when we have an MI SMBus framework, but at
least we can see the RTC on the swarm now.
2002-06-04 08:32:41 +00:00
simonb 349831dcf6 Use "cpu*" and not "cpu0" to attach all CPUs.
Add PROCFS and fix a whitespace nit while we're here.
2002-06-04 05:53:31 +00:00
simonb a1572a6b96 Match all possible CPUs, but print warnings that the processors after
the first are offline due to the lack of SMP support in the kernel.
2002-06-04 05:49:26 +00:00
simonb 9cc65a96d0 3 ports are now using the reciprocal count divisor code now, move it
to <mips/cpu.h>, and add MIPS_SET_CI_RECIPRICAL and MIPS_COUNT_TO_MHZ
macros to use it.
2002-06-04 05:42:41 +00:00
simonb 339203767f Remove some unused debug cruft.
Only print out the registers passed to us from CFE #ifdef DEBUG.
2002-06-01 16:14:23 +00:00
simonb dbae8649c2 Remove the unneeded early memsize/physmem calculations.
KNF, ANSIfy.
2002-06-01 16:12:01 +00:00
simonb 9f6638d8c1 Add statclock and todr function arguments to the systemsw.
Add a system_set_todrfns() function.
2002-06-01 14:38:27 +00:00
simonb e8aaf3c28b Stop using the _MIPS_BSD_API_LP32_64CLEAN ABI. This causes a few problems
and it's easier/better to wait for true N32/N64.
2002-06-01 14:29:32 +00:00
simonb 13bc33a766 Fix off-by-one error in delay(). Fix from Charles Hannum in ARM code,
pointed out by Rafal Boni.
2002-05-03 03:36:51 +00:00
atatat d1b3852365 Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
2002-04-25 15:06:20 +00:00
kleink de339ffb8a Alpha-sort/cosmetics. 2002-04-18 19:48:41 +00:00
thorpej eedd94475c * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-16 20:50:16 +00:00
gmcgarry 6e066ba77a Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
2002-04-12 08:10:45 +00:00
simonb 9fe34c6901 Fix comments after endian selection includes(!). 2002-03-18 11:11:30 +00:00
simonb 5a7cb92d99 Include <machine/swarm.h>. 2002-03-17 11:37:55 +00:00
simonb ed84d53b75 Allow selection of a big- or little-endian kernel by uncommenting the
std.sbmips.eb or std.sbmips.el config include file in the kernel config
file.  Idea from the evbsh3 port.
2002-03-17 11:00:22 +00:00
simonb c21bc616b1 Don't use a magic number. 2002-03-17 07:39:16 +00:00
simonb 3b362d301e Fix up some white-space bogons. 2002-03-17 06:28:56 +00:00
simonb c08749f1fe An include file describing some address map info, GPIO pin assignments
and SMBus addesses for the swarm eval board.
2002-03-17 06:24:30 +00:00
martin 94881fb123 Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
2002-03-16 16:55:51 +00:00
simonb 4c99e006ad Need this to build the system - libc nlist assumes all mips have ecoff. 2002-03-11 02:33:37 +00:00
simonb ee374e2f14 Remove the -O0 workaround for nfs_bio.c - the in-tree toolchain builds
this properly.
2002-03-06 23:50:42 +00:00
simonb 4025359daa cgd notes that we shouldn't use the CPU xtal for calculating wall-clock
time - but as yet we don't attach the RTC becuase it's on an SMbus.
One for later...
2002-03-06 08:02:12 +00:00
simonb 52bf6c669b Neaten slightly. 2002-03-06 07:51:02 +00:00
simonb 2bf916e97d Implement a clkread() function for microtime() using a multu/mfhi
sequence using the reciprocal of the delay divisor to perform the
division.
Set the cp0 compare register so that it doesn't trigger interrupts and
reset the cp0 count register in the hardclock interrupt handler.
2002-03-06 07:47:57 +00:00
simonb 86cb239e4f Add a "clkread" function to the systemsw. 2002-03-06 07:35:13 +00:00
simonb 465e846051 Calculate the reciprocal of the divisor delay. From the comments:
To implement a more accurate microtime using the CP0 COUNT
	register we need to divide that register by the number of
	cycles per MHz.  But...

	DIV and DIVU are expensive on MIPS (eg 75 clocks on the
	R4000).  MULT and MULTU are only 12 clocks on the same CPU.
	On the SB1 these appear to be 40-72 clocks for DIV/DIVU and 3
	clocks for MUL/MULTU.

	The strategy we use to to calculate the reciprical of cycles
	per MHz, scaled by 1<<32.  Then we can simply issue a MULTU
	and pluck of the HI register and have the results of the
	division.
2002-03-06 07:34:36 +00:00
simonb be6459cce6 Use the divisor delay from curcpu() in the implementation of delay(). 2002-03-06 03:29:16 +00:00
simonb 8eb960909e Determine and display the CPU clock frequency from the "System
Identification and Revision Register", and set the frequency
related variables in curcpu info structure.
2002-03-06 03:27:34 +00:00
simonb 4b7a128684 A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm").  Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial.  Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
2002-03-06 02:13:37 +00:00