Commit Graph

47358 Commits

Author SHA1 Message Date
tsubai
27c2892f13 Enable color! call in ofb_putcmap again.
Matt, please don't remove codes silently without confirmation.
(At least, leave a log message!)
2001-06-10 10:34:27 +00:00
thorpej
be7629b7e0 Hand off intr evcnt responsiblity in a reasonable way on the 5064. 2001-06-10 09:28:26 +00:00
thorpej
7c074dc806 Check in work-in-progress of generic ISA interrupt support. The
goal here is to get the P-5064 PCMCIA slots working, and serve as
the basis for P-6032 interrupt support.

PCMCIA interrupt auto-detection not working -- more work to be
done here.
2001-06-10 09:13:06 +00:00
thorpej
82418a77b0 Add PCMCIA devices. 2001-06-10 08:45:09 +00:00
scw
737763fde7 Forgot to commit this as part of the mvme68k evcnt(9) changes. 2001-06-10 08:27:42 +00:00
matt
66822e55be Fix a spl issues. Turn on PMAPCHECK until instability problems are found.
Add a pmap_pvo_verify call you call it from it ddb and verify the pmap
data structures are sound.  Fix warnings when DEBUG was turned on.
2001-06-10 07:56:36 +00:00
matt
b9ef9e99da Print a more informative is a uncatchabl DSI or ISI exeception happens in
kernel mode.
2001-06-10 07:49:13 +00:00
thorpej
1930cfd7dc Correct for a data structure change. 2001-06-10 06:17:15 +00:00
thorpej
ce66bf0803 Rewrite the interrupt handling code:
- Compute the number of CPU pipeline cycles per second using the
  mc146818.
- Use the COMPARE interrupt for the hardclock interrupt.
- Collapse all interrupt priorities into a single priority, and use
  the CPU interrupt inputs to determine the interrupt source (local
  device, PCI device, ISA device, etc.)

This allows us to have interrupt sharing.
2001-06-10 05:26:58 +00:00
thorpej
0e82abb5de Add MIPS3_5200. 2001-06-10 05:02:33 +00:00
briggs
b1db1fba38 Adapt to new PowerPC pmap.
Use more common PowerPC code including bus_dma and unified bus_space.
2001-06-10 03:16:29 +00:00
briggs
c97896cd4d Pull avail_start/avail_end logic for bus_dmamem_alloc() from macppc port,
as suggested by matt@netbsd.org--the vm_physmem array may not be in order.
2001-06-10 02:31:25 +00:00
briggs
a2b115fa4c Up the default # of NMBCLUSTERS to 2048 (GATEWAY) & 1024 (non-GATEWAY)
from 512/256.
2001-06-10 02:28:57 +00:00
briggs
acf06d2e27 If the adapter is returning a selection timeout, then we should be
returning XS_SELTIMEOUT, not XS_TIMEOUT.  Pointed out by Andrew Doran.
2001-06-09 18:08:20 +00:00
chs
7408b77903 include ioctl_compat.h for LKMs. 2001-06-09 17:28:32 +00:00
briggs
8c948a0386 Patches from takashi.yamamoto@bigfoot.com in kern/13139.
- Set XS_TIMEOUT on a selection timeout condition.
- Do not bother to call AscStartChip() in AscResetChipAndScsiBus()--
  just clear the chip status.
- Make sure address is word-aligned in AscWriteLramByte().

Tested on my adv (AdvanSys ABP-9xxUA) with CRW8424S and UMAX SuperVista S-12.
Earlier versions of the system would get stuck trying to recover from error
conditions when the CD-RW drive was in heavy use.  I have not seen that
behavior with these small patches.
2001-06-09 17:18:21 +00:00
bjh21
810a0b00f4 dtide is MI now. 2001-06-09 13:51:49 +00:00
tsutsui
14f1650c62 Remove unused members from SCSI command block structure. 2001-06-09 13:43:02 +00:00
tsutsui
9cd36c6539 Fix an uninitialized variable in #ifdef DIAGNOSTIC.
Pointed out by soda.
2001-06-09 12:59:50 +00:00
bjh21
ce17af0c82 Very crude changes to ensure we never call malloc passing M_WAITOK from
pmap_enter.  Instead, we panic if allocation fails.  This is bad, and should
be reworked.
2001-06-09 12:22:11 +00:00
wiz
09b77243bc Some more corrections by Michael K. Sanders. 2001-06-09 11:02:08 +00:00
chris
b0a79f686c Typo police: 28285 -> 21285
Also garbage collect the old kernel VM map defines for footbridge.
2001-06-09 10:44:10 +00:00
chris
4c30449347 Remove the old kernel config files for cats, also remove isa_cats_machdep, as
it now lives in cats/isa/isa_machdep.c
2001-06-09 10:35:55 +00:00
chris
af8ce95972 Move the footbridge dir out of arm32 into arm. 2001-06-09 10:29:11 +00:00
matt
3cad96a936 Move towards common Makefile.arm
Add a netwinder/autoconf.c
2001-06-09 05:38:23 +00:00
matt
e27941e917 Eliminate some unavailable devices on netwinder. 2001-06-09 05:36:28 +00:00
bjh21
bfddba9825 Separate podule and netslot cases in poduleread() into separate functions,
with the correct one referenced by a pointer in the podule structure.  This is
in aid of eventually making the netslot and podulebus code a little more
separate from one another.
2001-06-08 22:38:07 +00:00
bjh21
e609865bbc Correct reference to dtide.c, and don't bother with the "channel" locator to
dtide, since ata provides that anyway.
2001-06-08 22:33:59 +00:00
chris
9e26feedf2 Finish off the cats arch dir by creating an include dir and populating it from
arm32/include.
Make use of std.cats in the kernel config.

Fixup files.cats so it actually works.
2001-06-08 22:22:59 +00:00
bjh21
ca2047f7c6 Adapt the dtide driver to the MI podulebus framework, and move it to its new
home.  It still doesn't actually work, but that's a SMOP.
2001-06-08 20:13:24 +00:00
bjh21
837afd713e Regen 2001-06-08 20:09:07 +00:00
bjh21
e918a481e5 Move D.T. Software to their rightful place in the list, and correct the product
ID for their IDE interface.  I've no idea where 0x00ae came from.
2001-06-08 20:08:35 +00:00
fredette
cca6e28421 Added comments and fixed some macros now that I correctly
understand how to address the sun2 VME bus in the VM hardware.
2001-06-08 18:00:51 +00:00
mrg
1375a0c31e don't run SMP flush routines if (cold); be sure cpus[n] is valid. 2001-06-08 16:25:04 +00:00
mrg
72c1d9df6d more SMP work: finish up ipi's, SMP DDB support, cpu startup issues, and
idle() u area issues:

in nmi_sun4m(), if this is a soft NMI and DDB is configured, setup a trapframe
and pass it to nmi_soft().  in cpu_hatch(), spin until our cpu's flags no longer
have CPUFLG_STARTUP set.  then, setup registers and jump to
idle_enter_no_schedlock.  in idle(), if MULTIPROCESSOR, always switch to this
cpus idle u.  a minor optimisation to cpu_switch().
2001-06-08 16:15:23 +00:00
mrg
5849352bfc _KERNEL_OPT is your friend. 2001-06-08 15:43:34 +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
mrg
7a84fc0483 use real \n's copyright[]; avoids gcc 3.0-prerelease warnings. 2001-06-08 12:53:30 +00:00
mrg
054673b07c #endif /* takes no argument */ 2001-06-08 12:51:17 +00:00
mrg
0b7f4cf1ba avoid trigraphs 2001-06-08 12:50:11 +00:00
mrg
aa2443e7c8 if DDB, when pausing, save a copy of this cpus registers while paused. 2001-06-08 09:51:40 +00:00
mrg
67fc8c19be if MULTIPROCESSOR, make the registers virtual, so that we can access other
processors registers.  rework enter/exit ddb code to look more like the i386
code.  make "mach cpu" and "mach cpu N" work.
2001-06-08 09:49:28 +00:00
mrg
7666800896 need a per-cpu ddb_regs pointer. 2001-06-08 09:45:50 +00:00
mrg
1ae283fcdd use raise_ipi_wait_and_unlock(). 2001-06-08 09:40:31 +00:00
hannken
a343eba6d6 Close coment of CVS tag. 2001-06-08 09:24:28 +00:00
enami
578730c551 Initialize sc->sc_anegticks to 5 on attach to prevent panic due to
assertion failure.
2001-06-08 07:09:40 +00:00
matt
e3b20fd18d options PROG32 for now. 2001-06-08 06:16:09 +00:00
matt
85656841a3 Change _ARM32* to _NETWINDER* Include <machine/psl.h> to get psl
definitions.
2001-06-08 06:14:25 +00:00
matt
1f4156858b add an include subdir rule in the Makefile to make netwinder use the
"new" include file structure to be used on arm ports.
2001-06-08 06:13:02 +00:00
matt
7c77092fcf Change options<tab> to options<space> 2001-06-08 06:10:40 +00:00
chs
68e8e6ff9c make this compile again. 2001-06-08 05:43:00 +00:00
mrg
7bb4cfc2db split {sunos,svr4}_sigcode out for LKMs 2001-06-08 04:49:45 +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
mrg
9a3de71872 add CPUINFO_FLAGS 2001-06-08 04:21:41 +00:00
uwe
9634e929d1 Oops, missed in the previous commit: bump PIL_SER to 13 as well.
It seems to be unused...
2001-06-08 01:33:32 +00:00
matt
d2f0c68d47 Make macppc compile by default with -Wall -Wmissing-prototype in addition
to its currently enabled warnings.  For the lack of a better place, most
global function prototype wound up in <machine/autoconf.h> unless there
was a better place for them.  ofb_* structs renamed to offb_* to avoid
conflict with ofb_softc in <dev/ofw/openfirm.h>
2001-06-08 00:32:01 +00:00
matt
f6d422beb8 Fix warning about braces & if. Include libkern.h for strncpy prototype 2001-06-08 00:21:45 +00:00
matt
ef047f21f8 Add multiple inclusion protection. Define prototypes for openfirm
routines used in cdevsw.
2001-06-08 00:19:17 +00:00
itojun
7f6ce64273 inject outgoing packet to bpf. KAME PR 358. 2001-06-08 00:17:05 +00:00
matt
75a27eccff Rename pte_spill to pmap_pte_spill. Fix pmap_clear_{referenced,modify}
to return the previous state of the bit.  Make it compile under
-Wmissing-prototypes -Wall.  Change around some debug stuff.
2001-06-08 00:16:24 +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
chris
4e6f32c9d7 Fix the broken stray irq handling for footbridge, this needs to be
propegated to other arm32 irq handlers, until there's a common core part
for doing irq handling.

Untested as I've no cards that generate stray irq's.
2001-06-07 21:47:36 +00:00
chris
75d8b9d463 Checkin fix to ARM7TDMI support. As per patch from John Fremlin to
port-arm32.
2001-06-07 21:07:22 +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
mrg
d3b1cc167d more SMP work:
make IPI's work.  modify boot_secondary_processors() to clear the startup flag
in each cpu.  new raise_ipi_wait_and_unlock() that calls raise_ipi(), waits
for the cpu to acknowledge it got the message, and then unlocks the msglock.
use the new framework in mp_{pause,resume}_cpus().  nmi_soft() takes a
`struct trapframe *', to be used by ddb.
2001-06-07 17:59:47 +00:00
mrg
ba991d978b move ev_out32() here. 2001-06-07 17:54:35 +00:00
mrg
59024512bd LKM friendly: move ev_out32() to netbsd32 specific code; add an ev_out32 hook. 2001-06-07 17:52:52 +00:00
mrg
51b7188429 make lkm friendly. 2001-06-07 17:49:51 +00:00
briggs
5d512c674c GENERIC + memory disk hooks. 2001-06-07 17:08:13 +00:00
briggs
af0929e6ce Enable a few more devices (adw, dpt, siop, sip, sd). Do not compile DEBUG. 2001-06-07 17:05:11 +00:00
briggs
7a3a78cfa3 Compile on sandpoint. 2001-06-07 16:48:09 +00:00
mrg
6246dceb77 print p_pid & p_comm for alignment errors. 2001-06-07 15:31:16 +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
bouyer
df4739c8cb Set TI_OPMODE_1_DMA_ACTIVE only if hardware assisted checksum isn't used
(FreeBSD does it this way). My Tigon II works with hardware assisted checksum
now.
2001-06-07 14:35:58 +00:00
wiz
e265f98875 Typos and grammer fixes in comments (misc/13133 by Michael K. Sanders) 2001-06-07 13:44:46 +00:00
wiz
fa87a2091d Typos in comments (misc/13133 by Michael K. Sanders) 2001-06-07 13:32:46 +00:00
mrg
6b94f57396 make ifioctl() compat lkm friendly. 2001-06-07 13:26:48 +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
enami
85fb541842 Fix typo; print sc->aue_intr_errs instead of sc->aue_rx_errs when
reporting interrupt errors.
2001-06-07 10:55:15 +00:00
leo
3aa99cbeac We really need a wsdisplay on the Milan. 2001-06-07 08:41:11 +00:00
leo
e371e8a5ae Try to search for an isa bus during console configuration too... Otherwise,
we miss the console keyboard on the Milan.
2001-06-07 08:35:29 +00:00
leo
3700ec551e The newly generated config files. 2001-06-07 08:01:19 +00:00
leo
d355dc319f Oops, we don't want 'MILAN' anymore.... 2001-06-07 08:00:24 +00:00
leo
3bc0965e01 Everything you always wanted to know about Atari,Milan,IDE and byteswaps...
The Milan configuration is split up in 2 parts:
   - MILAN_ISAIDE
   	Supports the traditionally formatted IDE disks on the Milan
   - MILAN_PCIIDE
   	Supports the byte swapped formatted IDE disks on the Milan

If you want to read more, checkout the comment in MILAN.in...
2001-06-07 07:56:57 +00:00
leo
92a2e67c31 Remove the atari specific incarnation of wdc_isa.c. We don't need it (in
fact it didn't work that well either), all could be done by simply adding the
NOSTREAM options to the flags of the generic ISA frontend.
There was probably to much byteswapping in my brain when I invented this.
2001-06-07 07:23:02 +00:00
leo
72510eee6d Make the WDC_{ATA|ATAPI}_NOSTREAM flags settable through configuration
options. Needed on the Atari Milan.
2001-06-07 06:33:48 +00:00
chs
762bab2606 implement pmap_clear_modify() correctly. 2001-06-07 05:29:13 +00:00
thorpej
ff5871412e Correct the receive mode mask in the RXCMD register. 2001-06-07 05:19:26 +00:00
lukem
178aeb74a0 work around lint issue (inspired by similar work in sparc port) 2001-06-07 04:44:05 +00:00
lukem
5429ee5e02 add iha(4); it works in my pc164 after thorpej fixed a minor issue 2001-06-07 03:51:53 +00:00
thorpej
025decbccb Don't clear a callout on a scsipi_xfer that has been scsipi_done()'d. 2001-06-07 03:44:00 +00:00
toshii
d69d2974a4 Sprinkle some volatile keywords around inline asm so that the optimizer
doesn't reorder critical section codes.
2001-06-07 02:38:59 +00:00
thorpej
d9b3317e3e Rework fdalloc() even further: split fdalloc() into fdalloc() and
fdexpand().  The former will return ENOSPC if there is not space
in the current filedesc table.  The latter performs the expansion
of the filedesc table.  This means that fdalloc() won't ever block,
and it gives callers an opportunity to clean up before the
potentially-blocking fdexpand() call.

Update all fdalloc() callers to deal with the need-to-fdexpand() case.

Rewrite unp_externalize() to use fdalloc() and fdexpand() in a
safe way, using an algorithm suggested by Bill Sommerfeld:
- Use a temporary array of integers to hold the new filedesc table
  indexes.  This allows us to repeat the loop if necessary.
- Loop through the array of file *'s, assigning them to filedesc table
  slots.  If fdalloc() indicates expansion is necessary, undo the
  assignments we've done so far, expand, and retry the whole process.
- Once all file *'s have been assigned to slots, update the f_msgcount
  and unp_rights counters.
- Right before we return, copy the temporary integer array to the message
  buffer, and trim the length as before.
Note that once locking is added to the filedesc array, this entire
operation will be `atomic', in that the lock will be held while
file *'s are assigned to embryonic table slots, thus preventing anything
else from using them.
2001-06-07 01:29:16 +00:00
lukem
7edbb27e74 delint lvalue cast abuse 2001-06-07 01:04:40 +00:00
soren
26603afde8 Update URL to documentation PDF. 2001-06-06 22:11:42 +00:00
rafal
8f6b092685 Jason's last fix broke builds with POOL_DIAGNOSTIC (the kernel didn't link
as pool_get was never defined).  Fix that.
2001-06-06 22:00:17 +00:00
mrg
f88f49f432 add an extern for the coredump32 hook. 2001-06-06 21:46:59 +00:00