Commit Graph

25713 Commits

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