Commit Graph

547 Commits

Author SHA1 Message Date
tsutsui
608b19ae28 Use proper mips_dcache_{wb,inv,wbinv}_range() ops in dmamap sync function
if possible. Tested on my O2 (with r5ksc patch).

XXX should we apply similar changes to mips/bus_dma.c and use it?
2003-10-07 16:03:09 +00:00
tsutsui
fd316d7ac1 Use proper macros. 2003-10-07 14:37:06 +00:00
tsutsui
086016d756 Add pcn at pci, tl at pci and tlphy, which I've confirmed working on O2. 2003-10-05 15:44:36 +00:00
tsutsui
b0cd3c8093 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.
2003-10-05 15:38:08 +00:00
jdolecek
e6286b949a Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
2003-10-05 08:04:24 +00:00
tsutsui
d788e7c9ec - some KNF
- hz -> Hz in printf
2003-10-04 09:41:27 +00:00
tsutsui
d330e7b609 TAB/space cleanup. 2003-10-04 09:19:23 +00:00
tsutsui
1d11374304 Cast through (void *) to appease gcc3. 2003-09-28 13:02:18 +00:00
tsutsui
7f019aacfd - Remove (commented out) options COMPAT_ULTRIX, which is not usable on mipseb.
- Fix (commented out) obsolete options MINIROOTSIZE.
- space/TAB cosmetics
2003-09-28 12:56:09 +00:00
tsutsui
026b6946bd Fix typo. From Christopher SEKIYA. 2003-09-28 08:21:08 +00:00
tsutsui
992acd3aab Add options COMPAT_16. 2003-09-28 07:39:48 +00:00
he
772b1d9073 Allow kernels without the haltwo driver configured to build, i.e.
make the driver optional by adding the haltwo attribute.
2003-09-27 21:11:21 +00:00
lonewolf
c8d69e8d1c Attach haltwo on Indigo2 machines also, it reportedly works on them. 2003-09-26 16:58:06 +00:00
lonewolf
3111a2e6ea Support for HAL2 audio controller attached to the HPC ASIC, found on SGI Indy.
The driver is not too heavily tested and only supports audio playback and
master volume setting currently.
2003-09-25 16:35:50 +00:00
lonewolf
b06ea56eff Fix mistake in previous. 2003-09-18 15:01:33 +00:00
lonewolf
ae33e68d84 Correct offsets for HPC_PBUS_CHx_{BP,DP} and add HPC_PBUS_DMACTL_* definitions. 2003-09-18 15:00:26 +00:00
simonb
9d585c89bb Use common mips generic software interrupt routines.
Changes from Izumi Tsutsui, tested by Havard Eidnes.
2003-09-15 06:39:20 +00:00
chs
c023b4180f add "makeoptions MACHINE_ARCH=..." in std.* for mips ports
where it is constant (to ease cross-building).
2003-08-30 22:44:38 +00:00
itojun
4440262659 create /dev/crypto 2003-08-22 05:06:22 +00:00
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
itojun
3f14c71f75 reserve cdev major # for PF. ok'ed by technical-exec 2003-07-27 14:17:57 +00:00
thorpej
063033a023 Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
2003-07-27 01:17:37 +00:00
lukem
ed51729135 __KERNEL_RCSID() 2003-07-15 02:54:31 +00:00
fvdl
d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr
960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
drochner
1a03e79900 don't #include <sys/dkstat.h> where it is (appearently) unused 2003-06-18 08:58:34 +00:00
fvdl
7dd7f8baa2 Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
2003-06-15 23:08:53 +00:00
thorpej
0eff671820 Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
2003-06-14 17:01:06 +00:00
thorpej
e43fecb228 Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself.  This paves the way for some future changes.
2003-05-10 23:12:28 +00:00
gmcgarry
1cdac66ee5 Add commented-out wsfont (same as wsdisplay). Addresses PR#18388. 2003-05-04 01:36:53 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
dsl
d91455ce26 Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
2003-05-02 08:45:10 +00:00
ragge
d8c8fa8111 Add pseudo-device ksyms. 2003-04-26 14:10:04 +00:00
ragge
69a66687f8 Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
2003-04-26 11:05:05 +00:00
ragge
766d04f56a Add ksyms device major. 2003-04-25 21:10:46 +00:00
christos
b9f9db3ca2 Bye Bye UCONSOLE 2003-04-10 22:06:51 +00:00
he
6a6aa0e6ca Track the SBSIZE -> SBLOCKSIZE rename after the UFS2 merge. 2003-04-08 06:54:24 +00:00
rafal
42dea81851 If booted device starts with pci(N), strip it off; also, compare strncmp()
result to 0, not NULL.  This gets the O2 figure out what device it's been
booted off correctly mow.
2003-04-04 04:27:29 +00:00
thorpej
c9228c8ddd Use PAGE_SIZE rather than NBPG. 2003-04-02 04:17:50 +00:00
rafal
0adc6315a0 Oops, make sure to re-enable the IP32 watchdog correctly, else we end up
getting random reboots after returning from DDB.
2003-03-31 00:56:53 +00:00
rafal
090fac3d8b Update for devopen() change. 2003-03-17 03:07:14 +00:00
rafal
5bd093cfbd If the boot device starts with a PCI bus spec, skip over that when looking
for a boot device type; this gets the boot.ip32 booting a kernel off disk.

While here remove some unrolled string compares in favor of strncmp() to
make code more readable.
2003-03-17 03:04:51 +00:00
perseant
eab869e1c0 Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
2003-02-27 19:22:36 +00:00
simonb
3a93f29238 Update for LFSv2 support. Ports that have "bootxx_lfs"-style
bootblocks currently only support LFSv2, but the second level
"boot" program supports both LFS versions.
2003-02-23 23:23:07 +00:00
nakayama
e3e4805068 Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
2003-02-05 13:57:50 +00:00
pk
be1188e00d Provide locking required by the interrupt handlers running at IPL_SERIAL. 2003-01-28 12:35:31 +00:00
kent
cd7d9faeaf Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it. 2003-01-28 01:07:51 +00:00
rafal
c1ff3ce973 Fix a bug that would cause the PCI fixup to assign addresses beyond the range
of KSEG0/1 mappable PCI window (the MEG_ALIGN macro was aligning to *16* MB
instead of *1* MB due to an extra 0 in the round-to constant).  Also, allow
the PCI code to fix up all functions of a multifunction device; both from
Chris Sekiya, with a bit of massaging by me.
2003-01-19 23:08:54 +00:00
rafal
48eb4573c0 Parse out flags passed to the kernel on boot; from Scott Taylor, tweaked to
use the MI boot_flags.h interface by me.
2003-01-19 22:36:00 +00:00
rafal
2eef5c9ba8 Turn on more of the PCI interrupts; from Chris Sekiya. 2003-01-19 22:33:20 +00:00
rafal
6c79dcd0e4 Update to use the full DS1687 register set, therefore allowing the clock to
store absolute year rather than an offset -- this means the clock is now
consitent across the ARCS PROM, IRIX and NetBSD.

XXX: This attachment is now a mismoner, since it's a Dallas Semi RTC, not
a Motorola RTC.  Should be renamed.
2003-01-19 22:26:38 +00:00
rafal
0c4b06c362 Add pci/usb/audio devices; from Chris Sekiya. 2003-01-19 22:23:03 +00:00
rafal
537bf9a526 Change DS1286 definitions to start with DS1286_ rather than DS_ so these and
DS1687 definitions are easier to distinguish.
2003-01-19 22:20:43 +00:00
thorpej
f91b0bb3f2 Merge the nathanw_sa branch. 2003-01-18 06:23:28 +00:00
bouyer
15c016cd08 When padding frames smaller than ethernet minimum size, make sure we supply
a buffer long enouth, with the padding bytes initialised.
Also pad to ETHER_MIN_LEN - ETHER_CRC_LEN, not ETHER_MIN_LEN (padded frames
were 4 bytes too long).
2003-01-13 17:13:10 +00:00
rafal
30d29f647c Simplify CRIME rev. calculation (we don't appear to need the low nibble). 2003-01-10 20:39:22 +00:00
rafal
5c114e8d30 Get rid of some extraneous declarations/comments. 2003-01-10 03:48:40 +00:00
rafal
0cc0813590 Add the MIPS3_CONFIG_SE (name taken from Rm52xx manual) bit, which is the
external cache enable bit -- this allows software to enable or disable the
(external) L2 cache on the R5k and Rm527x and the (external) L3 cache on
the Rm7k.  If the (external) cache is disabled, treat it as if there were
no cache for the purposes of the cache setup code.

Also, update sgimips code to use the new name.
2003-01-10 03:22:48 +00:00
lukem
4bb41ae2f2 Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile.  Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
2003-01-06 17:40:18 +00:00
rafal
b892fa21e2 There's no cache_r5k.h yet, so don't try to include it. 2003-01-06 06:25:32 +00:00
rafal
0098f248ba PCI fixup code for the O2. Tested with a range of 32 and 64-bit network
cards, but not much else.  Seems to work fairly well, though.
2003-01-06 06:21:11 +00:00
rafal
c21021e6fb 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.
2003-01-06 06:19:40 +00:00
rafal
b0e9963d23 Don't shift the pending interrupt bitmask passed to crime_intr() so it can
associate pending interrupts with the proper sources.  Add some comments to
the vestigal ip32_intr_establish() on what it really *should* do.
2003-01-06 05:59:34 +00:00
rafal
1e74cf4267 Postpone DDB/KGDB init until we know the machine type, so the debugger can
be attached to the right place, twiddle the right watchdog registers, etc.
2003-01-06 05:56:00 +00:00
rafal
3021da226f Cosmetic fix -- move __HAVE_MIPS_MACHDEP_CACHE_CONFIG to "MIPS specific
options" section.
2003-01-03 10:30:00 +00:00
rafal
0cff9e28dc 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.
2003-01-03 09:09:21 +00:00
rafal
b983746705 Also remove `options MIPS3_5200' since nothing uses it ATM. 2003-01-03 08:18:20 +00:00
rafal
2d6f1ac150 The Tigon driver is known to have issues on BE systems, so remove it (I got
the card probed & attached, but had to hack the driver source to even get
it that far and it had issues after that which made me punt on it).
2003-01-03 08:14:44 +00:00
rafal
f2c485b280 Move console setup after we've determined machine type so the console init
code can guess where to find a console depending on machine type.
2003-01-03 06:26:06 +00:00
rafal
fe84d50d7e Mark the CRIME/MACE register twiddling done after autoconfig with an XXX so
it gets cleaned out when the interrupt registration code is capable of doing
the interrupt mask setup itself.
2003-01-03 06:24:18 +00:00
pooka
fb4bf2a901 * tweak CRIME and MACE interrupt masks for IP32 and add some verbosity
* recognize ahc scsi as a boot device

once again thanks to Chris Sekiya
2003-01-02 15:08:18 +00:00
thorpej
dca15fc8c2 Use aprint_normal() for cfprint routines. 2003-01-01 02:10:08 +00:00
pooka
bca1052dab on second thought... make this also compile 2002-12-28 16:44:36 +00:00
pooka
00ddd0deec add timer calibration
from Chris Sekiya
2002-12-28 16:40:48 +00:00
pooka
30d4a8344b sync with mecreg change, ie. make this compile 2002-12-26 22:25:12 +00:00
pooka
a0c298e366 brush up situation with mec register definitions
from Chris Sekiya
2002-12-26 22:24:46 +00:00
pooka
c99132ebb0 Shuffle network interface and phy drivers into alphabetical order and
add comments for them.
2002-12-26 18:26:07 +00:00
pooka
87a74ecee8 Use crimereg.h definitions for the crime dog. Also, move watchdog
disable down the very last possible place in cpu_reboot.

from Chris Sekiya
2002-12-23 21:04:23 +00:00
pooka
8ecf5692ac add bus_space_vaddr()
from rafal
2002-12-23 20:41:47 +00:00
pooka
0dd7013e7a MACE register definitions
from Chris Sekiya
2002-12-23 20:05:06 +00:00
pooka
b31b740c2b CRIME register definitions
from Chris Sekiya
2002-12-23 20:04:22 +00:00
pooka
1fcaee0848 add debug printf
from Rafal
2002-12-23 19:49:27 +00:00
pooka
2f32342d20 also create boot.ip32 with the entry point set to the IP32 load address
from Chris Sekiya
2002-12-23 19:31:24 +00:00
pooka
fb83173bb6 add some ethernet interfaces
from Chris Sekiya
2002-12-23 19:18:34 +00:00
lukem
7f7f9da211 minor delint 2002-12-13 02:36:37 +00:00
simonb
6a5e492b57 Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.
2002-12-09 22:54:09 +00:00
lukem
0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
wiz
e78e668887 Fix typo (responsiness -> responsiveness). 2002-11-22 12:20:58 +00:00
thorpej
9972dfbbbf Add "-mno-abicalls" to AFLAGS. Add "-ffreestanding -msoft-float" to
CFLAGS.
2002-11-10 17:12:58 +00:00
thorpej
73f78d5e61 Fix signed/unsigned comparison warnings. 2002-11-09 18:52:20 +00:00
thorpej
a1ef3f204e Avoid a strict-aliasing warning from GCC 3.3. 2002-11-09 18:49:02 +00:00
jdolecek
c82ab2eb79 now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
2002-10-26 13:50:17 +00:00
junyoung
e4b7588c28 Add NEW_BUFQ_STRATEGY (disabled by default). 2002-10-18 15:11:08 +00:00
elric
5ab71e20b0 Added commented out cgd(4)s to GENERIC configs. 2002-10-14 18:39:22 +00:00
rafal
5ad5ca60a5 Memory and I/O space accesses to MACE PCI address ranges are passed through
in the correct byte order, so there's no reason to byteswap them.
2002-10-10 18:16:40 +00:00
provos
2f7a0aaac8 add SYSTRACE; approved perry. 2002-10-06 02:11:54 +00:00
elric
d19d268a95 assign majors for raw and cooked cgd's. 2002-10-04 18:28:24 +00:00
thorpej
89bf5a8f8e Add trailing ; to CFATTACH_DECL. 2002-10-02 15:52:22 +00:00
thorpej
b96bc0d7bc Use CFATTACH_DECL(). 2002-10-02 04:06:36 +00:00
thorpej
0dac35b547 Use CFATTACH_DECL(). 2002-10-02 02:00:07 +00:00
thorpej
217c799fe7 Use CFATTACH_DECL(). 2002-10-01 21:24:43 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej
6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej
d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
thorpej
c75e60ed75 Get the pointer to the driver name early, rather than constantly
deferencing the cfdriver pointer.
2002-09-26 20:45:42 +00:00
thorpej
71404bb533 Don't include <sys/map.h>. 2002-09-25 22:21:01 +00:00
martti
81e8d78cd4 Add one space between "#option" and "<tab>IPFILTER_DEFAULT_BLOCK" 2002-09-25 11:49:48 +00:00
martti
3b553bac54 Added (commented out) IPFILTER_DEFAULT_BLOCK. 2002-09-20 10:39:48 +00:00
lukem
3ea2e21f82 enable USERCONF by default; it's small and extremely useful to have available. 2002-09-18 02:43:53 +00:00
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
thorpej
139cdc3125 Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
2002-08-25 20:21:33 +00:00
briggs
0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
simonb
fef76c7e26 Use a __HAVE_BOOTINFO_H define to check for bootinfo support instead of
speading port names in arch-dependant code.
2002-08-05 02:13:14 +00:00
gmcgarry
3647e0d293 Merge cpu_sysctl() for all mips ports, based on powerpc and m68k precedent.
For now, only pmax implements CPU_BOOTED_KERNEL.  Need to revisit.
2002-08-04 01:41:23 +00:00
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
rafal
695a5c114c Cleanup and enhancements to sgivol, mostly from Scott G. Taylor, with some
tweaking by me.  Specifically, this gives sgivol an "unattended" mode that
can be used from eg. sysinst to install the bootblocks.
2002-07-18 16:02:42 +00:00
rafal
653e0b546e Fix boot device detection in the face of multiple SCSI controllers. This
isn't perfect (the NetBSD device units must match ARCS device numbers), but
it's better than randomly matching one of the devices.  Fixes PR 16584 from
Scott G. Taylor.
2002-07-15 04:38:59 +00:00
rafal
fa5c0332f8 Fix PR port-sgimips/17568: the PROM on early Indigo2 machines did not like
the ECOFF version of boot produced by `objcopy'.  Using elf2ecoff make it
work, so use that instead.  Also, don't bother stripping the bootblocks on
install (as that confuses strip, at least for the ECOFF one, and since the
build already strips them).
2002-07-12 13:04:03 +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
manu
eae183fa32 Added COMPAT_LINUX and COMPAT_ULTRIX (commented out) 2002-06-16 21:03:36 +00:00
manu
e7be1a51a5 Commented out COMPAT_IRIX in GENERIC kernels, because it is still
quite experimental.

Added irix_kmem and irix_usema pseudo devices which are used by
IRIX binary compatibility (commented out for now)
2002-06-16 20:54:28 +00:00
simonb
6b6e4f4f60 Simplify include files that just include <mips/locore.h>. 2002-06-05 06:18:34 +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
drochner
d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
manu
c56a07ad1c Added an irix_machdep.h (in the future, COMPAT_IRIX will be available on
several MIPS architectures)
2002-05-22 04:59:45 +00:00
rafal
3ac921616c Make sure to read from stdin, not stdout. From Scott Taylor. 2002-05-21 21:53:35 +00:00
rafal
722dca8509 Turn kernels into ecoff as well by default. 2002-05-21 21:01:34 +00:00
rafal
a5a7e0f25c Add RAMDISK kernels for installation. 2002-05-21 21:00:35 +00:00
manu
17f9f77621 Filling tables for device 62 (irix_usema) where it was missing 2002-05-21 06:35:08 +00:00
thorpej
204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
thorpej
dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
soren
fa3bdb57ba Add some codenames. 2002-05-14 16:21:47 +00:00
pooka
95af0aba23 include GENERIC, set TEXTADDR right 2002-05-14 15:42:25 +00:00
pooka
fe422abe40 a real version of GENERIC 2002-05-14 15:38:43 +00:00
soren
f514efc600 Make the build machinery happy for now. 2002-05-13 01:26:27 +00:00
pooka
6562508c4b Make INDY the Indy config file
Add DRAKEN as a model of what to do with the O2 (effectively the same
file as the old INDY)
2002-05-08 13:52:17 +00:00
pooka
ca3ea88b7a add mcclock 2002-05-04 20:06:49 +00:00
rafal
4cebb807c9 Cosmetic change. 2002-05-03 01:51:38 +00:00
rafal
2eece4af5f Update copyright dates. 2002-05-03 01:49:21 +00:00
rafal
c92f3647a4 Fix up clock interrupt accounting for the sgimips port -- make sure
to schedule clock interrupts at a fixed interval, rather scheduling
the next one based on the time of the arrival/servicing of the previous
clock interrupt.  Also, pick up a trick from the sbmips port to convert
a division in ip22_clkread to a multiplication, since those are much
cheaper -- the details of that are described in Simon's commit (see
Message-Id: <20020306073437.1D2A8B004@cvs.netbsd.org>).  Thanks to
Jason Thorpe and Dominic Sweetman's "See MIPS Run" (where I found
mention of this very subject while looking for something totally un-
related! 8-) for the clue about the source of the timekeeping problems.

For the IP32, where we have no clock-calibration code yet, use the CPU
frequency provided by ARCS instead; it beats a hard-coded value!

As an added bonus, most of the CPU-clock related stuff is now collected
together in cpu_info_store, rather than as a collection of unorganized
global variables.
2002-05-03 01:13:54 +00:00
rafal
ab8f2fbc01 Add interrupt counter for Seeq interrupts; also, make sure to reset back to
"recieve only my frames & broadcasts" and clear the ALLMULTI flag if we have
no multicast addresses in our list.
2002-05-02 20:31:19 +00:00
rafal
1a73d72d3b If we handle multiple events from the zs chip in one interrupt, don't count
that as multiple interrupts.
2002-05-02 20:26:49 +00:00
rafal
e65d64e370 Since we don't have code to drive the L2 cache on R4600/R5k processors,
disable the L2 cache so at least things work (albeit more slowly) on
the SC versions of those chips.  Tested on a R4600 Indy and a R4400
Challenge S.
2002-05-02 18:00:40 +00:00
rafal
e9ca49cdee Fix nasty crashes on IP22 machines with console running at 38.4kbps (which
generally translates to "high interrupt load") -- the old code re-enabled
interrupts in the machine-specific hardware interrupt handler causing the
handler to be re-entered, possible multiple times.  Could lead to kernel
stack overflows, and all sorts of mysterious crashes/hangs as a result.

While here, fix up the IP32 interrupt handler code to also not re-enable
interrupts.

Thanks for ideas/comments go to Chuq and Stephen Ma.
2002-04-29 02:06:14 +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
manu
c7dcec33a1 Added IRIX /dev/usema and dev/usemaclone (void driver for now, will be
filled later)
2002-04-23 06:48:46 +00:00
rafal
7a25d8c7ba Add event counter for zs interrupts and attach and use it; also, get the
zs major number out of the cdevsw table rather than hardcoding it in zs.c.
2002-04-17 13:49:54 +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
wiz
5040dc6d7d Remove last(?) traces of pmsi. 2002-04-16 11:49:54 +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
bouyer
e5727031fb Implement mstohz() as discussed on tech-kern, and use it in SCSI drivers
to convert xs->timeout to callout() parameter.
2002-04-05 18:27:45 +00:00
lukem
d213d804f7 Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
2002-04-02 05:30:34 +00:00
simonb
a85e214bda Make sure that private DMA flags don't overlap with standard DMA flags;
start these at 0x10000 to leave room for an increase in the latter.
2002-03-17 21:45:06 +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
manu
da6cdf1446 Added IRIX /dev/kmem emulation pseudodevice and SVR4 net pseudodevice 2002-03-15 17:29:06 +00:00
simonb
707b8da2e8 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.
2002-03-13 13:12:25 +00:00
simonb
22db14d9e1 All the mips ports had an identical procfs_machdep.c, so use a common
file under arch/mips/mips.
2002-03-13 02:55:10 +00:00
lukem
cd19d52695 * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
2002-03-10 19:56:37 +00:00
thorpej
a180cee23b Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.
2002-03-08 20:48:27 +00:00
simonb
9bcc70fa1d Don't cast argument to ffs() to long.
Per discussion on port-alpha, noticed by Robert Elz.
2002-03-05 09:40:38 +00:00
rafal
929d489997 In _bus_dmamap_sync, only invalidate as much data as there is in the current
segment rather than invalidating the total map length for each segment.
2002-02-27 01:51:48 +00:00
christos
6b030ee036 - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
2002-02-27 01:19:03 +00:00
simonb
d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
wiz
37e458fa45 strategy should have an 'r'. Inspired by similar change in OpenBSD. 2002-02-19 17:09:40 +00:00
wiz
66df0333a1 s/seperate/separate/ 2002-02-11 10:44:38 +00:00
lukem
03bd9dc73f cosmetic reorder of #defines to match other ports 2002-01-28 23:09:54 +00:00
jdolecek
6d265bd894 add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
2002-01-27 13:23:08 +00:00
rafal
5e26468b29 Less odious hack for powerfail interrupt; even thought it's still odious,
at least now we only attempt to install the handler once.
2002-01-25 04:54:31 +00:00
soren
70e85fb54b Remove __HAVE_GENERIC_SOFT_INTERRUPTS #ifdef. 2002-01-14 19:08:35 +00:00
pooka
2bce33ba09 slight last-minute typo here 2002-01-14 16:26:44 +00:00
pooka
53aa4de53f make RTC year IRIX semantics adjustments a macro 2002-01-14 16:23:27 +00:00
manu
5f90ae55b5 Added clockctl 2002-01-12 14:52:40 +00:00
wdk
c09d9a0d03 We now need ufs/ufs/dinode.h for ufs/ffs/fs.h
XXX:  All this work for BBSIZE and SBSIZE.  Sigh.

Add missing $NetBSD$ Header to file
2002-01-10 06:56:18 +00:00
thorpej
e091c2afd1 Add -Dsgimips to CPPFLAGS. 2001-12-20 20:30:59 +00:00
tv
8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
atatat
b45c51b1fc Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
2001-12-09 05:00:40 +00:00
manu
55c08f5ede Back out the copy of theses files to userland 2001-11-28 20:13:34 +00:00
manu
fa1e4588d9 We need to copy new SVR4 header files to /usr/include/sys... 2001-11-28 12:13:49 +00:00
manu
a268e72f56 Add support for COMPAT_IRIX 2001-11-28 11:56:43 +00:00
lukem
ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
soren
bf7d9c855e Adjust for dsclock name change. 2001-11-25 15:26:03 +00:00
soren
07992b8797 Forgot pooka's license header. 2001-11-25 15:13:53 +00:00
soren
45192487a5 O2 RTC attachment, based on code from Antti Kantee. 2001-11-25 15:05:04 +00:00
soren
7e84b9e1db Add wscons devices. 2001-11-22 04:50:04 +00:00
rafal
85cae1f6d1 If we already have a boot device set, don't reset the slot/unit/partition.
Now my Challenge S boots multiuser with the new bootloader without stopping
to ask for boot/root devices.
2001-11-22 03:15:35 +00:00
soren
6c3e025b46 Nuke cleandir target override. 2001-11-22 02:18:24 +00:00
soren
6e9ab4848f Respect OSLoadPartition even if it doesn't come before SystemPartition in argv.
Add a few comments about the above.
2001-11-22 02:06:32 +00:00
soren
b63ced481c Note kernel load adress change. 2001-11-22 01:30:03 +00:00
soren
60ae71115a Change the kernel load address offset from 512K to 420K, the Irix
convention for debugging kernels.
2001-11-22 01:11:51 +00:00
thorpej
b2fe046c8c Move the kernel forward in memory, starting it 512K in from the
bottom of RAM.  The bootloader is now loaded 2K in from the bottom
of RAM, so we need to make space for it.
2001-11-22 00:59:23 +00:00
thorpej
aabfa72384 - Clean up the bootloader Makefiles somewhat.
- Build an ECOFF version of the bootloader as "boot".  As a temporary
  measure (due to a bug in libbfd which has not yet been fixed, but
  for which a work-around exists as a patch), install and ELF version
  of the bootload as well as "boot.elf".  "boot.elf" will go away once
  the toolchain issue is resolved.
2001-11-22 00:58:07 +00:00
thorpej
3975cecee7 - Adjust bootinfo to work sanely in an ARCS world, and pass some
info along to the kernel (currently just the symbol table info).
- Don't bother with the startprog dance; we don't need to do anything
  special, here, so just call the entry point directly.
- A bunch of random cleanup.
2001-11-21 23:33:17 +00:00
thorpej
38afb59582 - Check for provided bootinfo from the bootloader. If we find it,
save off DDB symbol table information.
- Make loading of memory work reliably with the bootloader; for each
  candidate memory type from ARCS (which now includes LoadedProgram),
  check to see if the kernel is within that chunk, and load the pages
  around it if it is.
2001-11-21 23:27:20 +00:00
thorpej
741c7a2997 sbic -> wd33c93, in preparation for the core driver going into
sys/dev/ic.
2001-11-21 23:22:25 +00:00
soren
482d429ddc Install loader in /usr/mdec. 2001-11-21 22:14:51 +00:00
soren
57bd30a92c s/pmax/sgimips/ in comments. 2001-11-21 22:13:55 +00:00
thorpej
e2397b7f93 Change symtab info to unsigned longs. 2001-11-21 20:31:49 +00:00
thorpej
4b1d2d4ce9 Add bootinfo stuff for NetBSD/sgimips. Changes to kernel and bootloader
forthcoming.
2001-11-21 20:29:31 +00:00