Commit Graph

232 Commits

Author SHA1 Message Date
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