Commit Graph

26017 Commits

Author SHA1 Message Date
thorpej f6ea7521d7 Put the sigstate and sigframe definitions in signal.h, protected by
__M68K_SIGNAL_PRIVATE.
1998-09-30 21:04:48 +00:00
matthias 777ffc95a2 Fix a small type in sendsig.
Fix some esym typeclash lossage.
1998-09-30 20:20:03 +00:00
matthias 5267ada16a use __sigreturn14 in sigcode. 1998-09-30 20:17:29 +00:00
matthias d067796204 config doesn't like c-style comments. 1998-09-30 20:16:17 +00:00
pk f382e91b5e Add a field to identify the processor that has a process' FPU context. 1998-09-30 18:40:58 +00:00
ragge 6530a14556 Typo. 1998-09-30 18:40:04 +00:00
pk 4826aac9cf Make the current FPU owner (`fpproc') a per-CPU entity. Unresolved issue
as yet: lazy FPU context switching may require co-operation from other
CPUs.
1998-09-30 18:38:57 +00:00
erh 847d4565e9 Initial support for linux compat on the alpha. Not quite working. 1998-09-30 18:01:53 +00:00
mrg fdc5499c5f back out previous. 1998-09-30 15:44:10 +00:00
ragge c0b9fc5616 Make kernel compile after recent signal changes. 1998-09-30 14:09:59 +00:00
tv 8219f068e2 Declare silent success on madvise(). As an advisory call, it is harmless
to pretend success even though it's not supported, and some emulations
rely on its success.
1998-09-30 12:07:51 +00:00
bouyer 5440442505 Not time to #include <machine/bswap.h>m, it will come with the move
of bswap*() from libutil to libc.  Sorry !
1998-09-30 09:08:16 +00:00
jonathan fcf7a78c02 Workaropund fix for PR #5239 from <minoura@kw.netlaputa.ne.jp>:
stop  null_node_create() from locking the nullfs mountpoint  multiple
  times. Avoids a guaranteed, repeatably "locking against myself" panic
  during mount of a nullfs filesystem.  nullfs filesystems are still as
  buggy as ever (e.g., see PR# 4907) but this you at least mount them.
1998-09-30 06:50:10 +00:00
hwr eaccb9cd8d Start supporting IPPROTO_MOBILE (55) encapsulation. This is yet
another tunneling protocol used by the Mobile-IP people. See RFC 2004
for this.
1998-09-30 05:59:27 +00:00
thorpej 21adfe5c18 Oops, brain'o. 1998-09-29 23:45:25 +00:00
matt cf95587273 Sync with GENERIC. 1998-09-29 23:18:57 +00:00
matt 6e32aa4af4 Invert the RXCOPY test. Note that most new platforms will not
have relaxed alignment so the de driver should just work on them.
1998-09-29 22:40:52 +00:00
thorpej 16b0d8f1e4 Disable the code that halts secondary processors in cpu_reboot(). Halting
the secondary works, but not when called from here?!  XXX!
1998-09-29 21:59:33 +00:00
thorpej d46253f21c Implement vsprintf(). 1998-09-29 21:03:02 +00:00
thorpej ce57c93ef5 some temporary debugging printfs in the IPI code. 1998-09-29 19:40:33 +00:00
drochner fb345194ad document CLOCK_COMPAT_OSF1 1998-09-29 18:25:54 +00:00
drochner 70d1e71ea0 Allow to use the RTC chip in a way compatible to OSF/1: use an offset
of 52 years between RTC and UNIX time.
This is controlled by "option CLOCK_COMPAT_OSF1".
1998-09-29 18:23:55 +00:00
pk 25e37f3b97 In addition to the spinlock, use the lockmgr() to serialize access to
the back-end page allocator. This allows the back-end to sleep since we
now relinquish the spin lock after acquiring the long-term lock.
1998-09-29 18:09:29 +00:00
drochner 88b626a585 make compile w/o MULTIPROCESSOR 1998-09-29 15:55:47 +00:00
tv b8aba69399 Bracket stray printf()s by #ifdef DEBUG. 1998-09-29 14:15:49 +00:00
bouyer ecb13d449a LKM for ext2fs ... better late than never :) 1998-09-29 10:26:58 +00:00
bouyer b10470bc11 #include opt_uvm.h only if _KENREL and !_LKM
Make ext2fs_init() call ufs_init(). it was doing the init by itself,
testing for extern done != 0. This bug was hidden by the fact that
ext2fs_init() is called before ffs_init().
1998-09-29 10:24:57 +00:00
thorpej 55df520938 Can't use -traditional; __RENAME() breaks due to a limitation in the
"traditional" C preprocessor.
1998-09-29 08:28:20 +00:00
thorpej 5a5380b92b This program is icky, and will die soon. So, don't put a whole lot of
effort into it, but make it build again by casting the second arg to signal().
1998-09-29 08:27:36 +00:00
thorpej 005af97f9e Use "print-objdir". 1998-09-29 08:16:11 +00:00
thorpej ac0d359bcb Initialize the CPU ID in the simplelock. 1998-09-29 07:29:53 +00:00
thorpej cf06751120 - Add a CPU identifier to the simplelock if LOCKDEBUG.
- Arrange for <machine/lock.h> to provide LOCKDEBUG functionality if
  LOCKDEBUG && MULTIPROCESSOR.
1998-09-29 07:29:15 +00:00
thorpej 69d81d8df1 Prototype cpu_halt_secondary(). 1998-09-29 07:07:36 +00:00
thorpej 30e4de5632 In cpu_reboot(), halt the secondary CPUs. 1998-09-29 07:07:09 +00:00
thorpej 1b8e855f2a First try at a HALT interprocessor interrupt handler. 1998-09-29 07:06:02 +00:00
thorpej 94b97dce9b CPUF_HATCHED is dead, replaced by cpus_running bitmask. 1998-09-29 07:05:30 +00:00
thorpej 99698d1a1a - Use a bitmask for "running CPUs", rather than a flag in the softc.
- Add a function to halt a secondary CPU.
- Enable interrupts on secondary CPUs once they've hatched.
1998-09-29 07:04:58 +00:00
thorpej 469f020ae3 Don't process CLOCK or DEVICE interrupts if we're not the primary CPU. 1998-09-29 07:02:04 +00:00
thorpej 30ec5015b1 In exception_return(), if MULTIPROCESSOR, skip software interrupts, ASTs,
and floating point handling if we're not the primary CPU.
1998-09-29 07:01:16 +00:00
thorpej 392a96cc91 Define the offset of hwrpb->rpb_primary_cpu_id. 1998-09-29 06:22:09 +00:00
scottr ce9e4beacf Simplify the asm constraints in mrg_aline_super(), in order to
less thoroughly confuse the compiler when used without -O.  Fixes
PR 5496.
1998-09-29 05:24:08 +00:00
thorpej 183f609c83 - Do not set TLCPUMASK on non-I/O nodes. That register exists only on
I/O nodes.  Previous code erroneously set it on CPU nodes only.
- In both the single- and multi-processor case, route all interrupts from
  I/O nodes to the primary CPU, for now.
1998-09-29 04:22:36 +00:00
jeremy 3712546023 Changed to allow the mouse baud rate to be set at kernel compile time.
Inspired by Mochida Shuji <mocid@yo.rim.or.jp>.
1998-09-29 02:46:36 +00:00
thorpej 73aefe65bc If MULTIPROCESSOR, add a spin lock around the kernel printf (in the
appropriate places).  This makes debugging messages work a LOT better
on my multiprocessor Alpha.
1998-09-29 01:49:43 +00:00
erh 3c2e2c8622 This should need opt_execfmt.h. 1998-09-28 23:42:48 +00:00
thorpej 4c2e179b93 PROM doens't need to be mapped to start up the secondaries, so remove some
dead code.
1998-09-28 22:21:13 +00:00
thorpej 9bd45385a9 Turn off some debugging printfs, and kludge around a boot block bug until
I can install fixed boot blocks on my MP test systems.
1998-09-28 21:50:32 +00:00
thorpej 705cac105e Invalidate the TB and I-stream upon entry, and fix a typo in the wrkgp call. 1998-09-28 21:48:50 +00:00
thorpej 34a8ac8484 Set the primary CPU's PAL revision to the OSF/1 PAL revision after switching
to it, per the Green Book (pointed out by Chris Demetriou).
1998-09-28 21:21:55 +00:00
drochner 864b7d54c6 Use the "atime" instead of "mtime" of the remote root directory as
base for inittodr() - it is closer to the current time.
1998-09-28 21:20:52 +00:00
thorpej 5caecb6ae0 Fix for some EGCS warnings. 1998-09-28 21:18:55 +00:00
matt bf8783afa4 Fix the receive length so it includes the extra bytes in the fddi_header. 1998-09-28 20:37:12 +00:00
matt 43b462df88 Insert the FDDI control bytes in pdq_ifstart before we load the dmamap
and dmasync the data.  Fix pdq_os_receive_pdu to use PDQ_OS_HDR_OFFSET
instead of PDQ_RX_FC_OFFSET.
1998-09-28 18:01:43 +00:00
rvb 976280c933 I want to distinguish from DEBUG printouts and CODA_VERBOSE printouts.
The latter are normal informational messages that are sometimes
interesting to view.
1998-09-28 17:55:21 +00:00
matt a1528c368d Fix transmit handling (this also should speed up transmits
slightly).
1998-09-28 17:13:54 +00:00
christos e74ca32804 SIOCGIFALIAS should not be restricted to the superuser. 1998-09-28 12:32:43 +00:00
sakamoto fd24065cb5 pcvt is no longer used with bebox. 1998-09-28 09:49:49 +00:00
sakamoto 4a04e5038e pcvt is no longer used with bebox. 1998-09-28 09:33:12 +00:00
leo e30046b37d This was a copy of an very old editing error in the amiga pmap.c....
(Ignatios Souvatzis)
1998-09-28 07:51:23 +00:00
drochner 980b2b416f fix PMAP_ACTIVATE_ASN_SANITY() arguments 1998-09-27 17:23:25 +00:00
christos b12bfa760e Make this compile again with no audio but with midi devices. 1998-09-27 16:43:56 +00:00
pk 8c29324cc7 Kernel configuration with multi-processor support. 1998-09-27 15:10:25 +00:00
scottr a965fe73b1 Add support for the TFL LAN Inc. E410/E420 PDS cards. Based on code
from Ken Nakata in PR 6199, which was in turn derived from code from
Haru Maruyama <h-maru @ da2.so-net.ne.jp>.
1998-09-27 14:39:11 +00:00
pk 0a090af2c7 Add `ldstub()'. 1998-09-27 14:32:14 +00:00
pk e6ce8bcfc7 sparc spin lock functions. 1998-09-27 14:31:18 +00:00
mycroft b7f86e40fa The smallest positive normalized number in extended precision is 2^-16383.
Underflow handling is different from i387.
1998-09-27 04:54:49 +00:00
drochner 463301afbf Use common date conversion functions - not runtime efficient, but
brain-efficient...
1998-09-26 21:02:56 +00:00
drochner 1826b0bca2 Use the RTC chip as time-of-year clock, as the PROM console and Ultrix do. 1998-09-26 20:59:42 +00:00
pk 0a1a6fb7e0 This file is no longer used 1998-09-26 20:51:45 +00:00
pk 166c2a5fa5 fix typo 1998-09-26 20:15:59 +00:00
christos a7025d886a revert the uniproc lines to the old noop defines. changes broke compiling
on !MULTIPROC && !LOCKDEBUG compiles.
1998-09-26 20:14:53 +00:00
pk 9f352b7e15 Stop all other CPUs upon entering a debugger. 1998-09-26 20:14:48 +00:00
pk 01e64c640c Implement mp_pause_cpus() and mp_resume_cpus(): pause and resume all
CPUs except the one running this code.
1998-09-26 20:13:56 +00:00
pk 6ad3a051e8 mp_{pause,resume,halt}_cpu() prototypes. 1998-09-26 20:12:06 +00:00
dante b2a68e14db Change sources to be KNF 1998-09-26 19:53:34 +00:00
is 6eb98a7967 4/NPTEPG is 0. This is a very old editing error. 1998-09-26 19:26:58 +00:00
christos 029ab07a4d delint 1998-09-26 19:21:19 +00:00
pk 8ddcd514a6 Use CPU start function in obp.c 1998-09-26 19:09:56 +00:00
pk fe1cf94b9f Add wrappers for PROM's CPU start/stop functions. 1998-09-26 19:08:09 +00:00
pk a89a10c394 Add file obp.c 1998-09-26 19:06:47 +00:00
pk 43c1cb852c Move PROM interface prototypes into openprom.h
Use the `openprom_addr' structure for passing around physical addresses.
1998-09-26 18:20:19 +00:00
pk 09a4cf6caa Move PROM interface routines into their own file. 1998-09-26 18:15:34 +00:00
dante d208510692 Add support for AdvanSys Ultra Wide boards 1998-09-26 16:38:43 +00:00
drochner bdecb86492 regen 1998-09-26 16:29:13 +00:00
dante 35cb63009b Add AdvanSys ULTRA WIDE SCSI controllers 1998-09-26 16:28:16 +00:00
drochner eb9936b47a Make Ultrix emulation private functions for sigreturn and sigsuspend
because the NetBSD implementation differs now.
1998-09-26 16:24:14 +00:00
dante 2cf169c563 Add AdvanSys ULTRA WIDE SCSI controllers 1998-09-26 16:20:31 +00:00
dante b207a7d09d Change product ADVSYS 2300 to ADVSYS WIDE 1998-09-26 16:16:23 +00:00
dante da0a3e615e Add support for AdvanSys Ultra Wide boards ABP-9xxUW 1998-09-26 16:09:32 +00:00
dante c6ccd1d83f Remove Wide boards references
Adjust copyright

At this time this driver support the following AdvanSys boards:
- ABP-9xx
- ABP-9xxU
- ABP-9xxUA
1998-09-26 16:02:56 +00:00
dante 4372d4402e Remove Wide boards references
Update supported boards list
1998-09-26 15:52:55 +00:00
drochner 61af1b2158 Update for sigmask changes. 1998-09-26 15:32:26 +00:00
tv fb9b823132 DIAGNOSTIC -> DEBUG for all non-panic messages. DIAGNOSTIC is only for
sanity checks and should not turn on any messages not already printed
without it.
1998-09-26 15:24:46 +00:00
drochner 87fab23d68 make it compile with DEBUG 1998-09-26 10:07:36 +00:00
pk 1338a7e982 hwreset(): delay required after diddling the medium selection bit. 1998-09-26 08:31:20 +00:00
nisimura b356238b16 Add one more new MIPS processor PRid 0x30 for IDT RC64474/64475. These
are successors of RC4640/RC4650, but fully brewed MIPS, then capable of
running NetBSD/mips.
1998-09-26 08:16:38 +00:00
mark 7af1966350 Regenerate from podules. 1998-09-26 03:30:50 +00:00
nisimura 3da75bb55d Update the list of MIPS processor revision ID. PRids of Toshiba TX3900
and QED R4650 comflict each other.
1998-09-26 03:29:37 +00:00
mark a96d8e733a Add EESOX manufacturer ID and SCSI2 podule ID. 1998-09-26 03:29:36 +00:00
thorpej 2c50ec242f Add basic interprocessor interrupt sending and receiving code. Current
IPI functions: HALT, IMB, TBIA, TBIAP.

XXX HALT is not yet implemented, it's just a stub.
1998-09-26 00:03:51 +00:00
thorpej 78d445810b Add an interprocessor interrupt bitmask to the cpu_softc, and publicize
the cpus[] array.
1998-09-26 00:01:17 +00:00
thorpej 1f4921edce - Oops, forgot to initalize the cpu_softc simplelock.
- Add yet another debugging printf.
1998-09-26 00:00:33 +00:00
thorpej e2aa38459c Implement atomic quadword load-and-latch. 1998-09-25 23:59:42 +00:00
matt f0071e56cf Fix spl problem in socreate (which lead to the corruption of the
socket pool).
1998-09-25 23:32:27 +00:00
thorpej 01c75223d7 Minor style tweaks. 1998-09-25 22:06:33 +00:00
is 9d52889ce7 correct obvious typo 1998-09-25 21:50:38 +00:00
matt 1131320f18 Fix transmit underflow messages. (\0128 != \0 128) 1998-09-25 18:06:53 +00:00
rvb 5b1d1ef004 Coda lkm 1998-09-25 15:01:56 +00:00
rvb c559082b97 Conditionalize "stray" printouts under DIAGNOSTIC and DEBUG.
Make files compile if DEBUG is on (from  Alan Barrett).  Finally,
make coda an lkm.
1998-09-25 15:01:12 +00:00
pk ed652e2a09 Fix a silly yank-o. 1998-09-25 14:19:20 +00:00
pk eb8de83739 `eccmemctl' inadvertently got into the `mandatory' list. 1998-09-25 11:40:16 +00:00
erh 3affe03bf4 Alpha Linux compat tweak for getpid, getuid and getgid. 1998-09-25 06:04:48 +00:00
thorpej d3ce2be01c Don't bother printing the message from the secondary console. All it is
is basically the acknowledgement of the START command.  Print the idle
USPACE address for now.  Use the alias "apcb_backup_ksp" when setting the
backup kernel stack pointer in the secondary's boot HWPCB.
1998-09-25 03:23:50 +00:00
thorpej 57e656b2ec The processor unique value in the PCB is used as a backup kernel stack
pointer when booting secondary CPUs.  Add an alias for it.
1998-09-25 03:21:31 +00:00
thorpej 3ea9247ac8 GENERIC config file + MULTIPROCESSOR + some debugging stuff. 1998-09-25 00:46:09 +00:00
thorpej fcb0203141 First-cut at code to spin up secondary processors on a multiprocessor
Alpha system, conditional on MULTIPROCESSOR.

NOTE: This does not yet work completely.  The secondary CPU begins the
boot process, but never makes it into the cpu spinup trampoline.  This
is merely a snapshot of a work-in-progress.
1998-09-24 23:28:17 +00:00
thorpej feb1d22dcc NCPU > 1 -> MULTIPROCESSOR 1998-09-24 23:00:43 +00:00
thorpej 3cde5f5817 Machine-dependent spin lock operations for Alpha, included if MULTIPROCESSOR
is specified.
1998-09-24 22:32:35 +00:00
thorpej 0c11d72456 Key off MULTIPROCESSOR, not NCPUS > 1. Pull in <machine/lock.h> if
MULTIPROCESSOR is defined, and rely on it to define the simple lock
operations.
1998-09-24 22:30:11 +00:00
thorpej 91a031471d Implement atomic test-and-set for longwords (32-bit). 1998-09-24 22:22:07 +00:00
thorpej 1b04ff4897 Make prom_enter() and prom_leave() public. 1998-09-24 21:18:13 +00:00
thorpej ba6d13d876 Use the primary CPU ID on console_restart(), not hard-coded 0. 1998-09-24 21:12:43 +00:00
pk 27569e4050 Initialize pointer to the boot CPU's interrupt register. 1998-09-24 20:38:43 +00:00
pk 831354d6de Add `intreg' cpuinfo offset. 1998-09-24 20:37:17 +00:00
ross e43333b7e7 Move if_ade* from alpha/pci/ to alpha/a12/ 1998-09-24 05:36:05 +00:00
ross 09c3723e08 Put back ahc and bha scsi HBA driver configs. 1998-09-24 05:33:41 +00:00
ross 81ea242049 Fix include path, these days a12 header files are in alpha/a12. 1998-09-24 05:32:52 +00:00
ross ec4de2679b Track tfs -> ustarfs change. 1998-09-24 05:23:58 +00:00
ross f7ef9b367f tfs -> ustarfs 1998-09-24 05:23:33 +00:00
thorpej d4a11ca736 defopt MULTIPROCESSOR. 1998-09-24 03:55:15 +00:00
thorpej c69dbb3c28 Actually, yes we do know what the rpb_restart entry point is used for,
so delete some #if 0'd code.
1998-09-24 03:39:24 +00:00
thorpej 7521c309df When setting up the hwrpb for restarts, use the primary CPU ID from the
hwrpb.
1998-09-24 00:30:19 +00:00
thorpej 7df5ebc392 "Gee, there was already a function to do that." 1998-09-23 22:02:21 +00:00
thorpej 53d42701b5 Implement a function to recompute the HWRPB checksum. 1998-09-23 21:51:04 +00:00
veego c31e48b356 Reorder the ne2000devs entries. So all PCMCIA_VENDOR_INVALID and/or
PCMCIA_PRODUCT_INVALID entries comes first.
1998-09-23 21:22:41 +00:00
ross 86f044d10e Track changes elsewhere in the PCI interface. 1998-09-23 21:20:55 +00:00
ross 55714d5b34 Update for vm_offset_t, vaddr_t sweep. 1998-09-23 21:17:17 +00:00
ross ddde99135e A12 crossbar switch driver. 1998-09-23 21:14:58 +00:00
ross 73fdd29a64 A12 detached console tty driver and NetBSD console interface. 1998-09-23 21:14:02 +00:00
pk 58ab38cb69 Use per-CPU interrupt status register. 1998-09-23 11:07:28 +00:00
pk 9eca565a37 Make cgsix_sbus & cgsix_obio dependent on their respective attribute.s 1998-09-23 08:49:46 +00:00
pk 6da4cd8aac Make dma_sbus.c dependent on dma_sbus attribute. 1998-09-23 08:48:25 +00:00
pk d6746389a4 The nmi_* routines are sun4m-only. 1998-09-23 08:44:51 +00:00
mark 0c812cb0bc Regenerate from pcidevs. 1998-09-22 23:00:44 +00:00
mark de8340f7fd Add ALI M1531 Host-PCI bridge.
Add Cirrus Logic CS4610 and CS4280 Audio chips.
Add Cirrus Logic CS4400 communications controller.
1998-09-22 22:59:02 +00:00
ross aeccd73ce4 Remove memset() prototype. 1998-09-22 20:29:03 +00:00
thorpej d720002637 Fix a typo in RCS keyword. 1998-09-22 16:23:20 +00:00
scottr 7c4c19c768 First pass KNF. This probably needs more work. 1998-09-22 16:01:51 +00:00
pk aa1cf01930 Express per-processor interrupt registers in a C structure as well. 1998-09-22 13:42:26 +00:00
pk bd37118769 Dup header. 1998-09-22 13:41:03 +00:00
pk eca50c1c33 Flush cache after diddling with trap vectors. 1998-09-22 13:40:08 +00:00
pk 1186ba5102 Introduce a `flush entire cache' method. 1998-09-22 13:39:19 +00:00
pk 5afb0e8bcb Keep the per-processor interrupt status in the cpuinfo structure.
For now, map them to the fixed virtual addresses set up early in autoconf.c
1998-09-22 13:08:44 +00:00
thorpej 5fa16c668b Define the inter-console communication buffer portion of the per-cpu
info structure.
1998-09-22 08:16:51 +00:00
ross ec49dd71dd Change 41 separate printf()'s into a table and 2 printf()'s. 1998-09-22 06:24:26 +00:00
thorpej 6871d2529f Add missing mb ops. 1998-09-22 06:10:53 +00:00
thorpej 402a9210a2 Implement quadword atomic test-and-set. 1998-09-22 05:56:52 +00:00
chs c945760779 sign-extend some operand types which need it. 1998-09-22 05:40:14 +00:00
ross 5b01d45ac4 Add a `-b #' option and logic for locating the secondary boot image via
an absolute block address. It's cheating, as the motivation is support for
the libsa ustar tfs `filesystem' and the solution symmetrical to ufs and
cd9660 would have been to teach installboot about tfs. However, it still
would have been different as you can't mount a tfs with the kernel, and
this option gets possibly useful support for any contiguous format, even
completely raw boot images.
1998-09-22 05:03:36 +00:00
matt d3e02fc461 Fix the accton support. Only set the board type it isn't an ISV. 1998-09-22 04:23:18 +00:00
thorpej e10cc7910d Add some support for multiple processors to the pmap module. Still left
to do: TLB shootdown code, but that will be much easier to write once
the code to spin up the additional CPUs is working.
1998-09-22 03:58:10 +00:00
mark bc3dce964b Declare the coda character device functions here. 1998-09-22 03:42:10 +00:00
mark 2a4d75715c cfs/CFS -> coda/CODA in strings.
Move the cdev declaration for the code filesystem to conf.h
1998-09-22 03:40:42 +00:00
thorpej c0dd0b8353 Make sure the size is large enough to hold a pool_item. 1998-09-22 03:01:29 +00:00
eeh 1cc6223a9c More fixup in the signal area.
64-bit syscall cleanup.

Add emulation for some new FPU insns: conversion to 64-bit long int and
conditional moves.
1998-09-22 02:48:42 +00:00
mark 5a0ae6393f Make isa_bs_subregion() work. 1998-09-22 01:47:53 +00:00
mark f26ab10148 Spring clean this file.
Include dev/isa/files.isa and remove all the mess that is now included
in files.isa
1998-09-22 01:45:47 +00:00
mark 9bdaa48cd5 Hey, lets try using arm32/isa/joyvar.h instead of the bebox one ;-) 1998-09-22 01:42:21 +00:00
mark 03d5fdff96 Fix slightly liberal use of #ifdef DEBUG in last commit.
If we get a data abort in SVC mode it is BAD and we cannot recover
so we always want to panic.
1998-09-22 01:40:28 +00:00
mycroft 2ebc36c0fd Slight edit to previous. 1998-09-22 01:16:48 +00:00
mark 6ce4eb9769 We now use the MI wdc/wd drivers so this code is no longer needed. 1998-09-22 00:44:20 +00:00
mark 4f7b1f2739 Removed icside_io.c 1998-09-22 00:43:18 +00:00
mark a77e995d18 This file is no longer needed with the rewritten attachment to use the
MI wdc driver.
1998-09-22 00:42:40 +00:00
ross 5fb9c16f05 While we are here in alpha/stand, bail out on ^C during boot. 1998-09-22 00:41:13 +00:00
mark 071b4fc4d2 Re-written the wdc attachments to attach to the MI wdc driver instead
of the MD one.
1998-09-22 00:40:37 +00:00
ross 10da0cf1c3 Add fs_ops to file_system[] for the ustar-format `tfs'. 1998-09-22 00:39:31 +00:00
mark 4494dc9cfc Removed MD wdc/wd files.
Include dev/ata/files.ata and using dev/ic/wdc.c for everything.
1998-09-22 00:37:51 +00:00
ross 141a463d8f Prototype memset(). 1998-09-22 00:37:08 +00:00
ross 05330db703 Make sure ctags(1) indexes oopen(). 1998-09-22 00:36:45 +00:00
ross 71ddd906d4 Add tfs.c to SRCS. 1998-09-22 00:36:01 +00:00
ross fb0dcdaee2 Add `tfs', a USTAR-format FS, featuring fast floppy loads, 5% better
space efficiency, and (the real reason) multiple-volume files.
1998-09-22 00:35:15 +00:00
mark aa9401f832 Fix calculation of I/O range when printing child information. 1998-09-22 00:33:51 +00:00
mark 7d6c07a559 Use the data32iot and data32ioh members of the wdc_attachment_data
structure for 32 bit transfers.
Test for 32 bit capability on data transfers currently restricted to 16 bit
only.
1998-09-22 00:27:51 +00:00
mark 962edcdc03 Add data32iot and data32ioh members to the wdc_attachment_data structure.
This bus space tag and handle is used for 32 bit data transfers i.e.
when WDC_CAPABILITY_DATA32 is enabled as the 32 bit data register may
not be part of the standard drive registers.
1998-09-22 00:21:16 +00:00
thorpej 2671c2fa42 Make bus_dmamap_load_uio() work, from Kevin Lahey <kml@nas.nasa.gov>. 1998-09-21 22:51:56 +00:00
pk 0b10e1ddab Parallel port support routines. 1998-09-21 21:26:51 +00:00
pk f9e261c5e4 LSI63854 based parallel port driver skeleton. 1998-09-21 21:20:47 +00:00
pk 709360e3ce Fill the `bpp' slot. 1998-09-21 21:13:51 +00:00
pk fa25d48556 Add `bpp' device: the parallel port glued onto the LSI64854 DMA controller. 1998-09-21 21:02:23 +00:00
augustss 5cc2c570d5 Add missing call to usbd_init(). 1998-09-21 20:47:25 +00:00
mark 3ad5f134c3 Regen. 1998-09-21 20:28:48 +00:00
mark e017934564 Add CS4235 joystick. 1998-09-21 20:25:52 +00:00
tsubai bd8b85cdd8 Correct battable[] usage. 1998-09-21 17:16:26 +00:00
ws c6b24f68f0 Set the tooffset after renaming even if in root directory. 1998-09-21 15:17:42 +00:00
mjacob 07bb8331e8 Roll back to 1.71 version- too many unexplainable problems with 1.72. 1998-09-21 14:53:58 +00:00
tv d909dcee1c Do not print, or even compile in, non-fatal diagnostics unless DEBUG is set. 1998-09-21 11:24:11 +00:00
pk 20f2898a0c Merge sun4 and sun4c version of memerr() again. 1998-09-21 10:32:00 +00:00
pk af19654e85 We no longer need to access memerr() through a function pointer.
GC `cpumod' and `mmumod'.
1998-09-21 10:30:41 +00:00
pk c3b26811ac We no longer need to access memerr() through a function pointer. 1998-09-21 10:29:20 +00:00
simonb c76f5adec3 Fix standards botch in previous - don't pollute POSIX namespace with
S_IF* defines.
1998-09-21 01:50:44 +00:00
matt ad921921e4 Add softserial to the alpha port. This significantly improved PPP
throughput on com ports.
1998-09-21 00:33:16 +00:00
dbj 392f960b14 Regenerated .h files to fix "generated from" CVS id. 1998-09-20 21:08:49 +00:00
pk ec34e18063 Don't map sbus `registers' on sun4c (i.e. sbus @ mainbus); it's almost
certainly not the control space we want..
1998-09-20 20:08:52 +00:00
pk 7a147080b8 Async arguments are no longer passed to the memory fault handler. 1998-09-20 20:01:15 +00:00
pk 4bf750b7df Add sun4m NMI handlers. 1998-09-20 20:00:09 +00:00
pk d0d9bb7669 Dedicate a pair of entry points to handling sun4m level 15 (NMI) interrupts.
Hardware NMIs are generated on various fault conditions that take place
asynchronously to the instruction stream. Software NMIs are going to be used
for inter-processor communications.

Get synchronous fault information separately from asynchronous fault
information. Do the former right after taking a memory fault trap and
store the values in temporary locations within the cpuinfo structure (XXX),
so we can unconditionally clear the sync fault status register after
MMU probe operations. This all is to work around a Hypersparc feature
which could lead to loss of fault information because of the fault
status register getting locked.
1998-09-20 19:54:48 +00:00
pk cd8dfa6798 Account for changes in struct cpuinfo & locore 1998-09-20 19:39:18 +00:00
pk 4128057c52 Split memory fault status function into `synchronous' and `asynchronous'
versions.
1998-09-20 19:37:50 +00:00
pk 2734182a74 Re-arrange the sun4m cases a bit.
Entry points no longer have async arguments.
1998-09-20 19:34:16 +00:00
pk c3e742adfb Format string for SI register. 1998-09-20 19:31:37 +00:00
pk b6da06d637 Name fault registers more like they're referred to in various docs. 1998-09-20 19:29:10 +00:00
dbj 1c578d0ad2 Added support for a Dayna Communicard E that probes with a
different product id (0x2f) than the one we had (0x2d)
1998-09-20 19:19:53 +00:00
scottr 9d640ee3ad Make this compile again, as pointed out by Paul Goyette. 1998-09-20 19:17:38 +00:00
thorpej 47ca861322 Nuke some unneeded debugging code. 1998-09-20 18:54:03 +00:00
thorpej 3eaeeb5357 Add definitions for the maximum allowable `whami' procssor ID and the
maximum number of processors we'll allow (64, assuming procssor IDs start
at 0).
1998-09-20 18:28:50 +00:00
simonb 2246e884d9 Define the S_IS* macros in terms of the S_IF* defines rather than
duplicating magic numbers.
1998-09-20 05:42:05 +00:00
mark 53f576f788 bus_space_copy_* -> bus_space_copy_region_*
Add BUS_SPACE_COMPAT_OLDDEFS for bus_space_copy_* compat.
1998-09-20 03:37:29 +00:00
matt 08e1d890a4 Changes so that BPF readers will get the data in fddi packet aligned along
normal boundaries.  This makes tcpdump much happier.
1998-09-20 02:36:08 +00:00
matt 935fbed4fe Make sure data in FDDI packets are aligned nicely (for alpha, etc.) 1998-09-19 21:21:25 +00:00
pk a1a94bc5fc Use the expected name for the config attach structure. 1998-09-19 16:50:31 +00:00
pk 0a6347a24d Provide an error entry point like sbus and memory. 1998-09-19 16:45:43 +00:00
pk 812eb8c1da Add %b format strings. 1998-09-19 16:44:59 +00:00
pk 25d48215a2 Map Sbus control registers. 1998-09-19 15:49:50 +00:00
pk 8381b55bd7 Add a bunch of SBus control register definitions. 1998-09-19 15:48:55 +00:00
pk 1bcd9d3bbb Pass the children register space in the attach arguments. 1998-09-19 15:47:18 +00:00
mycroft 4a000a54e6 Fix a typo (not mine) in a comment. 1998-09-19 04:34:34 +00:00
mycroft 04ef3bf88d If we're in LISTEN state and all of RST, SYN and ACK are clear, send a RST. 1998-09-19 04:32:51 +00:00
mycroft 31347e4671 Always send a 0 window with a RST. Suggested by Darren Reed. 1998-09-19 04:02:52 +00:00
enami 19031a5309 make this file compile again; the variable points signal action being
set is `nsa' and there is no variable `sa'.
1998-09-19 02:00:52 +00:00
pk ced4225429 Add `eccmemctl' device. 1998-09-18 20:19:12 +00:00
pk b3c7ebb7cd Handle ECC memory control found on a number of machines.
Also defines an entry point for memory errors reported by module interrupts.
1998-09-18 20:18:10 +00:00
thorpej 1e2aeb4a35 Add a comment documenting the last change. 1998-09-18 19:28:22 +00:00
thorpej 5dd4b45577 Don't use the nointr pool page allocator for the uao_swhash_elt pool. We
need to ensure that these come from a non-pageable kernel map, otherwise
we can run into a deadlock condition (as noticed by Chuck Silvers).
1998-09-18 19:27:20 +00:00
christos eb1a214078 Add NOCLDWAIT (from FreeBSD) 1998-09-18 18:48:22 +00:00
christos 79e0b0c162 Add NOCLDWAIT (from FreeBSD) 1998-09-18 18:35:16 +00:00
drochner 24e6cd9435 Map the "backspace" key to "delete" and the "remove" key to
"keypad-delete". (This is not completely clean; for me these keys make
up perhaps a "function field", but no "keypad".)
This is the mapping expected by applications.
Proposed by Chris Jones via PR kern/6089 and Dave Sainty.
1998-09-18 15:35:45 +00:00
enami b85655c706 Use an appropriate value for wpp_quirk_flag. 1998-09-18 14:43:58 +00:00
enami b03b63aef4 Make these files compile again; no longer necessary to pass
iobase to comprobe1.
1998-09-18 14:38:48 +00:00
drochner a0ccc06ec5 Note which units memory sizes are counted in.
Fixes half of PR port-i386/6159 ("Heiko W.Rupp" <hwr@pilhuhn.de>).
1998-09-18 12:22:54 +00:00
drochner 06753678d5 Remove the chips which are known to identify properly out of the
old "match" function - more or less for documentation.
Proposed by "Soren S. Jorvang" <soren@t.dk>.
1998-09-18 11:57:57 +00:00
drochner 1d34097b60 Take the Intel SIO into the special case list - it identifies itself
as "prehistoric". From John Kohl.
1998-09-18 11:13:10 +00:00
drochner 72fa4aec9b regen 1998-09-18 10:51:15 +00:00
drochner e630f429ab Add PCI-VME interfaces: Tundra Universe and Bit3 2706
Note that Newbridge is now Tundra
Add Adaptec 7890 & Co.
1998-09-18 10:49:11 +00:00
pk 81d435b491 sigh.. put back non-garbage collectible `que' functions. 1998-09-18 08:07:08 +00:00
scottr 45c0de8e37 Interrupt handling for the MicroConversions 2124NB II, from Paul Goyette. 1998-09-18 06:08:28 +00:00
sakamoto 6857706407 powerpc/bcopy.c is unnecessary. 1998-09-18 06:04:19 +00:00
scottr c797d52571 SCSI_ASYNCREQ turns out to be redundant; we can simply free the scsipi_xfer
in scsipi_done() if the transfer is asynchronous.  This reduces the size
of the critical section in scsipi_execute_xs() somewhat (in fact,
back to its original size).
1998-09-18 05:53:07 +00:00
scottr 9cf43305cf Define a SCSIPI_XFER_ASYNC macro to test whether a request will be
completed asynchronously.  Eliminate SCSI_ASYNCREQ, which is actually
redundant information.
1998-09-18 05:45:03 +00:00
mark e9a20eaff4 Regen. 1998-09-18 04:30:52 +00:00
mark 0cf7fe7c62 Add yet another vendor ID for Fujitsu.
Add vendor ID for ESS Technology Inc.
Add product ID for ESS Technology ES1938 SOLO-1 AudioDrive
Add product ID for Fujitsu K56flex LTMODEM
Add product ID for TI PCI1250 PC Card bridge
Add product ID for Trident Cyber 9397 Video controller.
1998-09-18 04:30:10 +00:00
mark 99973d1aa3 Bug fix from Andrew McMurry for filecore_readdir() missing the end
of the directory and reporting some non-existant files.
1998-09-18 04:17:44 +00:00
mark 7482a84e6a Be less verbose during various data aborts unless DEBUG is defined. 1998-09-18 04:09:57 +00:00
mark 9f474557fe Allow boot arguments to override the host id on a per instance basis. 1998-09-18 03:23:19 +00:00
mjacob 8fdc5aee4b Make changes as required for new return values from dma setup routine
for isp. Unable to test in running kernel because they're not buildable today,
but should be okay.
1998-09-18 00:26:11 +00:00
mjacob 6d8a22890e dma setup now returns CMD_QUEUED or CMD_COMPLETE. Clarify a ternary
operation that needed some parentheses.
1998-09-17 23:10:20 +00:00
mjacob 1dac5b5291 Several changes, including some stub fibre target mode stuff. Establish
a slightly different fibre startup (print ALPA now too). Change
the way that return values from dma setup is done. Make debug messages
out of some queue overflow situations. Turn PORT LOGGED OUT into
Selection Timeout equivlaent. On isp_restart actions don't blow off
the commands with HBA_BOTCH (XS_DRIVER_STUFFUP) - set them with HBA_BUSRESET
(which is defined as XS_DRIVER_STUFFUP until someone decides whether
the suggested change to the midlayer NetBSD is worthy of inclusion).
1998-09-17 23:05:46 +00:00
mjacob a0a31568e8 cleanup header to be just NetBSD, roll rev, change QDEPTH to QAVAIL macro 1998-09-17 22:52:54 +00:00
mjacob 0e0010df41 cleanup header to be just NetBSD 1998-09-17 22:52:14 +00:00
mjacob cb787c768d add some target mode definitions 1998-09-17 22:51:54 +00:00
mjacob 24717f3c3a cleanup header to be just NetBSD 1998-09-17 22:50:53 +00:00
drochner 7f72e0eea5 LK201/LK401 support for wscons (only decoding for now). 1998-09-17 20:01:57 +00:00
drochner af9cabdaaa Add definition for highest legal LK201 keycode. 1998-09-17 19:59:30 +00:00
drochner 6f1bc2944f Adapt to keymap table format change. 1998-09-17 18:31:43 +00:00
drochner ffa2207ec9 wskbd map for LK201/LK401 1998-09-17 18:29:54 +00:00
drochner ad6d798d6a Move keyboard map from <dev/wscons/wskbdmap_mfii.h> into a _source_ file. 1998-09-17 18:21:04 +00:00
drochner 1eda36523a Add option bit which covers the delta between LK201 and LK401. 1998-09-17 18:16:39 +00:00
drochner fdfd53e5af Add end mark to list of keymaps.
XXX This file will be removed, it is only left until the USB driver
XXX got an own keymap.
1998-09-17 18:14:06 +00:00
drochner ec9b2072bb Reorganize the list of keyboard maps: no explicite length counter, use
an end mark instead. This allows to keep keymaps separate from the drivers
referring to them.
1998-09-17 18:10:53 +00:00
drochner 1a9e20e98c Define a new keyboard eveny type "all keys up". This allows to reduce
the amount of statekeeping in drivers for LK201-like keyboards, and it
might be useful to resync after resets or overflows.
(reused the unused WSCONS_EVENT_KEY_OTHER event ID)
Implement the necessary decoding bits.
1998-09-17 18:05:43 +00:00
thorpej b9a131261c Define the new sigcontext structure. 1998-09-17 04:54:51 +00:00
thorpej 2eb8e8729b Make the signal code look a bit more like the 32-bit SPARC port's. 1998-09-17 04:52:17 +00:00
thorpej a7e5b3bcce For _LP64, sigcontext must contain longs! 1998-09-17 04:51:29 +00:00
thorpej 5e8f492923 SYS_sigreturn -> SYS___sigreturn14. 1998-09-17 04:41:06 +00:00
thorpej dcb541531a Minor cosmetic change. 1998-09-17 02:33:06 +00:00
thorpej c006c7c0da Sync w/ sendsig(). 1998-09-17 02:30:02 +00:00
thorpej e5ea525b9f Slight brain'o in last. 1998-09-17 02:26:26 +00:00
thorpej 5bc9dafaee Minor cosmetic change to sendsig(). 1998-09-17 02:24:56 +00:00
thorpej cc485c1a08 Catch up with changes to signal delivery. 1998-09-17 02:01:59 +00:00
thorpej 7083b63277 Back out previous; I'm punting PowerPC to tsubai or sakamoto. 1998-09-16 23:51:27 +00:00
thorpej ef3f4d39df Need 103 longs for jmp_buf now (128-bit signal mask, at the front of the
jump buffer).
1998-09-16 23:33:18 +00:00
thorpej 3d4e54f11f Need 87 longs for a jmp_buf now (we use sigcontext, which grew). 1998-09-16 23:15:08 +00:00
thorpej 7b32475079 Define the new sigcontext structure. 1998-09-16 23:14:15 +00:00
thorpej 6385066c76 Need 13 longs for jmp_buf now; 128-bit signal mask. 1998-09-16 23:13:57 +00:00
is 95807e512a Garbage collect unused 3rd parameter to comprobe1(). 1998-09-16 21:30:58 +00:00
pk 59e5588098 Map the per-CPU counter registers into each cpu info area. 1998-09-16 13:39:48 +00:00
pk 49b5114713 Make all cpu info structures accessible through an array `cpus[_MAXNCPUS]'. 1998-09-16 13:36:23 +00:00
scottr 7aa4d4483e Revert the last change: returning COMPLETE is clearly the wrong thing to do
if we weren't polling to begin with.
1998-09-16 05:36:35 +00:00
scottr 4963603d0f Found a race in scsipi_execute_xs(): if an asynchronous transfer completes
(probably due to an interrupt) between the time it is scheduled and the
time we get around to setting the SCSI_ASYNCREQ flag, we can lose the xs.

Fix this by checking to see if the transfer has already completed after
the scsi_cmd function returns SUCCESSFULLY_QUEUED, and just return to the
caller if so.
1998-09-16 05:35:50 +00:00
thorpej 43f5b65e23 Define the new sigcontext structure. 1998-09-15 23:14:40 +00:00
thorpej a034a22862 Need 21 longs for jmp_buf now, due to 128-bit signal mask (and use
of the sigcontext structure in the jmp_buf).
1998-09-15 23:06:41 +00:00
pk cf10308f5f bootpath check needs to keep checking for two formats. 1998-09-15 20:26:25 +00:00
pk 543070847c Can't afford a 1K buffer in the data segment. 1998-09-15 20:03:50 +00:00
matt e7be3f3601 Fix a problem where txput could "lose" dmamaps if it couldn't actually
place the packet into the ring for some reason.
1998-09-15 17:26:46 +00:00
scottr 573d1d344f Add the DrHw value for the MicroConversions 2124NB II display adapter,
from Paul Goyette.
1998-09-15 16:09:44 +00:00
pk 0ad1257add sub-arch protection. 1998-09-15 13:12:25 +00:00
pk 3059ae05ba Apply patch from PR#5542: buffer overflow in lfs_markv(). 1998-09-15 10:53:22 +00:00
leo f1c16a1b25 Oops, forgot this one in the vmebus renaming (Julian Coleman). 1998-09-15 10:45:11 +00:00
matt 2633c65da5 This commit fixes two bugs in the de driver. The first is that the
descriptor count gets miscounted on txprobes.  The second (and more
important) is that transmit stalls should now be fixed.  The problem
was not due to lack of ring resources but dmamaps.  When Jason changed
the driver to use pre-allocated maps (instead of the dynamic ones I
used), and when there were no more maps, the driver just gave up instead
of calling tx_intr to free any transmitted but unreclaimed dma maps.
Since there was nothing being transmitted, no transmit interrupts
would fire to restore things (and OACTIVE prevented other transmits
from happenning).  So it stayed starved until another interrupt cause
(like a received packet) "woke" it up.
1998-09-15 02:39:03 +00:00
rvb 9187d28044 Final piece of rename cfs->coda 1998-09-15 02:02:55 +00:00
pk fb38024157 Use `swap' to install page-table entries which is recommended practice
for MP configurarions.
1998-09-14 22:45:36 +00:00
pk 1736bda754 Define `swap'. 1998-09-14 22:43:29 +00:00
thorpej dbebd9b148 Need 13 longs for jmp_buf; signal mask is 128 bits now.
XXX Actually, libc appears to use only 7 of the previous 10, so increasing
the size isn't actually necessary!  But there was a gap at the end before,
so we'll keep it.
1998-09-14 21:31:52 +00:00
hwr cf70cc28c7 Typo. :( 1998-09-14 21:15:56 +00:00
hwr 517139017e Some additions.
And IDPR-CMTP is 38 not 39 according to IANA.
1998-09-14 21:09:51 +00:00
pk 99cd371c60 Fix copyout() argument switch. 1998-09-14 21:05:46 +00:00
pk b1a2d338c9 Fix copyout() arguments. 1998-09-14 21:03:59 +00:00
thorpej e30eafbbc6 Need 29 longs for jmp_buf now; signal mask is 128 bits. 1998-09-14 18:06:01 +00:00
leo d8ea31db0f Improve initialisation of the Crazy Dots card. (Julian Coleman) 1998-09-14 14:25:38 +00:00
leo e325a47307 Fix "unused variable `c'" warning. (From Julian Coleman) 1998-09-14 11:50:59 +00:00
pk 0a46abfd42 Collect redundant code into cpu_setup(). 1998-09-14 10:37:12 +00:00
pk b1b69e4195 Fix cache bit confusion in pmap_alloc_cpu(). 1998-09-14 09:46:11 +00:00
jonathan 0b09668693 Fix typos in signal rework (sc.regs -> sc-regs, rege -> regs). 1998-09-14 07:04:06 +00:00
thorpej a4a356f9a6 Need 83 longs for a jmp_buf now. 1998-09-14 06:07:29 +00:00
scottr 0af57c2461 Correct a serious problem that affects at least front ends that can only
use PIO (or equivalent) code to do asynchronous transfers:  In
ncr5380_scsi_cmd(), test to see if the request has been completed after
the call to ncr5380_sched(), and return COMPLETE if so.  This avoids
going into an infinite loop in scsipi_execute_xs() while waiting for an
interrupt to trigger completion of the transfer... which, of course,
never happens, since it's already done.
1998-09-14 05:56:14 +00:00
scottr f2c6836685 Fix a problem uncovered when we started to use the pool allocator to manage
scsipi_xfer structures.

When scsipi_execute_xs() calls the driver's scsi_cmd function, it assumes
that it can still dereference a pointer to the scsipi_xfer struct.  Since
scsipi_done() has already been called, which in turn has called
scsipi_free_xs(), the struct has already been returned the structure to
the pool!  In other words, xs->flags has been compromised, but we are still
testing it.

These changes resolve the problem by doing the following:

- In scsipi_execute_xs(), if the hardware driver's scsi_cmd function
  returns SUCCESSFULLY_QUEUED, set a new flag (SCSI_ASYNCREQ) in xs->flags.
  Since the request will be handled asynchronously, we will need the
  scsipi_xfer struct to be freed in scsipi_done().

  If the hardware driver's scsi_cmd function returns COMPLETE, we now
  simply return any actual errors, or 0 if none occurred.  (Previously,
  we may have returned EJUSTRETURN, of which the sole effect was to
  avoid freeing the scsipi_xfer struct in our caller.)

- In scsipi_done(), only free the scsipi_xfer struct for async requests.
  The contents of the struct will otherwise remain valid until the
  function that initiated the transfer frees it.

With this change, responsibility for freeing the struct now lies in two
places, depending on the type of the request:

- For synchronous requests, the routine calling scsipi_execute_xs()
  must clean up.

- For asynchronous requests, scsipi_done() cleans up (as it always has).

[Note:  this change also corrects a problem with sddump():  scsipi_done()
was attempting to return a static scsipi_xfer struct to the pool!  Since
dumps are performed synchronously, we now handle this correctly.]

This solution was provided by Jason Thorpe, after I got him to look at
some related (but insufficient) attempts of my own.
1998-09-14 05:49:21 +00:00
scottr 10640f1bfc Fix a problem uncovered when we started to use the pool allocator to manage
scsipi_xfer structures.

When scsipi_execute_xs() calls the driver's scsi_cmd function, it assumes
that it can still dereference a pointer to the scsipi_xfer struct.  Since
scsipi_done() has already been called, which in turn has called
scsipi_free_xs(), the struct has already been returned to the pool!  In
other words, xs->flags has been compromised, but we are still testing it.

These changes resolve the problem by doing the following:

- In scsipi_execute_xs(), if the lower-level driver's scsi_cmd function
  returns SUCCESSFULLY_QUEUED and SCSI_NOSLEEP is set in xs->flags, set a
  new flag (SCSI_ASYNCREQ).  This indicates that scsipi_done() should free
  the scsipi_xfer struct.

  If the lower-level driver's scsi_cmd function returns SUCCESSFULLY_QUEUED
  but SCSI_NOSLEEP is not set, we wait (via tsleep()) for the request to
  complete, then fall through to the COMPLETE case.

  If the lower-level driver's scsi_cmd function returns COMPLETE, we now
  simply return any actual errors, or 0 if none occurred.  (Previously,
  we may have returned EJUSTRETURN, of which the sole effect was to
  avoid freeing the scsipi_xfer struct in our caller.  No code seems
  to depend on this behavior, however.)

- In scsipi_done(), only free the scsipi_xfer struct for async requests.
  The contents of the struct will otherwise remain valid until the
  function that initiated the transfer frees it.

With this change, responsibility for freeing the struct now lies in two
places, depending on the type of the request:

- For synchronous requests, the routine calling scsipi_execute_xs()
  must clean up.

- For asynchronous requests, scsipi_done() cleans up (as it always has).

[Note:  this change also corrects a problem with sddump():  scsipi_done()
was attempting to return a static scsipi_xfer struct to the pool!  Since
dumps are performed synchronously, we now handle this correctly.]

This solution was provided by Jason Thorpe, after I got him to look at
some related (but insufficient) attempts of my own.
1998-09-14 05:49:20 +00:00
thorpej 27f3588d7b oops, missed one. 1998-09-14 02:50:12 +00:00
thorpej cbfc257eda sigset13_t -> int. 1998-09-14 02:48:33 +00:00
tv 058853ee30 Use WARNS=1 to get -Wall, and properly disable -Wmain on gcc 2.8 1998-09-14 00:50:22 +00:00
perry 5d0722b723 Note that kernel Makefile support for tags is totally broken. 1998-09-13 23:50:39 +00:00
tron 7010f82942 Sync with "GENERIC". 1998-09-13 23:15:46 +00:00
pk 9949f7d556 regen. 1998-09-13 22:29:06 +00:00
pk c7971c960e Signal compat: sunos sigset_t conversions;
new sunos_sigvec() & sunos_sigpending()
1998-09-13 22:28:16 +00:00
hwr 6831c842f3 The post 1.3.2 world is actually ready for this. 1998-09-13 21:39:49 +00:00
pk 459204606f Everyone uses sunos_sendsig(). 1998-09-13 21:05:35 +00:00
hwr 43c45ee409 Enable gre(4) device 1998-09-13 21:02:02 +00:00
pk ff383dc20d Add compat_13_machdep.c 1998-09-13 20:34:34 +00:00
pk 190e4c429d Move compat_13 sigreturn() into its own file. 1998-09-13 20:33:33 +00:00
hwr 366b9c4515 Add a gre tunnel pseudo network device. Gre = generic route encapsulation.
This device shows up like any other network interface and can be used to
tunnel L3 protocols as e.g. IP over IP.
1998-09-13 20:27:47 +00:00
pk 82d2ea3a70 Remove left-over SUNOS_COMPAT line. 1998-09-13 20:24:15 +00:00
pk 06612cb9f8 Since the last signal restructuring the sparc also has an sunos_sendsig(). 1998-09-13 20:20:48 +00:00
pk 9658554e18 Replace previous by something more complete. 1998-09-13 20:17:54 +00:00
pk 9d9f22fa79 Signal handling changes: sunos compat gets its own sendsig(); sunos
sigreturn() == compat_13_sigreturn().
1998-09-13 20:07:54 +00:00
eeh 52cbf86859 Looks like something else changed in signal land. 1998-09-13 16:45:43 +00:00
christos 8dfbc827ea Fix copyright mess:
- remove trailing spaces.
	- make copyrights consistent (put the date before the name).
1998-09-13 16:21:16 +00:00
eeh 49af63b22b Fixup signal changes (hopefully). However SUN_COMPAT is likely broken by
this and I don't know how to fix it.

We can now exec a 64-bit init through a really ugly hack (don't ask.)
1998-09-13 16:02:47 +00:00
christos 66dd35d72c Fix copyright spacing and 'Van' -> 'van' for consistency. 1998-09-13 15:45:40 +00:00
christos 3d10f9ca2b Fix ' ' -> '\t' 1998-09-13 15:24:39 +00:00
christos dd6e9d3e5a fix comment and copyright spacing. 1998-09-13 15:21:32 +00:00
christos 47c0716246 Fix rcsid's 1998-09-13 15:19:12 +00:00
christos 361a71f864 Fix copyright '\t' -> ' ' 1998-09-13 15:14:40 +00:00
christos 67dbe5ed36 Fix copyright typos... 1998-09-13 14:46:23 +00:00
christos f35a4d311a Regen 1998-09-13 14:45:22 +00:00
christos 34cb71bf00 Quote the backquotes in the double-quoted shell string, otherwise they
disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
1998-09-13 14:44:34 +00:00
christos d758aee3a9 Fix copyright spacing. 1998-09-13 13:49:29 +00:00
christos 45935a4c8d Make copyrights consistent; remove extra trailing spaces, change reformatted
copyrights to original format, change ' ' to '\t'.
1998-09-13 13:21:37 +00:00
mycroft 06fb1b6d67 Fix pasto. 1998-09-13 12:24:18 +00:00
mycroft 4e4f120db9 Update these for signal handling changes.
XXX Not tested yet.
1998-09-13 12:13:49 +00:00
mycroft 7b15b3b56d Minor change. 1998-09-13 12:01:41 +00:00
mycroft fa31b94af9 Fix omission in previous; remember to record that we're on the signal stack. 1998-09-13 11:57:58 +00:00
pk 90054fd502 New sigcontext. 1998-09-13 11:41:02 +00:00
pk ba67f63901 Sync function prototypes; remove unsed variables. 1998-09-13 11:34:04 +00:00
mycroft ef7c8ebbe7 Oops; forgot to commit this. 1998-09-13 11:26:58 +00:00
pk b8de221a1e Pull in <sys/syscall.h> directly into locore.s 1998-09-13 11:12:36 +00:00
thorpej 4a797b8f45 Make signal delivery work again. 1998-09-13 10:29:02 +00:00
thorpej c7d391b23c Make signal delivery work again. 1998-09-13 09:15:51 +00:00
thorpej 1a5b3601cb Make signal delivery work again. 1998-09-13 08:19:49 +00:00
mycroft 38aa357963 Make sure the buffers are synchronized on open. 1998-09-13 06:30:25 +00:00
thorpej f93b23110f Regen. 1998-09-13 04:58:21 +00:00
thorpej 45431e6471 Emit syscall numbers for COMPAT_xx syscalls, too. 1998-09-13 04:57:24 +00:00
mycroft 32f42fe1e9 Make sure all voices are deallocated on close. 1998-09-13 04:41:34 +00:00
thorpej 35c106630e __LIBCxx_SOURCE__ refers to the library major number, not the NetBSD release
number.
1998-09-13 02:18:38 +00:00
thorpej 6cfadaea56 Define the number of signals supported by the old style signal mask. 1998-09-13 02:14:02 +00:00
thorpej 3ddf828326 Make signal delivery work again. 1998-09-13 01:51:29 +00:00
thorpej 6351312ff7 Fix thinko in last thinko fix. We always have to store an old style
signal mask since a 1.3 binary may attempt to invoke sigreturn(2) directly
for an alternate exit from the signal handler.  If we don't do this, it will
get a garbage signal mask if it tries to do that.
1998-09-13 01:45:04 +00:00
thorpej 7f361cc70c Prototypes for native_sigset13_to_sigset() and native_sigset_to_sigset13()
are in sys/signalvar.h
1998-09-13 01:43:17 +00:00
thorpej a0494141c5 Prototype for native_sigset13_to_sigset() is in sys/signalvar.h 1998-09-13 01:42:45 +00:00
thorpej 274c8c5f24 Put the prototypes for native_sig*_to_sig*() in one place. 1998-09-13 01:41:16 +00:00
wrstuden cd65bcf1db Regen. 1998-09-12 21:49:51 +00:00
wrstuden 0b009ef925 Add support for the OPTi Audio 16 IDE controller. 1998-09-12 21:48:57 +00:00
wrstuden 3e6930640f PnP IDE controllers can pass us the regions in any order, so make sure
that sc_ad.ioh is the 8-byte region as opposed to blindly passing it
the first region.

With this change, and a device def which will follow, the IDE controller
on my OPTi Audio 16 card works!
1998-09-12 21:40:22 +00:00
pk 875bff538c A few slight optimizations. 1998-09-12 19:50:59 +00:00
pk ad0f4a6fbb Nuke `insqeu' and `remque' 1998-09-12 19:46:00 +00:00
pk 8b7ee2cd89 Add hatching code for other CPUs. 1998-09-12 19:44:17 +00:00
matthias dfc0d8e7d5 {bzero, bcopy} -> {memset, memcpy}
add -DINSECURE to stand/Makefile.inc
1998-09-12 19:14:58 +00:00
christos 34c5a58bb4 Make copyrights consistent; fix weird/trailing spaces add missing (c) etc. 1998-09-12 17:20:02 +00:00
pk e120fa4e14 Machinery to configure multiple CPUs. All CPUs found are spun up from the
auto-configuration cpu_attach() function using the firmware.
Currently, all CPUs except the one used to boot end up in an idle loop
in locore.
1998-09-12 15:33:40 +00:00
pk 1b077ae1cd Set cache control bits according to configured preference (if any). 1998-09-12 15:08:04 +00:00
rvb 0aa47cd025 Change cfs/CFS in symbols, strings and constants to coda/CODA
to avoid fs conflicts.
1998-09-12 15:05:47 +00:00
pk 097a922a9c Add field holding the physical address of the MMU context table. 1998-09-12 14:12:49 +00:00
pk f390eccd7d Add missing bits to per-CPU MMU table allocator routine. 1998-09-12 14:11:53 +00:00
pk cd0a5fe245 Define some bit-format strings. 1998-09-12 13:59:19 +00:00
pk 18fbdfc2f8 Expose `v3' routines to everyone. 1998-09-12 13:34:38 +00:00
pk 818fef1cd7 Nuke spurious pointer incrementation. 1998-09-12 13:12:14 +00:00
mycroft 40a8b45373 Do an inline expansion of __sig{fill,empty}set(), rather than using memset(). 1998-09-12 11:18:20 +00:00
mycroft 7bf196246c Fix typo. 1998-09-12 11:04:59 +00:00
mycroft b1c2e63db6 Regen. 1998-09-12 10:48:51 +00:00
mycroft 3f2c7263b1 Fix thinko in previous. 1998-09-12 10:48:27 +00:00
mycroft 584cc642fc Regen. 1998-09-12 10:33:26 +00:00
ragge 35662aa6e6 Include <sys/param.h> instead of <sys/types.h>, to get mem* inlines.
(At least on vax)
1998-09-12 08:31:23 +00:00
scottr 2b636564b7 Don't add IOBase to sccA; it's an address, not an offset.
Pointed out by Paul Goyette.
1998-09-12 02:42:27 +00:00
mycroft 89ea1fcbdd Version sys_sigreturn, to avoid breaking programs that use it explicitly. 1998-09-12 00:47:12 +00:00
mycroft 5978dc4801 Regen. 1998-09-12 00:10:33 +00:00
mycroft a641f893ab Rename ___posix calls in the syscall list. 1998-09-12 00:10:06 +00:00
mycroft f384c47bc7 Regen. 1998-09-11 23:13:32 +00:00
thorpej 911fd86e93 Regen; signal changes. (mycroft must have forgotten to commit this) 1998-09-11 22:37:53 +00:00
pk 37109879dc PR#6032: define fixed sized on-disk superblock structure. 1998-09-11 21:27:12 +00:00
mjacob 03e28bdbaf keren/6128: add an entry for the TDC 4200. Full density code set isn't known. 1998-09-11 20:10:15 +00:00
jonathan ea4898c76c Add arc as a target platform. 1998-09-11 19:39:28 +00:00
jonathan a4f0d3aef0 Add splx_end label to splx(), for stack traceback code. 1998-09-11 17:37:46 +00:00
jonathan 008816ea4f Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.

Open issues:
 * Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
   Code derived from Per Fogelstrom's OpenBSD source  doesn't work
   on mips3 pmaxes with L2 cache.

 * Still some port-specific  #ifdefs, for interrupt enable and
   pmax L2 cache-size.  Needs more thought, but overlaps with
   work-in-progress by Tohru and Tsubai on spl()s and related stuff.
1998-09-11 16:46:31 +00:00
mycroft 62ea009b0e Update for signal handling changes. 1998-09-11 13:31:39 +00:00
pk 470227cc3b Check that the `current directory' is still mounted before dropping core in it. 1998-09-11 13:25:20 +00:00
mycroft a2d9c7ed82 Use the context flag bits. 1998-09-11 13:22:45 +00:00
mycroft fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
mycroft 11ac489856 Stylistic change. 1998-09-11 12:34:46 +00:00
mycroft 932a812de4 Speed up syscall() slightly in a few cases. 1998-09-11 12:23:44 +00:00
eeh 526dbbab7e Add labels for the compat_sparc32 signal trampoline and break -- er -- fix
suword and fuword.
1998-09-11 00:16:59 +00:00
eeh 6736de02e8 A (slightly modified) version of tv's fix for va_args for kern_printf. 1998-09-11 00:12:41 +00:00
nisimura 97acdd4415 A minor error. kn5800, a MIPS SMP machine, was codenamed "ISIS." 1998-09-11 00:06:12 +00:00
eeh f3ca996011 Add support for 64-bit types if _LP64 is defined. 1998-09-11 00:05:57 +00:00
eeh cdeacb83c2 Don't use fuword()/suword() -- can't count on their size. 1998-09-11 00:04:16 +00:00
eeh 44725836bc Add some copyin()/copyout()s. These need to be done but there are more
annoying issues, so I'll just check in this snapshot.
1998-09-11 00:01:57 +00:00
eeh eb1f80313d Use correct 32-bit signal trampoline code in the emul. 1998-09-10 23:55:15 +00:00
scottr 9d1c9d8d38 Use correct devices for zs driver on AVs. From Dave Huang (PR 6107). 1998-09-10 21:40:42 +00:00
pk f6b7ca884e Use our brand new extent_alloc1() function to allocate cache-aligned
DVMA addresses.
1998-09-10 21:08:39 +00:00
pk 3718fc4aa7 Allow the result of an extent allocation to be congruous to an arbitrary
number modulo the given alignment.
To do this the function extent_alloc_subregion() takes an additional `skew'
parameter.  For compatibility's sake, this function has been renamed to
extent_alloc_subregion1().
1998-09-10 20:52:13 +00:00
is 283229c668 Fix catastrophic typo. DraCos rev. 3 (or older) would crash on exiting from
the first timer interupt.
1998-09-10 20:45:33 +00:00
pk 9ba1c28908 Add `skew' parameter to extent_alloc_subregion(), and rename this function
to extent_alloc_subregion1(). Provide compatibility macros.
1998-09-10 20:43:14 +00:00
kenh d1e0ee615b Regen 1998-09-10 19:57:20 +00:00
kenh 537261f6c5 Reorganize the probe routine and add a quirk table. Much of this code
comes from Enami Tsugutomo (enami@but-b.or.jp).  Also add a couple more
devices to the pcmcia devices table.
1998-09-10 19:55:30 +00:00
tv 235fc6a6a9 egcs {brace} warning fix 1998-09-10 19:53:28 +00:00
kenh 9539399333 Add support for passing device quirks from the attachment routine,
and add support for a NO_EXTRA_RESETS quirk (required by the TEAC
IDE Card/II, which the Vaio uses).
1998-09-10 19:24:45 +00:00
mjacob 4a1ccd2fe7 turn into a debug message an ABOUT F/W failure. Add ISPCTL_UPDATE_PARAMS isp_control case 1998-09-10 17:10:27 +00:00
mouse b95116821c Create tcp.keepidle, tcp.keepintvl, tcp.keepcnt, tcp.slowhz sysctls. 1998-09-10 10:46:03 +00:00
nisimura d6afdbc88b Complete to fix errors introduced by HX screen dimension detection. 1998-09-10 10:00:39 +00:00
mark 84f15d23f4 Fix bug in switch_exit() from last commit. This fixes PR 6132.
The bug is that the modification to call exit2() removed a stack pop
but not the associated push.
1998-09-10 02:16:28 +00:00
thorpej a6c6b5a26b Cosmetic changes. 1998-09-09 23:46:31 +00:00
thorpej 5ff9df860c If we don't find a valid magic, return ENOEXEC, not EINVAL. 1998-09-09 23:37:27 +00:00
thorpej 0d779b28ba If we succeed in preparing the exec package, set the package's emulation
to emul_sparc32.
1998-09-09 23:36:15 +00:00
wrstuden eefa9491d1 Turn on support for 115,200 and 230,400 baud. Should work, but might
generate lots of interupts (one per char or so) if we don't have
DMA set up.
1998-09-09 20:58:06 +00:00
phil feb70ddafd Add coda file system character file device. 1998-09-09 19:04:04 +00:00
minoura 6b6b9e2706 Make device probe/attach sessions to be executed at splhigh.
mha driver used interrupt driven I/O.
1998-09-09 16:42:51 +00:00
kleink 63eae6f17e Don't make vsyslog() available to _XOPEN_SOURCE. 1998-09-09 12:37:35 +00:00
thorpej 70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej 2f9d1a8c8c Use MID_MACHINE rather than MID_SPARC in cpu_coredump(), and add a comment
about dumping a SPARC32 core file if we're using emul_sparc32.
1998-09-09 11:06:08 +00:00
thorpej f7a4380174 If _LP64, set MID_MACHINE to MID_SPARC64, else MID_SPARC. This allows us
to uniquely identify ILP32 vs. LP64 core files, and prevents an LP64 kernel
from incorrectly choosing emul_netbsd when it should choose emul_sparc32.
1998-09-09 11:01:38 +00:00
thorpej 7d3df134d6 Define MID_SPARC64, so that we can distinguish IPL32 vs. LP64 SPARC core
files, etc.
1998-09-09 10:58:40 +00:00
thorpej 7377cf7f4d MID_MACHINE -> MID_SPARC 1998-09-09 10:29:18 +00:00
thorpej 9ce5ae6b97 Protect Debugger() call a'la uha driver. PR #6070, Gary D. Duzan. 1998-09-09 05:28:58 +00:00
thorpej d1fba4e7e5 Don't use M_WAITOK to allocate the ring buffer; we could be in interrupt
context.  Reported by Lennart Augustsson.
1998-09-09 05:17:53 +00:00
thorpej 9fd57e8917 Make a diagnostic printf more sensible, PR #5951, Heiko W. Rupp. 1998-09-09 04:57:18 +00:00
thorpej 4f9a0d0550 Add mmap support for gus and gusmax, PR #5988, Feico Dillema. 1998-09-09 04:40:34 +00:00
thorpej a54c0e3b4e Braces for EGCS. 1998-09-09 04:33:27 +00:00
thorpej 78f9387863 Add/move some Ethertypes, PR #5997, Heiko W.Rupp. 1998-09-09 04:32:39 +00:00
dbj aa45959106 Added uvm and ddb 1998-09-09 03:02:23 +00:00
eeh 2a6ae85fc3 Change to MACHINE_ARCH=sparc64 for LP64 machines. 1998-09-09 02:56:38 +00:00
eeh d2570e248c Don't use %tick for microtime on 32-bit kernels -- breaks gettimeofday. 1998-09-09 02:52:54 +00:00
eeh e81ed2237d Fix problems in global pagewalks. 1998-09-09 02:49:56 +00:00
eeh 9487c4be35 Make `machine phys' increment its address. 1998-09-09 02:48:15 +00:00