Commit Graph

2903 Commits

Author SHA1 Message Date
ross
5b36d84a9c Don't panic until DEFCON 1. 2001-03-25 06:38:50 +00:00
nathanw
a45ca84ab5 Verbose display of machine check errors on AS200/400 boxes. 2001-03-25 05:52:38 +00:00
lukem
723cd818d8 move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
soren
912c115675 s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message. 2001-03-21 18:40:28 +00:00
chs
11fe9ca446 use ubc_winshift instead of ubc_winsize in pmaps to set up kernel
virtual space.  the latter isn't initialized yet when the value is needed.
fixes PR 12440.
2001-03-21 03:16:05 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
thorpej
2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
ad
f21f718031 Typo in previous. 2001-03-05 12:15:38 +00:00
ad
8a4900c534 Hook in px & pxg devices. 2001-03-04 13:36:19 +00:00
mjacob
32994a72dc revert previous commit while the longbeards ponder 2001-02-27 22:00:19 +00:00
mjacob
4eff912cbb Remove cpu_wait #define because it's now prototyped in <sys/proc.h> which
means it has to really exist.
2001-02-27 21:11:41 +00:00
cgd
82f3142780 fix NetBSD RCS id tags 2001-02-27 19:04:39 +00:00
nisimura
4934987175 Make sure to have sfbp.h and add sfbp* line in TCWSCONS left #ed-out.
Pointed by Matthew Jacob <mjacob@feral.com>.
2001-02-23 07:21:41 +00:00
nisimura
062c4f6e22 Add code segment for PMAGD, which is under development this moment. 2001-02-22 07:46:01 +00:00
cgd
8a986b2e96 convert to use getprogname() 2001-02-19 22:48:57 +00:00
tsutsui
f3b589fc41 - Add options NTP (sync with GENERIC)
- Fix ident (s/GENERIC/TCWSCONS/)
2001-02-12 12:55:18 +00:00
minoura
1f30e6db74 Correct typo (s/unit/unix/). 2001-02-12 12:32:23 +00:00
itojun
d0bc7a3c3d s/unix/unit/ for ld* on mlx* :-) 2001-02-05 04:16:52 +00:00
ad
8d75ab98d3 Add a driver for the Mylex DAC960 family (including DEC SWXCR). 2001-02-04 17:05:11 +00:00
lukem
952413677f add options NTP (ok-ed by thorpej) 2001-01-27 03:02:52 +00:00
jdolecek
8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
thorpej
e9d4801895 Make ASTs per-process. 2001-01-19 18:51:17 +00:00
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
jdolecek
c1fc5392f5 adjust ddb variable access functions to have first arch 'const', make db_[e]regs[] const 2001-01-18 10:55:29 +00:00
thorpej
fc5dafc79b Fix a rather annoying problem where the sockaddr_dl which holds
the link level name for the interface (ifp->if_sadl) is allocated
before ifp->if_addrlen is initialized, which could lead to allocating
too little space for the link level address.

Do this by splitting allocation of the link level name out of
if_attach() and into if_alloc_sadl(), which is normally called
by functions like ether_ifattach().  Network interfaces which
don't have a link-specific attach routine must call if_alloc_sadl()
themselves (example: gif).

Link level names are freed by if_free_sadl(), which can be called
from e.g. ether_ifdetach().  Drivers never need call if_free_sadl()
themselves as if_detach() will do it if it is not already done.

While here, add the ability to pass an AF_LINK address to
SIOCSIFADDR in ether_ioctl() (this is what caused me to notice
the problem that the above fixes).
2001-01-17 00:30:49 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
augustss
46130fb7e5 Add uyap. 2001-01-16 03:38:22 +00:00
thorpej
d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej
45de366b2e Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>.  This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej
372338915a Use splnet() to block network interrupts, not splimp(). 2001-01-14 17:37:41 +00:00
martin
a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
thorpej
6f0dfa5049 splimp() -> splvm() 2001-01-14 03:32:20 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
nathanw
1c67d8b72d Add uftdi and ucom, now that they're tested and known to work. 2001-01-10 17:32:08 +00:00
martin
f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
thorpej
6795b1b166 No, really, pass the PA to alpha_pa_access(), not the PFN. 2001-01-07 05:42:54 +00:00
thorpej
7b9c3218e2 Make this C++ safe. 2001-01-07 03:59:31 +00:00
martin
242656c78a Enable the imported ISDN4BSD based ISDN subsystem.
This is the kernel part (userland to follow soon) of the latest (and
very probably last) release (version 0.96) of ISDN4BSD. ISDN4BSD has a
homepage at http://www.freebsd-support.de/i4b/.

It gives the user various ways to use the isdn connection: raw data (via
the i4brbch "raw b-channel" device), ppp (via the isp "isdn PPP" device),
voice/answering machine (the i4btel "telephone" device) and ip over isdn
(the ipr device, "IP over raw ISDN").

Supported are a bunch of common and older cards, more to be added soon
after some cleanup. Currently only the european E-DSS1 variant of the
ISDN D channel protocol is supported.
2001-01-05 13:09:15 +00:00
itojun
a493f2d3fd typo. struct fpregs -> struct fpreg 2001-01-04 04:42:59 +00:00
thorpej
33338b633a ANSI'ify, and inline userret(). 2001-01-03 22:15:38 +00:00
thorpej
09ffed2ba0 ANSI'ify. 2001-01-03 21:40:25 +00:00
thorpej
dbe63d5a81 Some more slight cleanup. 2001-01-03 21:39:20 +00:00
thorpej
5602df2e07 Fix a couple of comments. 2001-01-03 21:27:07 +00:00
thorpej
c3d730df25 ANSI'ify. 2001-01-03 20:29:58 +00:00
thorpej
a2a696618e Restructure alpha_sgmap_dmamap_create() slightly. 2001-01-03 20:12:34 +00:00
thorpej
db36913c87 The code that creates/destroys SGMAP DMA maps is the same; put it
in a common place and share it.
2001-01-03 19:15:59 +00:00
takemura
c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
mrg
d9a9b8d6d5 the tcds cards work in pmaxen. move tcds attachment to files.tc. leave asc
at tcds in files.alpha for now, and add a new `xasc at tcds' to files.pmax.
after pmax has moved fully to MI scsi (and `asc' is MI scsi), we should move
the device asc, etc., lines to files.tc.
2001-01-01 23:43:05 +00:00
tsutsui
647fc19862 Sync with GENERIC:
> PCMCIAVERBOSE (commented out)
> isapnp at isa (commented out)
> midi at pcppi
> ep at isapnp (commented out)
> ix at isa (commented out)
> iy at isa (commented out)
> wdc at isapnp (commented out)
> wss at isapnp (commented out)
>
> The isapnp stuff is commented out because it may crash due to unimplemented
> alloc methods on some machines with some devices.  This should really get
> fixed.
2000-12-30 07:01:31 +00:00
mycroft
584db4dfbf No need for this to be checked in any more. 2000-12-29 22:06:17 +00:00
mycroft
1642c89d86 Add some random things I've tested over the years:
PCMCIAVERBOSE (commented out)
isapnp at isa (commented out)
midi at pcppi
ep at isapnp (commented out)
ix at isa (commented out)
iy at isa (commented out)
wdc at isapnp (commented out)
wss at isapnp (commented out)

The isapnp stuff is commented out because it may crash due to unimplemented
alloc methods on some machines with some devices.  This should really get
fixed.
2000-12-29 22:03:47 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
sommerfeld
5217f6335b Let COMPAT_LINUX build with DEBUG 2000-12-27 23:47:58 +00:00
itojun
efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
tron
37f9e37daf Fix typo in last commit. 2000-12-23 13:11:57 +00:00
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
ad
4368af2854 In tc_fb_cnattach(): match from a table, and add #ifdef'ed out glue for the
px/pxg devices.
2000-12-22 13:33:57 +00:00
thorpej
1d9aa8a803 Add Sable and Lynx support. 2000-12-21 23:05:47 +00:00
thorpej
f363b73f87 Add support for the AlphaServer 2100 (Sable) and the AlphaServer 2100A
(Lynx), written from scratch by me over a year ago, but never committed
to the tree because there was a bug I could never quite find.  I have
fixed a few problems in the code, but still don't know if that bug is
quite fixed.  Since I don't have access to the hardware directly, I'll
have to call for testers again.
2000-12-21 20:51:53 +00:00
itojun
823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
chs
fc03073896 expose the tunables ubc_nwins and ubc_winsize in uvm_param.h.
add the space used by UBC mappings to the initial PTE calculations
for pmaps that do that (mips and alpha).
2000-12-21 00:52:01 +00:00
tsutsui
df19f979d4 Add pseudo-device vlan. 2000-12-19 15:43:07 +00:00
bouyer
c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
thorpej
ad4f387a4c Put back the INITIALLY_{ENABLED,LEVEL_TRIGGERED}() PROM brain-damage
work-around.  It's required in order for the DEC Multia (a very
brain-damaged little machine) to work properly.

Submitted by Juergen Weiss <weiss@uni-mainz.de>, addresses
port-alpha/11202.
2000-12-18 21:49:08 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
tsutsui
e9da06d897 Add options COMPAT_LINUX (sync with GENERIC). 2000-12-15 18:19:03 +00:00
thorpej
cd414d81ab Glue in ALTQ. 2000-12-14 23:55:31 +00:00
mycroft
fbcb53e0b5 Sync with -current, add COMPAT_LINUX. 2000-12-14 20:46:06 +00:00
mycroft
c0d0ffef4e Some #ifdefs to make LKMs happy. 2000-12-14 18:44:20 +00:00
mycroft
33d5c07c1b Clean up #includes. 2000-12-14 18:34:59 +00:00
mycroft
1b77a6e458 Add COMPAT_LINUX. 2000-12-14 18:28:30 +00:00
mycroft
3c073877f3 osf1_locore.s -> osf1_sigcode.s, to match the global convention.
Add linux_syscall.c.
2000-12-14 18:06:13 +00:00
mycroft
0a01b4476a Do the previous with a forwarding declaration of struct proc instead. 2000-12-14 00:41:50 +00:00
mycroft
473eee8c82 Wrap mdproc in #ifdef _KERNEL. 2000-12-14 00:38:20 +00:00
mycroft
008f44277d Do the fast/slow path separation, a la x86. 2000-12-13 07:53:58 +00:00
mycroft
108d17eb16 Do the md_syscall, __HAVE_MINIMAL_EMUL and __HAVE_SYSCALL_INTERN thangs. 2000-12-13 03:16:36 +00:00
mycroft
760ab2591f Oops; add PROC_PC(). 2000-12-13 00:46:31 +00:00
mycroft
dc26c1ab17 Start cleanup of syscall(), similar to i386 and arm32. getpid() rate on my
AS200 goes from ~279000/s to ~446000/s.
2000-12-13 00:38:20 +00:00
thorpej
c5293456da Adapt to bpfattach() changes, and further centralize the bpfattach()
and bpfdetach() calls into link-type subroutines where possible.
2000-12-12 18:00:22 +00:00
nisimura
8df2fd7ff9 A forgotten commit that should be done at the time when zs_ioasic.c was
changed.
2000-12-08 09:42:44 +00:00
thorpej
8f1cd7c976 pmap_growkernel() has been implemented. 2000-12-07 22:18:55 +00:00
thorpej
cb717a97fa Fix MP race condition introduced in the previous. 2000-12-07 22:11:40 +00:00
jdolecek
101ce19db1 generate dependencies for assym.h for make depend, fix dependency
for maxusers (make assym.h depend on Makefile)
2000-12-07 17:32:33 +00:00
thorpej
5c7e0ada43 Use a pool cache for L1 PT pages. When we can allocate a cached,
constructed L1 PT page, this saves us from having to copy the kernel
L1 PTEs into the user L1 PT page at fork time (it's already set up).

A simple test shows a 1 second improvement of a rapid fork/exit operation
10000 times on a 533MHz 21164A (12s to 11s).
2000-12-07 05:59:07 +00:00
jdolecek
7924882d2e remove unneded opt_compat_osf1.h stuff 2000-11-29 21:50:49 +00:00
jdolecek
9cdf00b4bb remove rules for genassym.c, it's no longer pertinent 2000-11-29 13:02:51 +00:00
jdolecek
0e8ae0e54a convert to use common genassym.cf 2000-11-29 12:55:11 +00:00
thorpej
5f3a256833 Allocate the DMA windows out of the PCI memory extent map after
DMA is initialized.
2000-11-29 06:30:09 +00:00
thorpej
96294f7b26 Do the additional PCI memory initialization after configuring DMA. 2000-11-29 06:29:10 +00:00
thorpej
8f20972db2 Revert previous -- we'll do it differently. 2000-11-29 06:21:12 +00:00
thorpej
d615083897 The AMD 751 doesn't have DMA windows, so allocate the RAM out of the
PCI memory extent map.  Bad things will happen if we try to assign
a device where RAM is mapped into PCI space.
2000-11-29 05:56:49 +00:00
thorpej
8ebabb1aae Increase the number of static extent descriptors from 8 to 16,
and add a means for calling a chip-specific init hook.
2000-11-29 05:53:29 +00:00
jdolecek
f6a7e12165 split linux signal code off locore.s 2000-11-27 22:29:26 +00:00
ad
57ea462da2 lsu -> ld, by popular request. 2000-11-26 17:44:02 +00:00
thorpej
484693d993 `babylon' no longer exists. 2000-11-26 04:59:03 +00:00
thorpej
dce417005a Kernel config file for basil.shagadelic.org, my API UP1000 devel machine. 2000-11-26 04:58:07 +00:00
chs
b5142d6841 increase PAGER_MAP_SIZE to 16MB and move it to uvm_pager.h
since the alpha and mips pmaps use it.
2000-11-24 22:41:38 +00:00
chs
fa19fe52db adjust the spinlock macros in the non-MULTIPROCESSOR, non-LOCKDEBUG case
so that gcc will think that static spinlock are used.
this allows us to remove the ugly conditionalization of
static spinlock declarations.
2000-11-24 03:59:07 +00:00
simonb
f91f0ea65c Make this compile again (unterminated `#if' conditional). 2000-11-24 02:21:56 +00:00
thorpej
534e7d4454 Several changes, which get us generally further along with
multiprocessor support:
- Implement MP-safe halt.
- Make the FPU saving code more like Bill's on the i386 MP branch.
  XXX This code will no doubt be revisited again.
- Pass the cpu_info and trapframe to IPI handlers, saving some work
  in the handlers themselves, and also making it possible for the
  "pause" handler to reference register state for DDB.
- Add "machine cpu" to DDB, making it possible to reference other
  CPUs registers (and thus get e.g. a traceback) from whichever
  CPU is actually running the debugger.
- Garbage-collect "machine halt" and "machine reboot" DDB commands.
  They don't have a prayer of working properly in multiprocessor
  kernels, and didn't really work all that well in uniprocessor kernels.
2000-11-22 08:39:46 +00:00
thorpej
6cbdf24c45 Add a debugging printf, commented out by default. 2000-11-22 07:44:01 +00:00
enami
9c0026f5fa s/char \*/const &/ so that this file compiles again. 2000-11-22 04:28:13 +00:00
itojun
1c06733c6b constify 2000-11-22 03:54:01 +00:00
thorpej
7231516137 Just access the trapframe directly for DDB registers. 2000-11-22 02:25:52 +00:00
thorpej
7f6303947a Restructure the way registers are presented to DDB, to make it
easier to support reading registers from other CPUs.
2000-11-22 02:03:48 +00:00
jdolecek
baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
thorpej
f595d8e741 Ooops, do the last only if MULTIPROCESSOR. 2000-11-20 21:18:07 +00:00
thorpej
13c94ca56c We've fixed enough bugs that we can actually acquire the scheduler
lock, jump into the idle loop, and run user code!  Yippee!
2000-11-20 20:40:17 +00:00
thorpej
b37faa6ca5 Protect microtime_slock appropriately. 2000-11-20 20:37:52 +00:00
thorpej
e12f731db5 On the Alpha, interprocessor interrupts come in at the same priority
as normal device interrupts.  Because of this, we won't get IPIs while
servicing such interrupts.  This can lead to the following deadlock
scenario as reported by Bill Sommerfeld:
- Process runs on cpu1, but has FP state on cpu0.
- Process executes FP-using insn, causing an FP trap, which causes
  the kernel lock to be acquired.
- At roughly the same time, cpu0 receives a device interrupt, and attempts
  to acquire the kernel lock, which blocks since cpu1 already has it.
- cpu1 sends cpu0 a SYNCH FPU IPI, and waits for cpu0 to release its
  FP state.
- Since cpu0 cannot notice the IPI until it has processed the device
  interrupt, which it cannot do because it cannot acquire the kernel
  lock, we have deadlock.

Solve the problem by adding a spinlock interlock release hook which
checks for pending IPIs and processes them.

Idea from Bill Sommerfeld.
2000-11-20 20:17:13 +00:00
thorpej
fdfb847e3e Make ci_ipis volatile. 2000-11-20 19:25:43 +00:00
thorpej
7f059c8e69 Move IPI processing into a separate function. 2000-11-20 19:24:36 +00:00
thorpej
5a22e57dc3 Print the CPU ID while dumping trap info. 2000-11-20 15:33:39 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
thorpej
2f1e131332 Delete a block of code that was intended to get the second
CPU to handle interrupts, but prevents a whole slew of things
from working properly on the second CPU.  It is no longer
necessary now that several other bugs have been fixed.
2000-11-20 03:15:15 +00:00
thorpej
fe5b367ce6 In Idle(), only switch to the idle PCB if we're not already running
on it, and make sure to deactivate the old process's address space,
as this will not otherwise be done by cpu_switch() later once we're
on the idle PCB.

Also, update some comments related to when s0 (i.e. the old process)
is NULL in the context switching code.
2000-11-20 02:44:45 +00:00
sommerfeld
2a0dca4bec Correct conditionalization of last change. 2000-11-19 20:11:12 +00:00
sommerfeld
8074b0b0b2 MULTIPROCESSOR: context switch to cpu's idle pcb before unlocking the
scheduler in idle so our stack doesn't get stolen out from underneath us.
2000-11-19 20:08:36 +00:00
sommerfeld
c0c9c552c0 Fix obvious typo (don't mark current cpu as not running when doing a
broadcast IPI).
2000-11-19 20:05:25 +00:00
thorpej
87819535b2 Synch cpu_hatch() with the i386:
- print the same style message when the CPU is running.
- Initialize ci->ci_schedstate.spc_runtime on the CPU.
2000-11-19 19:18:19 +00:00
thorpej
69a3a857be As a temporary measure, protect microtime() with a simple lock.
XXX Needs to be rewritten from scratch.
2000-11-19 19:16:44 +00:00
tsutsui
ae33b9bc92 More cosmetics.
BTW, why these two "generic" config files exist?
2000-11-19 14:23:34 +00:00
tsutsui
d805c3822e Remove "rnd is EXPERIMENTAL" comment. 2000-11-19 14:14:31 +00:00
tsutsui
523ec808a6 - Add bba* at ioasic?
- Some cosmetics
2000-11-19 14:10:56 +00:00
tsutsui
13c5a51b02 Add some newer stuff from GENERIC and enable rnd. 2000-11-19 14:03:39 +00:00
tsutsui
f6c12f31f0 Sync with GENERIC. 2000-11-19 13:46:29 +00:00
thorpej
b9ad1f75b9 Make VM_MAX_KERNEL_ADDRESS end on a page boundary. 2000-11-19 03:16:55 +00:00
thorpej
561db1fb7e Implement pmap_growkernel(). 2000-11-19 03:16:34 +00:00
thorpej
137c030d5b Count individual interprocessor interrupts -- it's good to know where
they all come from.
2000-11-18 19:25:35 +00:00
thorpej
34f24f4819 Make sure that the cpu_info points at the correct softc on
single-processor kernels running on multi-processor systems.
2000-11-18 17:45:31 +00:00
sommerfeld
859adc84de Loading the cpu_info value into the kgp for the new cpu isn't likely to work
very well.
2000-11-18 16:21:37 +00:00
thorpej
73265fa0c9 Duh, don't need SGMAP-related includes on this chipset. 2000-11-18 05:56:20 +00:00
thorpej
72a145bd5e I have long since upgraded the boot block on my test system. (Actually,
I have an entirely different test system now.)
2000-11-17 22:47:30 +00:00
thorpej
b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
augustss
eb9736c09a Add uscanner. 2000-11-14 19:52:04 +00:00
mycroft
63270df506 Sync with GENERIC. 2000-11-12 06:52:37 +00:00
itojun
05b2e0b151 /t_line/t_linesw (typo) 2000-11-10 11:08:32 +00:00
ad
e6be92ad99 Pull in dev/i2o/files.i2o. 2000-11-08 19:48:51 +00:00
matt
c135d1f282 Add files.ieee1394 2000-11-05 22:48:27 +00:00
eeh
bc7363329c Adapt to new line discipline scheme. 2000-11-02 00:26:35 +00:00
ad
23f6f01a0d ca -> lsu 2000-10-19 14:35:41 +00:00
nisimura
77124c056b Have zstty/zskbd/zsms attached appropriately with standard hardware
configuration.
2000-10-17 08:58:42 +00:00
nisimura
1fd2521475 - efforts to merge TC Alpha and IOASIC DECstation, derived from Mattias
Drochner's work made in nisimura-pmax-wscons branch.  Still a little
  to do before useful for DECstation.  MI softintr required.
- allow wildcard matchs to have zstty/zskbd/zsms in default hardware
  configuration.
- abandon to check zs_ioasic_cnattach() return value; it doesn't fail.
- have zs_ioasic_cnattach() serial line parameters hardcoded inside, in
  symmetry with zs_ioasic_lk201_cnattach().
2000-10-17 08:55:43 +00:00
itojun
9e47af8814 enable rnd device. they are now mandatory for ssh/sshd support,
so it makes more sense to enable it.
please disable them if there's any issues, but in that case, in-tree
ssh/sshd won't work.
2000-10-04 03:35:53 +00:00
abs
2824f4906d Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device  pty             2       # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
2000-10-02 18:43:34 +00:00
simonb
215a3a5491 Add support for booting off RAIDframe RAID1 mirrors.
Check the first partition type in devopen(), and if it is of type
FS_RAID, add 64 to blkdev_part_offset.

NOTE: This brings the size of the alpha first-stage bootblocks up to
      close to the maximum.  RAID1 support is controlled by the
      BOOTXX_RAID1_SUPPORT define, and is easy to disable if size
      becomes an issue.
2000-09-26 05:13:36 +00:00
abs
3ef92f0bdb Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
2000-09-25 13:54:50 +00:00
abs
ccf1c822a6 Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options        VNODE_OP_NOINLINE       # Don't inline vnode op calls
#options        NFS_V2_ONLY             # Exclude NFS3 and NQNFS code
as suggestions for additional savings
2000-09-25 11:46:37 +00:00
jdolecek
b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
jdolecek
49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
augustss
e9a2baa2ff Grab a major # for USB scanners. 2000-09-23 04:30:08 +00:00
thorpej
264dadf928 After consultation of the 21164A manual, the I-cache blocks are
indeed tagged with ASM and the ASN, "per the Alpha architecture".
It is therefore safe to cancel any pending lazy I-sync on a
given CPU when a new ASN is assigned on that CPU.
2000-09-22 05:23:37 +00:00
thorpej
a42b372bd6 In pmap_ptpage_steal(), don't traverse into the kernel portion
of the address space.
2000-09-19 01:02:37 +00:00
thorpej
d4f4fa2190 Make sure pmap_collect() doesn't remove wired mappings. Per discussion
w/ Chuq Silvers.  Fixes a panic when a program with wired pages that
has run for a long time when the system is under heavy memory load
exits (specific case was ntpd, reported by Simon Burge).
2000-09-14 17:06:52 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
nisimura
48ff19c98b u_char -> u_int for function argument and return of Zilog register
manipulation helper functions; no loss, no gain, for Alpha processor.
2000-09-09 06:08:42 +00:00
thorpej
9c5afcb2f0 Move the Alpha _mcount() into a .S file so that it can be
pre-processed, like other Alpha assembly files.
2000-09-05 16:28:30 +00:00
thorpej
0778dad08f Define the biglock perimeter for the Alpha port, and generally clean
up a bunch of the MP code.  Still doens't work properly yet, this is
just a snapshot of work-in-progress.
2000-09-04 00:31:58 +00:00
thorpej
7453e98fb9 Profiling version of the FRAU-FARBISSINA kernel. 2000-09-02 21:38:19 +00:00
thorpej
9eed6192a2 Un-transpose some characters in an abbreviation. 2000-08-26 06:58:25 +00:00
thorpej
0ba350214f Thinko in previous. 2000-08-26 03:33:49 +00:00
thorpej
2af5e3861c Fix a couple of typos in previous. 2000-08-26 03:32:36 +00:00
thorpej
0e04909346 Snapshot of TLB shootdown bugfixes. 2000-08-26 03:27:44 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej
2648536e0c Add experimental code for pausing other CPUs upon a CPU's
entry into the debugger.  While I'm here, add splsched()
as per spl(9).
2000-08-21 02:03:12 +00:00
thorpej
a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
thorpej
5a7793edd9 Implement MP-safe lazy FP context switching, modeled on the
way Bill Sommerfeld implemented it for x86 (and bug fixes
fed back to Bill :-)
2000-08-15 22:16:17 +00:00
thorpej
c7b8439ec4 - Make lazy I-sync a little safer -- always mark the pmap as needing
I-sync in pmap_remove_mapping() if the old mapping had PG_EXEC, and
  kick curcpu (IMB) or other CPUs (via an IPI) only if the pmap was
  the kernel pmap or active on other CPUs (curcpu is handled in userret()).
- Use lazy I-sync everywhere, (hopefully) eliminating the last of the
  I-sync issues for multiprocessor support.
- Eliminate some memory barriers added in a couple of previous revisions,
  after some discussion on port-alpha/tech-smp.

Still some lazy I-sync optimization possibilites:
- pmap_changebit() does not need to I-sync when only write-protecting
  a page.
- pmap_asn_alloc() may be able to cancel a pending lazy I-sync when a
  new ASN is allocated.  Need to double check against Green Book or
  Brown Book.
2000-08-15 05:21:20 +00:00
thorpej
f10ccf00b1 Remove an unnecessary MB in __cpu_simple_unlock(), per sections
5.3.3 and 5.3.4 of the Green Book, and a discussion w/ cgd@netbsd.org.
2000-08-14 20:28:28 +00:00
thorpej
b80f38bf8b Issue a memory barrier before clearing a lock, as per section 5.5.3
of the Green Book and a discussion on tech-smp and port-alpha.
2000-08-14 17:18:50 +00:00
thorpej
86ef3ea256 Clean this up a little bit, and issue a Specific EOI after
dispatching an EISA interrupt.
2000-08-14 05:38:23 +00:00
thorpej
b022657405 Add support for EISA configuration space on the Jensen (it's
mapped differently than on other EISA sysetms).
2000-08-14 02:14:24 +00:00
thorpej
5d5752af8b More MP cleanup:
- pmap_zero_page() and pmap_copy_page(): if MULTIPROCESSOR, issue
  a memory barrier after we zero/copy the page, to ensure that
  other CPUs see the correct data.
- XXX Should we use MB, or is WMB good enough?

Also, bzero -> memset, bcopy -> memcpy.
2000-08-13 22:43:42 +00:00
thorpej
cdc6dac7f1 More MP cleanup:
- Make sure to do an MB after a PTE is set to a new value, so that
  other processors see it.
- Use lazy I-sync in two pmap_page_protect() and in pmap_changebit(),
  so that it is MP-safe.  XXX Two more places where IMB is used in
  the raw, but they're not in the common path.

There'll be some more lazy I-sync cleanups soon.
2000-08-13 22:30:18 +00:00
thorpej
f49fa3615c Add some XXXSMP to places were imb is still used in the raw. 2000-08-13 18:41:15 +00:00
thorpej
cd04e9fb14 Add MULTIPROCESSOR versions of PMAP_SYNC_ISTREAM_{KERNEL,USER}(). 2000-08-13 18:22:21 +00:00
thorpej
325f9ccafc Add alpha_multicast_ipi(). 2000-08-13 18:20:55 +00:00
itojun
85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
thorpej
65c9982dfa Back out part of previous which was unintended. 2000-08-11 18:26:09 +00:00
thorpej
e4eb846113 Add depca at eisa. 2000-08-11 03:05:19 +00:00
thorpej
e931f846ff #if 0 out a debugging printf. 2000-08-11 01:02:39 +00:00
thorpej
e207174eb0 Add functions to read EISA configuration data for MEM, IRQ, DMA, and IO.
XXX Just error stubs on the i386 right now -- someone needs to write
XXX EISA BIOS code for i386.
2000-08-11 00:43:18 +00:00
thorpej
30f7d691a0 Declare the ECU data in an MI location, so that drivers can
use it.
2000-08-10 23:30:08 +00:00
tv
5165243e6c %lz -> db_format_hex() 2000-08-09 20:00:30 +00:00
tshiozak
51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
briggs
3f1e17a340 Define bus_space_*_stream_N functions as their non-stream counterparts. 2000-07-31 22:43:46 +00:00
thorpej
d760e0b407 Add code to read the EISA configuration NVRAM as set up by
an EISA Configuration Utility.  Code to access this data
is forthcoming.

XXX This could probably be made MI at some point.
2000-07-29 23:18:46 +00:00
mason
4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
jdolecek
911d661dad switch to sys/conf/newvers_stand.sh for generation of version files
move the vers.c depend/build goo to Makefile.bootprogs and remove
	explicit rules in other Makefiles
sync the message in */version files with other ports using newvers_stand.sh

XXX the new depend rules were tested to limited extend (also with obj dirs)
XXX on i386 and should be ok; the changes should not otherwise influence build
2000-07-21 21:25:18 +00:00
thorpej
9faf26ffb5 This file is obsolsete. 2000-07-19 17:39:57 +00:00
nathanw
e72ba11928 In cpu_switch(), load value *after* checking that the base register
is not NULL.
2000-07-19 14:00:24 +00:00
thorpej
ea0cb4c30e Clear the ISDN TXPTR/RXPTR/OVRN interrupt bits here. Based on
a suggestion by Gregory McGarry.
2000-07-18 06:10:06 +00:00
thorpej
5edc9ef4a4 When computing the segment size, consider the maximum segment
size in the DMA map.
2000-07-17 04:47:56 +00:00
thorpej
3eedcb3009 Whitespace police. 2000-07-13 05:47:39 +00:00
thorpej
1204c1faaf Oops, treat 2100A_A500 just like 2100_A500 in every place necessary. 2000-07-12 21:02:14 +00:00
thorpej
3182af4432 - Add Jensen support/devices.
- Add commented-out Sable/Lynx support/devices.
- Switch from `ncr' to `siop' by default.
- Add some missing `scsibus' configs to INSTALL.
2000-07-12 20:54:38 +00:00
thorpej
249773b538 Deal with another odd need of the Sable/Lynx systems, which need to
have an ISA chipset present before the PCI-EISA bridge has been
attached (because the STDIO module has an ISA DMA-using device,
the floppy controller, connected to it).
2000-07-12 20:50:00 +00:00
thorpej
a66c3e663c Code to support the DEC 2000/300 (DECpc AXP 150, a.k.a. "Jensen")
systems.  Thanks to Gyenes Istvan for the rounds of testing.
2000-07-12 20:36:07 +00:00
thorpej
55c41121ff Change from ncr' to siop' by default. 2000-07-12 20:27:25 +00:00
thorpej
42c89508c0 Uncomment the `fdc at sableio' lines. 2000-07-12 20:20:54 +00:00
nisimura
4f051180a0 - Use PMAD-BA name for device match logic. It's not a real TURBOchannel
device and the id string is not found in option ROM string, but
  ULTRIX/OSF1 call it so anyway.
- Squash IOASIC DMA buffer allocation into device attach() sequence.
2000-07-11 04:10:25 +00:00
thorpej
2c9058efbb Oops, g/c some stuff from previous. 2000-07-06 23:29:13 +00:00
thorpej
65780061bd Define some more CTB formats. 2000-07-06 22:46:54 +00:00
bouyer
4c19b21f72 3c503 works on alpha, add:
ec0 at isa? port 0x250 iomem 0xd8000 irq 9  # 3Com 3c503 Ethernet
2000-07-05 18:40:47 +00:00
nisimura
7b6a572aae zs_ioasic external declarations are stored in zs_ioasicvar.h. 2000-07-05 03:06:53 +00:00
nisimura
534c33a095 Use dev/tc/ directory for DEC3000 Z85C30s. 2000-07-05 02:50:39 +00:00
nisimura
728e424e54 Repopulate 4 files, zs_ioasic.c and zs_ioasicvar.h from arch/alpha/tc,
zskbd.c and zsms.c from dev/dec/, respectively.  No functionality
change this time.
2000-07-05 02:48:50 +00:00
nisimura
4dcd114ad5 Unnecessary to include <dev/tc/tcreg.h>. 2000-07-04 02:37:51 +00:00
nisimura
1de4ec68b4 Repopulate TCDS dual channel SCSI adapter to MI dev/tc, squashing
internals for better layering between TCDS DMA ASIC and ASC SCSI
controller.
2000-07-04 02:22:08 +00:00
thorpej
7878bcc14c Don't bother with minor printing, except on the LCA CPUs (because
that tells us if we have a 21066 or 21068).
2000-07-03 21:21:26 +00:00
thorpej
10e6c623b3 Print the system serial number. 2000-07-03 17:52:33 +00:00
thorpej
01bd2a3496 The `rpb_phys_address_size' field is really 2 32-bit fields,
`rpb_phys_address_size' and `rpb_extended_va_size', per Brown Book.
2000-07-03 01:47:48 +00:00
cgd
a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
simonb
edf0a0d67e Pass the abst to alpha_pci_mem_unmap() so that the real size of the
mapped area can be unmapped.
2000-06-30 18:19:28 +00:00
itojun
d76ae83df8 add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +00:00
mjacob
0d7f238097 no more vm includes 2000-06-30 00:00:26 +00:00
mrg
80bb8049ba remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 09:02:51 +00:00
mrg
c88e94a407 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:58:45 +00:00
thorpej
e9052d7c40 New delay() function that uses the RPCC instruction. From
Matthew Jacob <mjacob@feral.com>.
2000-06-28 02:02:26 +00:00
kleink
bb2ed0f487 G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_. 2000-06-27 05:53:22 +00:00
kleink
47b5c5e3b1 Resolve some formatting nits; add __intptr_t and __uintptr_t. 2000-06-27 04:58:51 +00:00
thorpej
69a6fe113c Garbage-collect CHIP_PHYSADDR(). 2000-06-26 19:46:24 +00:00
thorpej
cc9dfe871b Do the previously slightly differently, to avoid confusing the internal
space extent maps.  Pointed out by msaitoh@netbsd.org.  (Someone should
send me an EV6 machine!)
2000-06-26 18:19:26 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
thorpej
9a2d9ff68b Because of the Cool sign-extension hack we use to access PCI space,
the `get window' method ends up with the wrong physical address to
pass onto userspace (which wants to mmap the space).

Compensate by adding a CHIP_PHYSADDR() macro which un-hacks the address
suitably for mapping with other-than-KSEG.
2000-06-26 02:42:10 +00:00
enami
506c4945d8 Fix typo in previous to prevent compilation error when DEC_1000 isn't
configured.
2000-06-26 02:42:04 +00:00
thorpej
a2318e49a0 G/c unused include. 2000-06-25 19:33:01 +00:00
thorpej
167094d31a Implement mcpcia_bus_get_window(). 2000-06-25 19:32:19 +00:00
thorpej
865004842f Implement tsp_bus_get_window(). 2000-06-25 19:17:39 +00:00
thorpej
9f7689e3c9 For systems which have different systypes but share a common
support module, make consistent with other systems which options
you must enable for it to work.  Treat ``Lynx'' (2100A_A500) like
``Sable'' (2100_A500).
2000-06-25 17:21:55 +00:00
kleink
133ea38323 Add a WEAK_ALIAS() macro. 2000-06-23 12:18:45 +00:00
fvdl
1ee7d22c0b Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC. 2000-06-22 20:27:49 +00:00
matt
5c13e34063 CDROMs can exist on ide buses 2000-06-20 03:48:53 +00:00
simonb
8e0ec9a961 s/ouwl/outl/ in macro definition. 2000-06-19 12:19:38 +00:00
thorpej
01ae72fdf9 Enable uhid. 2000-06-14 22:28:13 +00:00
veego
223d7455c7 Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
2000-06-14 22:02:13 +00:00
thorpej
fe8841f18a Some platforms, like the Sable, hook EISA and ISA interrupts
up Very Differently.  Handle this.
2000-06-13 16:40:37 +00:00
tron
447112b869 Add entry for "bba(4)". 2000-06-13 06:15:51 +00:00
matt
58ca6aac15 Add netbsd.alpha & netbsd.alpha.gz for installation cds. 2000-06-12 23:38:03 +00:00
sommerfeld
4a9abf779e Fix this so it compiles again with DEBUG 2000-06-12 23:35:11 +00:00
thorpej
75975dd6c5 G/c some unneeded prototypes (functions don't exist). 2000-06-11 22:47:00 +00:00
thorpej
0531d2ddcb jensenio gets isadma_bounce attribute. 2000-06-11 22:45:44 +00:00
thorpej
91ed0189e8 Add Jensen files glue. 2000-06-11 21:25:23 +00:00
thorpej
99079f93c0 Add init glue for the DEC 2000/300 (Jensen). 2000-06-11 21:19:23 +00:00
sommerfeld
82b38059d6 Let this build again after the pckbc_cnattach change 2000-06-11 01:59:26 +00:00
thorpej
71cd989b8f Only include <machine/intr.h> if _KERNEL. Noted by enami tsugutomo. 2000-06-09 16:03:04 +00:00
soda
0f76c56f2d increase number of parameters of pckbc_cnattach(), since offset of command port
is not 4 (KBCMDP), but 1 on jazz based platforms of arc port.
2000-06-09 04:58:32 +00:00
cgd
c2ebb05a74 make spl0() and spllowersoftclock() return void. Also, move spl0()
prototype from param.h to intr.h.  (there were some big XXXs in param.h
that said to do that, and intr.h is included by param.h, so...)
2000-06-09 01:40:12 +00:00
thorpej
81afcb3940 And more ANSI'ification! 2000-06-08 03:10:06 +00:00
thorpej
966b3da402 ANSI'ify. 2000-06-08 02:53:47 +00:00
thorpej
8355a216eb Add the `rnd' driver. 2000-06-08 02:20:50 +00:00
thorpej
0bf91362b9 Add cpu_counter() for rnd(4), using the rpcc insn. 2000-06-08 02:19:20 +00:00
simonb
e59356ecdd In __cpu_simple_lock_try(), use "return (v0 != 0);" instead of
"return (v0);" where v0 is an unsigned long and the function return
type is int.  Stops lint warnings when this file is included.

Fix from Jason Thorpe.
2000-06-07 01:49:13 +00:00
matt
2b0f10e384 Needs to look at different stuff depending if the scsipi bus is SCSI or ATAPI 2000-06-06 20:26:19 +00:00
soren
a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
thorpej
c791fe193f Give the sio' and pceb' drivers the `82c693' attribute. 2000-06-06 03:10:55 +00:00
thorpej
f3d9d1ac8a Use the common 82c693 access functions to read/write the ELCR. 2000-06-06 03:10:13 +00:00
thorpej
f65502fc36 Report which compatibility IRQ the PCI IDE gets. 2000-06-06 00:50:15 +00:00
jhawk
c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
thorpej
b0ce38fd8a Switch to the new `evcnt' mechanism for counting interrupts. Maintain
a per-CPU interrupt counter for clock, device, and interprocessor
interrupts.
2000-06-05 21:47:26 +00:00
thorpej
2668e3b213 Switch to the new `evcnt' mechanism for counting interrupts. Maintain
a per-CPU interrupt counter for clock, device, and interprocessor
interrupts.
2000-06-05 21:47:10 +00:00
nisimura
4371d91433 Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adater
and scsipi_device respectively, with size reduction of ncr53c9x_softc.
Specifying NULL instructs the driver to use default adapter and default
device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-05 07:59:50 +00:00
cgd
cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
thorpej
1c8cd252f9 ANSI'ify. 2000-06-04 18:09:36 +00:00
thorpej
6addd3ac42 Nuke a couple of unnecessary IMBs. In these cases, the mappings weren't
hanging, only perhaps the permissions being lowered, in which case the
I-stream does not need to be sync'd.
2000-06-04 17:39:12 +00:00
thorpej
a39439b400 ANSI'ify. 2000-06-04 16:55:57 +00:00
thorpej
e8d65fec30 ANSI'ify function declarations. 2000-06-04 05:27:45 +00:00
thorpej
70dc4d8718 Un-__P'ify kernel prototypes. 2000-06-04 05:23:18 +00:00
thorpej
df4a5a7f43 Increment an interrupt depth counter in non-clock interrupt cases
so that we can get time spent in interrupt statistics.
2000-06-04 03:40:03 +00:00
thorpej
cd423732b8 - Clean up clock interrupt code a bit, and provide a CPU_IS_PRIMARY()
macro in the MULTIPROCESSOR case (hardclock() wants it).
- Implement __GENERIC_SOFT_INTERRUPTS, and redefine the legacy
  software interrupts in terms of it.  Garbage-collect setsoftserial().
2000-06-03 20:47:36 +00:00
thorpej
be636036f8 Err, actually, print "21264A", not "EV67". 2000-06-03 14:13:42 +00:00
thorpej
d42ef058b5 Recognize PCA57 and EV67. 2000-06-03 14:12:54 +00:00
thorpej
392948ced8 Add EV57 and EV67 processor variants.
cvs: ----------------------------------------------------------------------
2000-06-03 14:12:28 +00:00
nisimura
b52ffbdbe9 Make clarified SCSI transfer direction flag. sc_ispullup == pullup
data from SCSI device == DMA into main memory == datain.
2000-06-02 04:35:06 +00:00
thorpej
9851571246 Add support for the Alpha Processor, Inc. UP1000 EV6 system. 2000-06-01 20:30:28 +00:00
thorpej
79744e1563 Add a global patchable variable to enable debugging printfs in the
code that finds the boot device.
2000-06-01 17:12:38 +00:00
sommerfeld
f732048856 Add missing newline 2000-06-01 13:50:48 +00:00
thorpej
e75d8e3878 Forgot __KERNEL_RCSID(). 2000-06-01 05:49:36 +00:00
thorpej
5114577ab0 ISA DMA bounce buffer code, needed for a couple of SGMAP-less
systems, support for which will be hitting the tree soon.
2000-06-01 03:55:45 +00:00
thorpej
1cf70c169f Rearrange things a little so we can deal with systypes that aren't
densely packed.
2000-06-01 03:41:23 +00:00
thorpej
850f9b030b Typo. 2000-06-01 03:16:51 +00:00
thorpej
c7f9211c18 Add placeholders for the support files for the Alpha Processor, Inc.
UP1000 EV6 system.
2000-06-01 03:16:19 +00:00
matt
c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
cgd
47449a63d2 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:04:50 +00:00
thorpej
370a47ecac Add a few systypes. 2000-05-31 18:29:17 +00:00
thorpej
0d866249d4 - In the MULTIPROCESSOR case, initialize p_cpu before a process is
marked SONPROC.
- Always make curproc, fpcurproc, astpending, and want_resched per-CPU
  variables in struct cpu_info.  Restructure code accordingly, and trim
  a few instructions from a few spots in various places in locore.
2000-05-31 05:14:26 +00:00
mycroft
65ace9d5d8 Yessiree! It's softdep time! 2000-05-31 04:57:20 +00:00
matt
3f4005113e funciton != function 2000-05-29 23:34:08 +00:00
matt
c7c33f1747 make egcs happy: ioasic.c:327: warning: suggest parentheses
around arithmetic in operand of |
2000-05-29 02:16:57 +00:00
thorpej
8576ef9a13 Add Cyclades-Z. 2000-05-28 23:06:39 +00:00
thorpej
0936213012 Add Cyclades Y and Z multiport serial adapters. 2000-05-28 23:05:19 +00:00
gmcgarry
6eb4356ecf IOASIC_INTR_ISDN is used for interrupts on every sample. We use DMA so
need IOASIC_INTR_ISDN_TXLOAD|IOASIC_INTR_ISDN_RXLOAD.
2000-05-28 06:07:31 +00:00
thorpej
e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
thorpej
5410ee3607 Update a couple of comments for reality. 2000-05-27 06:29:35 +00:00
sommerfeld
40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
jhawk
8e44b27348 Rename the machine-specific stack trace printing functions
from db_stack_trace_cmd() to db_stack_trace_print(),
and add an additional argument, a function pointer for an
output routine (i.e. printf() or db_printf()).

Add db_stack_trace_cmd() in db_command.[ch], calling
db_stack_trace_print() with db_printf() as the printer.

Move count==-1 special handling from db_stack_trace_print() [nee
db_stack_trace_cmd()] to db_stack_trace_cmd() [nascent here].

Again, I'm unable to test compilation on all affected platforms,
so advance apologies for potential brokenness.
2000-05-26 03:34:24 +00:00