Commit Graph

434 Commits

Author SHA1 Message Date
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
thorpej
4e63f44f6c Initial cut at a bootloader for NetBSD/sgimips, by Michael Hitch. 2001-11-21 19:09:06 +00:00
thorpej
bcc50e9703 Use strncmp() when looking up volume files. 2001-11-20 23:09:45 +00:00
thorpej
c8f26da0bd - General code cleanup (and enable warnings).
- It's perfectly legal to have an 8 byte volume filename; the trailing
  NUL is not required in this case.
- Default the partition type to "4.2BSD", not "EFS".
2001-11-20 23:07:16 +00:00
rafal
52f4b0490c Stylistic fix to last. 2001-11-20 21:21:03 +00:00
soren
3f54e2c74f Add stand to SUBDIR. 2001-11-20 18:37:00 +00:00
soren
0f71151d6e stand Makefile. 2001-11-20 18:36:31 +00:00
soren
1e6da897d3 Michael Hitch's volume header tool. 2001-11-20 18:35:22 +00:00
soren
5ecc88dc2f Correct previous, pointed out by mhitch:
makebootdev() sets not booted_device but booted_protocol, so test for that.
2001-11-20 18:06:40 +00:00
thorpej
f934d91c74 The 2nd SCSI controller is now supported; remove it from the TODO list. 2001-11-20 17:38:31 +00:00
rafal
6c04d91bae Post Jason's autoconfig cleanup, the DMA tags are actually passed in from
the parent, so we don't need to look at the innards of bus_dma anymore.
Also, remove the Todo item pertaining to autoconfig cleanup from the list
in the comments.
2001-11-20 16:10:49 +00:00
rafal
c4596a56c0 Fix up Jason's last cleanup (thanks for that, btw!!)... Don't attach
hpc child devices that don't match our systype.  Attempting to attach
a wdsc1 on my Challenge S locks the box hard.
2001-11-20 16:09:00 +00:00
lukem
0fa231134c - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
2001-11-20 14:34:18 +00:00
lukem
03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
lukem
99bccc3cab - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
	KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
	DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for  options KGDB_DEVNAME="\"com\""
- use correct quotes for  options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
2001-11-20 08:43:19 +00:00
soren
f270ebd294 Remove obsolete comment. 2001-11-19 17:39:54 +00:00
soren
b76c8dbfc9 Remove netbsd.high Ind* load address hack and use a separate
distribution GENERIC instead.
2001-11-19 17:39:31 +00:00
soren
db0828bda0 Remove driver options that don't belong in std.sgimips. 2001-11-19 17:38:24 +00:00
soren
3fe377a8b9 s/sgi/sgimips/
Remove __NO_SOFT_SERIAL_INTERRUPT.
2001-11-19 17:36:41 +00:00
soren
a36dfe843b Since we can get boot device information from both the boot loader
and the firmware, we allow it to be set only once, so the boot
loader is given highest priority.
2001-11-19 17:35:15 +00:00
soren
6413de2df4 Get L2 cache line size from ARCS.
Remove hack to disable (standard) L2 caches.
2001-11-19 17:33:02 +00:00
soren
ce57fc2bba Also check SystemPartition when finding boot device. Especially
when netbooting, it is practical to load the kernel directly.
2001-11-19 17:29:53 +00:00
soren
77a301e0e8 s/sgi/sgimips/ 2001-11-19 17:28:23 +00:00
thorpej
38b076b60c zsc does not needs-count 2001-11-18 08:24:33 +00:00
thorpej
431af33735 Tweak for HPC autoconfig changes. 2001-11-18 08:21:38 +00:00
thorpej
be010c72ef * Clean up HPC autoconfiguration a little. Pass device register and
DMA register offsets, as well as IRQ, to children.  Use direct
  config.  Use machine type/subtype to determine which devices are
  present.
* Add support for the second SCSI controller on the Indigo2.
2001-11-18 08:16:15 +00:00
thorpej
8edf2c6d98 * Add a callback to the front-end for the 33c93 driver to reset
the controller/SCSI bus.
* Implement controller/SCSI bus reset on SGI HPC3 SCSI using the
  "channel reset" bit in the SCSI DMA channel control register.
2001-11-18 05:14:38 +00:00
thorpej
21c0578357 Walk the ARCS device tree to find the L2 cache size. 2001-11-17 01:19:58 +00:00
mhitch
636eb23869 When loadfile() leaves the ELF header at the end of the kernel, it enables
erroneous code that tries to compute the end of the symbol table.  Disable
that for now so that kernels don't hang when booted from the disk.
2001-11-14 22:47:16 +00:00
thorpej
bd15cfaed8 Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
2001-11-14 18:26:21 +00:00
thorpej
af66038f73 Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
2001-11-14 18:15:10 +00:00
hubertf
95bf3bc4cd add pseudo-device rnd - it's needed by sshd 2001-11-14 13:25:19 +00:00
rafal
1a9f819d84 Make microtime(9) do interpolation to get better-than-hz resolution, if
the platform supplies a clkread function that does something other than
return 0 (which is the default unless overridden by the platorm code).
Supply such a function for the IP22; even if it isn't perfect, it goes
a long way to making ntp usable.

While I'm at it, move the ticks-per-hz variable out of the struct platform
since it's really private to the per-platform interrupt/clock code.

XXX: No clkread function supplied for IP32, since it has other problems --
like a hardcoded ticks-per-hz, but the same code as on the IP22 could be
used.
2001-11-11 17:21:40 +00:00
soren
3566ffe886 Fix vnd pastoes. 2001-11-11 00:38:30 +00:00
wdk
571fbc80c7 Tidy up debug logic
Fix compile errors when DIAGNOSTIC or DEBUG options disabled.
2001-11-10 22:54:54 +00:00
wdk
7f5269c58f NetBSD Disklabel and SGI Volume header support. Based on NetBSD/mipsco
due to its similarities.

Patch has been tested by many people on the sgimips list for some time with
no complaints.

Contributed by: Christopher SEKIYA <wileyc@rezrov.net>
2001-11-10 07:35:17 +00:00
wdk
de81761c50 Complete overhaul of WD33c93 SCSI driver
- Full support for SCSI-2 Tagged commands (enabled by default)
 - Implement save and restore datapointer messages
 - Formalize interface between MI and MD drivers.
 - decouple interface between MD driver and DMA routines
 - Use scsipi layer where appropriate (Tags, Sync Negotiations etc)
 - control blocks stored using kernel pool(9) functions
 - evcnt(9) compliant counters
 - Enable advanced features on later WD33c93 chips.
   (Identify message out phase is hardware assisted)
 - Improved timeout support (one per active control block)
 - Improved MESG_IN and MESG_OUT handling
 - Start to tidy up debugging output
 - Numerous bug fixes and cleanups throughout

Changes are based largely on the NCR53c9x MI driver for ideas on
how to DTRT.
2001-11-10 07:32:42 +00:00
thorpej
e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
thorpej
90a2bc2cf7 For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing.  Makefile.mips will
then set all of the internal variables it needs to accordingly.
2001-10-23 20:40:00 +00:00
mhitch
b216e63487 Use boot arguments to try to determine the boot device. The OSLoadPartition
string, if present, will override the second argument (which may be the
path/kernel being loaded).  This will provide a way to netboot the kernel
and allow the root device be set to a disk partition.
2001-10-18 02:36:33 +00:00
mhitch
6d6ab09e29 Initial boot device determination code: makebootdev() to parse boot command
line parameters, and device_register() to try to match the boot device.  Works
on a Challenge S (and similar machines), but will need more work for other
SCSI adapters.
2001-10-18 02:25:33 +00:00
mhitch
7c6b1c8da0 We have device_register(). 2001-10-18 02:19:54 +00:00
mhitch
f7a303efc6 Machine-dependent loadfile() support for booting. 2001-10-15 21:01:34 +00:00
pooka
3518dc8ed0 * fix thinko in mace_print() to prevent intr with value MACECF_INTR_DEFAULT
from getting printed
* fetch device name from dv_xname instead of using hardcoded value
2001-10-11 15:17:42 +00:00
pooka
e45292cb5e panic in cpu_initclocks() if clock device is not attached 2001-10-10 13:24:47 +00:00
pooka
4eea26606e read dbaud from ARCS and use that for com rate, not hardcoded 38400 2001-10-08 15:53:07 +00:00
simonb
62274f02ea Use ${KERNLDSCRIPT} instead of hard-coded ld script name. 2001-10-08 10:14:41 +00:00
pooka
527cf2d2b1 use kern.ldscript instead of kern.ldscript.be per new scheme 2001-10-05 14:57:18 +00:00
mhitch
a52fa14deb Run vfs_shutdown() if NOSYNC is *not* set, rather than set. 2001-09-24 03:56:03 +00:00
manu
2d16421460 Moved COMPAT_LINUX config stuff from arch/sgimips to arch/mips, so that it's
available on all Mips ports.
2001-09-23 19:45:41 +00:00
manu
142bd48453 config stuff for COMPAT_LINUX 2001-09-22 21:30:15 +00:00
rafal
0143775c35 If OSLoadOptions is set to auto, boot straight to multi-user. Requested
one too many times and it seems to do no harm, so enable it.
2001-09-22 16:26:34 +00:00
rafal
e613cff3c5 Obey the RB_POWERDOWN flag passed to cpu_reboot; make it work on the Indy
by enabling the FPU before jumping back to ARCS (gross, but necessary!).
2001-09-18 05:19:29 +00:00
wdk
151ad65334 Fix obvious typos: swapdev set to incorrect major number preventing
kernel from accessing swap device.
2001-09-17 09:33:41 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
rafal
39c82fe985 Use the newly committed imcreg.h to get rid of the magic numbers polluting
this file; while I'm here, rework the GIO arbitrator parameter setup to
match more closely what is done by lunix on the same hardware... Finally,
on a tip from Wilbern Cobb, preserve the graphics-related bits of the
GIO arbitrator parameter register from the PROM-initialized settings so
ARCS console on the graphics display works (tested on both my Indy with
Newport and my Indigo2 with XL gfx).
2001-09-10 15:36:19 +00:00
rafal
efa747227e Register defines for the SGI MC memory controller. Not 100% complete, but
has enough register/bit definitions to get rid of all the magic numbers that
currently pollute imc.c
2001-09-10 14:13:31 +00:00
simonb
a41b7a380e Clean up and standardise across MIPS ports. 2001-09-09 04:20:25 +00:00
simonb
099f117735 Standardise the format of MIPS' <machine/db_machdep.h>. 2001-09-04 07:43:29 +00:00
simonb
62fb390c64 May as well include <mips/cpuregs.h> in <mips/cpu.h> once rather than
in every MIPS port's <machine/cpu.h>.
2001-09-04 06:23:15 +00:00
simonb
214f5366ea Centralise struct cpu_info declaration and related info to <mips/cpu.h>. 2001-09-04 06:19:21 +00:00
simonb
a6b8c86af0 Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
2001-08-31 03:53:22 +00:00
wdk
12a212bc5c Add support for WD33C93 controller and assosiated SCSI devices, and enable
by default.
2001-08-19 03:20:36 +00:00
wdk
0ac0d0d4e4 Initial implementation of WD33C9x SCSI driver for SGI IP22 platforms.
Based on mvme68k and Atari drivers for the same chipset with the
addition of bus_space support.  Attempts have been made to seperate out the
machine dependent dma components and more work is required in this area.

Tested on SGI R4K Indy, but has little testing on other platforms.
2001-08-19 03:16:21 +00:00
wdk
83cb8b7f0a If the boot device cannot be determined don't return an un-initialized
pointer.
Prevents garbage when asking for root device at startup.
2001-08-08 11:35:12 +00:00
thorpej
babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
thorpej
ce8c5df2c6 Count and display the number of CPUs present on the system. 2001-07-09 02:00:19 +00:00
thorpej
8ea809324e Fill in cpu_model[] 2001-07-09 00:30:35 +00:00
thorpej
af0e157b66 - Use the identifier strings that are fetched by the MI ARC BIOS
code.
- Garbage-collect some non-useful stuff from the mainbus_attach_args.
2001-07-08 23:59:31 +00:00
thorpej
edeeafe82b bcopy -> memcpy, bzero -> memset 2001-07-08 21:04:50 +00:00
thorpej
2b351e4a6f - If the multicast address list changes, make sure to kick the chip.
- Remove unnecessary includes.
- Slight cosmetic change in sq_start().
2001-07-08 20:57:34 +00:00
thorpej
e9fd7a6a2b Use sys/dev/arcbios. 2001-07-08 20:30:13 +00:00
wdk
962a2e51fb Add typical KGDB settings, and leave commented out. 2001-07-07 23:17:58 +00:00
wdk
bda50bcdd4 - Finish off KGDB kernel debugger support for sgimips 2001-07-07 23:13:25 +00:00
rafal
5b1c3b74ba Remove externs moved to headers, fix interrupt masks to be zeroes at startup,
add MIPS clock interrupt (int5) event counter and clean up some more debug
goo.
2001-06-14 01:15:35 +00:00
rafal
d9d912728f Get rid of externs moved to header files, add event counter for the clock
interrupt, use platform.ticks_per_hz instead of hardcoded constant for the
counter increment (XX: not that the ticks_per_hz is calculated for the IP32
yet).
2001-06-14 01:09:37 +00:00
rafal
3327706cab Add externs for struct platform and the machine type definitions (mach_type,
mach_subtype, mach_boardrev).
2001-06-14 01:06:08 +00:00
rafal
68306a9bf0 Implement a db_trap_callback which turns off the watchdog on entry to DDB
and turns it back on on exit.  Hook the callback in early in the boot, so
it's there as soon as DDB is available.
2001-06-13 12:34:24 +00:00
thorpej
37c37861b9 Make sure to always re-sync the rx buffer dmamap if recycling the
rx buffer.
2001-06-08 14:32:05 +00:00
simonb
e5bd00e48d For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
2001-06-08 04:48:54 +00:00
rafal
a8bb9b127a All soft interrupts are currently handled by soft interrupt 1, so make
all splsoftxxx() calls block soft interrupt 1 and make spllowersoftclock()
re-enable soft interrupt 1.

XXX: This needs to be reworked so that spllowersoftclock() only turns on
softclock interrupts, not all soft interrupt.  That change is coming soon.
2001-06-08 00:09:28 +00:00
rafal
86d8f950ef Fix initial interrupt mask settings for `hard' interupts to mask out soft
interrupts as well.  The system is quite stable now that soft interrupts
don't pop up at random places where they're unexpected 8-)

Also, while here, fix CPU clock speed calculation for the Indy.
2001-06-08 00:02:41 +00:00
thorpej
0859a7601d - Differentiate beteen the 8003 and 80c03 (the 80c03 has some additional
features).
- Implement crude multicast support -- enable reception of all multicast
  frames if we have any addresses on the multicast list.  TODO: use the
  64-bit hash table on the 80c03.
- Implement promiscuous mode.

IPv6 doesn't quite work yet -- DAD finds a duplicate for the
link-local.  The 8003 hears its own transmissions, but IFF_SIMPLEX
is not set, so I'm a little confused.
2001-06-07 23:05:51 +00:00
thorpej
b4e0748bf3 Don't use PCLK as the baud rate generator, as the Indy doens't
like that, and it has no effect on the Indigo2.
From Christopher SEKIYA <wileyc@rezrov.net>.

Also, query the "ConsoleOut" ARCS variable (i.e. "what the console
really is") rather than "console" ("what the console is configured
as").
2001-06-07 19:23:03 +00:00
thorpej
a7df60e8e9 Pass -N to the linker, so that it will generate a single PT_LOAD
section (a'la OMAGIC).
2001-06-07 15:26:31 +00:00
rafal
a1830df1bb Fix a deadlock in the tx code -- the code checked the DMA status before
sync'ing the descriptor, leading to a race where the packet could complete
after the DMA check but before the sync of the descriptor, sending the code
into unknown territory and the DMA engine into space.  Also, fix a bug with
spurious watchdog resets going off due to the if_timer not always being set
on transmit.

Finally, clean up use of hardcoded magic numbers, get them from hpcreg.h
when possible.
2001-06-07 12:20:42 +00:00
rafal
63f856cb2e Add a bunch of defines for bits withing the ethernet-related registers so
the Seeq driver can use them instead of hardcoded constants.
2001-06-07 12:10:34 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
chs
11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
matt
4eaed60c97 Add IP32 2001-05-14 17:59:22 +00:00
matt
50522d3e8f Add null ip32_bus_reset. Add cpu_intr_establish which calls
crime_intr_establish.  XXX cpu_intr_establish needs to have the
"normal" intr_establish arguments.
2001-05-14 17:56:36 +00:00
matt
4cf3bc7ebc Define splserial to be the same as spltty(). 2001-05-14 17:55:03 +00:00
thorpej
a3fad63f23 Rafal's Indigo2 kernel configuration. 2001-05-11 05:05:42 +00:00
thorpej
5c3fa40aa3 Autoconfiguration glue changes for Indigo2/Indy support. 2001-05-11 05:04:34 +00:00
thorpej
c68eb33351 Delete __NO_SOFT_SERIAL_INTERRUPT. 2001-05-11 05:02:30 +00:00
thorpej
c36aca4169 Support for configuring an SCC console. From Rafal K. Boni. 2001-05-11 04:56:56 +00:00
thorpej
935ed514af Support for the IP22 (Indigo2, Indy, Challenge S). From Rafal K. Boni. 2001-05-11 04:56:09 +00:00
thorpej
07d7386b8f Move IP32 (O2) support into its own file.
From Rafal K. Boni.
2001-05-11 04:55:42 +00:00
thorpej
acc9f8ef65 Adjustments for dynamic system configuration. From Rafal K. Boni. 2001-05-11 04:53:25 +00:00
thorpej
7583466c6f Expose atoi(). From Rafal K. Boni. 2001-05-11 04:47:55 +00:00
thorpej
148ab319ac Use hit-flush ops in bus_dmamap_sync(). From Rafal K. Boni. 2001-05-11 04:46:22 +00:00
thorpej
fc4bcdcdf2 We now have generic soft interrupts. 2001-05-11 04:42:41 +00:00
thorpej
a8a801d6f3 Dynamic system configuration support, derived from pmax port.
From Rafal K. Boni.
2001-05-11 04:42:13 +00:00
thorpej
c9ca9bb770 SGI machine types and subtypes. From Rafal K. Boni. 2001-05-11 04:38:22 +00:00
thorpej
6b313f2c5f Basic EISA support for the Indigo2. From Rafal K. Boni. 2001-05-11 04:36:15 +00:00
thorpej
13f69bc540 Generic software interrupt implementation, derived from mipsco
implementation.

From Rafal K. Boni.
2001-05-11 04:32:05 +00:00
thorpej
87f3aebd5e New data structures for the new SCC driver.
From Rafal K. Boni.
2001-05-11 04:26:17 +00:00
thorpej
f24f6c113d Support for the SCC serial ports on Indigo2/Indy.
From Rafal K. Boni.
2001-05-11 04:24:44 +00:00
thorpej
3b92374a20 Support for the Indigo2/Indy IMC (this is that to which all other
devices are attached).
2001-05-11 04:22:55 +00:00
thorpej
e6e4372ada New clock functions, based on the newsmips versions. These
actually do something, by calling into the hardware clock
routines set up during autoconfiguration.

From Rafal K. Boni.
2001-05-11 03:42:59 +00:00
thorpej
ce9753d9e9 Autoconfiguration glue for HPC devices.
From Rafal K. Boni.
2001-05-11 03:23:38 +00:00
thorpej
5885656e58 Support for the Seeq 8003 Ethernet attached to the HPC ASIC,
found on Indigo2 and Indy.

From Rafal K. Boni.
2001-05-11 03:22:21 +00:00
thorpej
5d02689ede IOC1/2 memory map.
From Rafal K. Boni.
2001-05-11 03:18:57 +00:00
thorpej
726924bc4c Support for the Dallas 1286 clock found on the Indigo2 and Indy. 2001-05-11 03:16:59 +00:00
thorpej
c4173c40c1 Support for the HPC I/O peripheral ASIC. There is where SCSI, Ethernet,
etc. live on the Indigo2 and Indy.

From Rafal K. Boni.
2001-05-11 03:11:20 +00:00
thorpej
149ebabf26 Get the major number of the CRIME properly.
From Rafal K. Boni.
2001-05-11 02:25:21 +00:00
scw
2963ff5c58 Add l_poll' to struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
thorpej
e553a6caf0 Do the first allocsys() pass (the pass that computes sizes) before
calling pmap_bootstrap(); pmap_bootstrap() needs some of the size
information computed by allocsys().
2001-04-24 15:41:38 +00:00
thorpej
1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej
079c2e0ac9 Call pmap_bootstrap() before calling uvm_pageboot_alloc(), so that
the kernel virtual address space bounds will be set up.
2001-04-23 23:50:22 +00:00
thorpej
5871b80f00 Use uvm_pageboot_alloc() for early memory allocation, rather than
calling pmap_steal_memory() directly.  On these platforms, since
uvm_pageboot_alloc() is a wrapper around pmap_steal_memory(), there
is no functional change.  This is merely for API consistency.
2001-04-22 18:21:48 +00:00
kleink
f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink
7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
lukem
723cd818d8 move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
soren
912c115675 s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message. 2001-03-21 18:40:28 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
thorpej
2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
itojun
cd32aa4b95 have rnd(4). 2001-02-14 04:49:45 +00:00
jdolecek
8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thorpej
d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
martin
a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
martin
5d0c67c603 When adding isdn devices I forgot to check chrtoblktbl.
Fix this know for the affected archs.
2001-01-09 20:51:04 +00:00
martin
f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
matt
825cb46de5 Revert back to a machinearch (really cputype) of mips. Put ENDIAN back. 2000-12-03 07:05:21 +00:00
matt
866f93d61f Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption.  Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.
2000-12-03 05:30:31 +00:00
matt
5e67131b91 Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.
2000-12-03 02:07:04 +00:00
matt
ab27bbe9b2 Need to add -EB for ASFLAGS as well. Don't use -EB in LINKFLAGS but add
-EB to LD so that libkern/libcompat get it as well.
2000-12-02 20:27:37 +00:00
matt
7168049e66 Add -EB to make building kernel on LE systems easier. 2000-12-02 06:23:48 +00:00
soren
d800267698 Forgot to commit bounds_check_with_label(). 2000-11-27 06:00:09 +00:00
soren
38a44e0d8f Consistently use pmap_steal_memory() to allocate USPACE. 2000-11-27 05:57:25 +00:00
ad
57ea462da2 lsu -> ld, by popular request. 2000-11-26 17:44:02 +00:00
soren
1bbc3bd9b5 Same as sys/dev/md_root.c. 2000-11-21 00:18:03 +00:00
soren
0bb338521a Use dev/md_root.c. 2000-11-21 00:17:33 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
soren
60239485e8 Some CRIME definitions. 2000-11-18 19:33:49 +00:00
soren
4227c8ce3a Use ETHER_ADDR_LEN. 2000-11-18 19:32:34 +00:00
thorpej
b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
matt
e720f8addf Add MFS and vnd. 2000-11-15 00:46:35 +00:00
pooka
56d104de33 add I2O to make config work again 2000-11-14 20:28:22 +00:00
eeh
8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
ad
c5e192cd50 Add `major' for lsu. 2000-10-23 11:32:30 +00:00
ad
f0049a2ac4 ca -> lsu 2000-10-20 12:04:02 +00:00
cgd
59706f1322 clean up and consistency for CP0 Count, Compare, Wired, and Config
access function names and prototypes.
2000-10-05 02:36:44 +00:00
cgd
8b8afc8d07 the generic MIPS code doesn't even play at doing anything useful
with a MIPS4 option at this point -- all the code except for one single
spot is conditionalized with MIPS3.  So, don't even pretend about
MIPS4 for now, until it all gets cleaned up.
2000-10-04 21:41:47 +00:00
jdolecek
b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej
23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
soren
026723bccd Update for counter interrupt PSL change. 2000-08-08 16:56:03 +00:00
jeffs
1dfa0ec96d Use cpu_intr() definition from mips/cpu.h instead of local one. 2000-07-14 18:35:38 +00:00
soren
df788ce137 A few tweaks. Still not a real driver. 2000-07-03 12:50:09 +00:00
itojun
d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
soren
51909a9fd4 Changed my mind about these.. 2000-06-29 15:48:13 +00:00
soren
41ba2b7c48 Move a few things from ip32.c. 2000-06-29 15:44:10 +00:00
soren
eaa7fc4ca8 Add spllpt. More interrupt changes needed.. 2000-06-29 15:36:48 +00:00
soren
9a05dad1da zs can be used on several busses, so define it here. 2000-06-29 15:20:27 +00:00
soren
9beea749f1 Hack: disable R5K L2 cache for now, pending (working) changed cache ops. 2000-06-29 15:18:41 +00:00
soren
008a325614 Just a stub. Needs different register accesses than other 8-bit MACE
deviecs..
2000-06-29 15:16:17 +00:00
soren
221de2dffb Minimal locore_machdep.S. 2000-06-29 15:10:44 +00:00
soren
079ce66c6d Uncomment HPC inclusion for now. 2000-06-29 15:10:14 +00:00
mrg
fa00dc597a remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:44:02 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
fvdl
1ee7d22c0b Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC. 2000-06-22 20:27:49 +00:00
soren
05be24734c Correct. 2000-06-16 04:15:39 +00:00
soren
19a36d4e26 Add table of IP number / model name. 2000-06-16 04:06:53 +00:00
soren
a9bf75bb59 Use more constants and clean up a bit. 2000-06-14 22:32:20 +00:00
soren
1c539dbc3a Remember T-shirt. 2000-06-14 17:57:59 +00:00
soren
f12e2b4dd2 Simple GIO glue. 2000-06-14 16:50:58 +00:00
soren
8c4f5e53b2 Include registers. 2000-06-14 16:32:22 +00:00
soren
4a45886c8d A start at O2 support.. 2000-06-14 16:13:53 +00:00
soren
6c3d30d224 Initial commit. 2000-06-14 16:06:57 +00:00
soren
891194e10f Initial commit. Needs work. 2000-06-14 16:02:38 +00:00
soren
aa6a4db574 No real need for explicit stride on Mace ISA extension. 2000-06-14 15:56:21 +00:00
soren
b6609726af Dummy. 2000-06-14 15:51:28 +00:00
soren
9212bf659c XIO device ids. Nothing here yet. 2000-06-14 15:49:07 +00:00
soren
abe9dea12f Initial commit. 2000-06-14 15:39:55 +00:00
soren
ab26c447f4 Initial commit. 2000-06-14 15:32:11 +00:00