Commit Graph

120 Commits

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