Commit Graph

2508 Commits

Author SHA1 Message Date
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
thorpej
8964c35eca Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
jhawk
f3528d725d Interface change: db_printsym() takes a third argument, pr, a function
pointer indicating how to print the symbol. This allows db_printsym()
to called in places where db_printf() is not an appropriate output
function.

While straightforward, apologies in advance if I've introduced any minor
syntax errors; I was unable to test compilation this on all the affected
platforms.
2000-05-25 19:57:30 +00:00
mycroft
57f3751ca1 Add ipfilter-related stuff. 2000-05-25 16:33:13 +00:00
thorpej
1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
thorpej
f6cea17c36 Rename the atomic operations to have generic machine-independent
names, and define __HAVE_ATOMIC_OPERATIONS to indicate their
existence.
2000-05-23 05:12:53 +00:00
thorpej
d3ea31501b Add an MP version of this config, and add come commented out
debugging options.
2000-05-23 05:01:56 +00:00
thorpej
0aae1fb638 Note that KN300 is also for AlphaServer 1200. 2000-05-23 02:04:28 +00:00
thorpej
b97e178455 Add kernel config for my AlphaServer 1200 MP hacking box. 2000-05-23 02:02:41 +00:00
thorpej
2c49ab816e When checking for netboot, also check for MOP protocol. 2000-05-22 20:13:31 +00:00
thorpej
800573dc5f Normalize determination of scsiboot and netboot. 2000-05-22 20:09:12 +00:00
thorpej
09e72ae7e2 Remove the adjustment of VM_PHYS_SIZE for `large memory machines'. The
only adjustment that was really necessary was for VM_KMEM_SIZE, and that
is no longer necessary because there is now generic auto-sizing for
kmem_map.
2000-05-22 17:13:53 +00:00
thorpej
7e078f081c Kernel config for my Alphastation 200 file server + wireless network
gateway.
2000-05-22 16:46:11 +00:00
thorpej
20241c549c These systems haven't been available to NetBSD/alpha developers
for a very very very long time, and there are more up-to-date
example configs for the BUNNY case.
2000-05-22 16:45:30 +00:00
thorpej
61ae567197 Rename CANE to MINI-ME to reflect that my Multia hasn't been
parked at my (former) NASA office for quite some time.
2000-05-22 16:38:24 +00:00
thorpej
b0600483b9 bishop.nas.nasa.gov and nostromo.nas.nasa.gov are no more. 2000-05-22 16:35:25 +00:00
thorpej
071aed40ac A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well.  This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.
2000-05-19 18:54:22 +00:00
matt
f7b0b612b4 Add PCMCIA. 2000-05-18 04:03:30 +00:00
thorpej
463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
thorpej
26f56b9cab Only use __builtin_va_alist_t if using GCC 2.96 or later. Fixes
pkg/10080, from Matthias Scheler.
2000-05-12 23:49:11 +00:00
thorpej
c52b8eabae Make stdarg/varargs work with GCC 2.96. 2000-05-10 17:53:45 +00:00
hubertf
9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej
6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
augustss
3a6e3a4670 Add (sometimes commented out) MIIVERBOSE option. 2000-05-08 13:49:44 +00:00
augustss
8abcd395fd Add bba(4) attachment. 2000-05-02 08:04:24 +00:00
thorpej
855b79db92 Let each platform typedef the new __cpu_simple_lock_t, which should
be the most efficient type used for the atomic operations in the
simplelock structure, and should also be __volatile.
2000-05-02 04:41:04 +00:00
thorpej
dc8f3d3b3f Oops, install <machine/lock.h> on these systems, too. 2000-04-29 03:45:42 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
ad
db06ac868b Attach cac* and ca*. 2000-04-28 13:51:56 +00:00
ad
8f9b06a9e6 - Enable ca(4) device.
- Fix a couple of nits.
2000-04-28 13:50:25 +00:00
thorpej
0cde36f780 Carve off the ISA configuration bits from the floppy driver. Driver is
still ISA-specific, but we can attach ISA instances with different
configuration mechanisms now.
2000-04-23 16:47:45 +00:00
thorpej
bedbdf87a4 rl -> rtk 2000-04-22 16:28:48 +00:00
haya
784977f319 Changes the name of RealTek driver. The new name is `rtk'. This used
to be called `rl' and it conflict with RL vax disks, canonical and
historical unix driver name.

This changes are minimal: it only changes the name of RealTek driver.
The filename of source code and a lot of the letter `rl' in source
files should be changed shortly.
2000-04-19 08:44:31 +00:00
itojun
3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
tron
939041f1aa Fix typo in last commit. 2000-04-18 14:48:53 +00:00
drochner
13c9f8d398 implement bus_space_vaddr() 2000-04-17 17:24:48 +00:00
simonb
856c6ff149 Remove duplicate CTL_MACHDEP definitions (duplicated in <alpha/cpu.h>). 2000-04-10 06:04:28 +00:00
chs
64bb56dcc8 add decls for fd driver. 2000-04-10 01:19:13 +00:00
thorpej
a9f69b00d2 Use UVM_PGA_ZERO. 2000-04-10 00:48:35 +00:00
nathanw
69b1a83709 Restore sysbeep (accidentally removed in last commit). 2000-04-07 18:58:09 +00:00
thorpej
6dd5a9db6e Use dev/isa/fd.c. 2000-04-07 16:35:19 +00:00
thorpej
156114a02f Use the new cpu_amask variable rather than calling alpha_implver() and
alpha_amask() ourselves.
2000-04-03 01:48:07 +00:00
thorpej
55287d7159 Print any architecture extensions present on the primary CPU. 2000-04-03 01:47:28 +00:00
thorpej
dbcb4cee48 Fix a typo in a previous revision, and add bit names for amask bits for
use with bitmask_snprintf().
2000-04-03 01:10:17 +00:00
mycroft
cfeee7a4ef Enable de, since tlp doesn't support one of my cards. 2000-04-03 01:04:36 +00:00
augustss
9a31a8c77f Add atapibus* at umass? 2000-04-03 00:03:28 +00:00
thorpej
2bc5adb20e Instead of checking vm_physmem[<physseg>].pgs to determine if
uvm_page_init() has completed, add a boolean uvm.page_init_done,
and test against that.  Use this same boolean (rather than
pmap_initialized) in pmap_growkernel() to determine if we are
being called via uvm_page_init() to grow the kernel address space.

This fixes a problem on some i386 configurations where pmap_init()
itself was needing to have the kernel page table grown, and since
pmap_initialized was not yet set to TRUE, pmap_growkernel() was
choosing the wrong code path.

Fix tested by Havard Eidnes.
2000-04-02 20:39:14 +00:00
minoura
78b105698a Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.
2000-04-02 15:35:47 +00:00
simonb
0edd529101 Extern declaration of cputype. 2000-03-29 03:50:40 +00:00
simonb
5b911637a1 Remove redundant decl for phys_map - it's in <vm/vm_kern.h>. 2000-03-29 03:49:48 +00:00
simonb
868578431b Remove redundant decl for physmem - it's in <sys/systm.h>. 2000-03-29 03:49:02 +00:00
simonb
e764ed49e6 Remove redundant decl of msgbufmapped - it's in <sys/msgbuf.h>. 2000-03-29 03:48:20 +00:00
simonb
9ff7681a33 Don't need to include <sys/conf.h> here. 2000-03-29 03:43:31 +00:00
enami
4feca5e9ea Remove unnecessary cast in previous. Pointed out by shin@netbsd.org. 2000-03-29 03:09:15 +00:00
simonb
d7a08fd8c5 Don't declare a variable in the 'struct platform' declaration - we declare
an extern for 'struct platform platform' further down this file anyway,
and this would have declared a 'platform' variable in any userland code
including this file.
2000-03-29 02:59:18 +00:00
enami
b31c6d62e2 Fix previous in a different way. 2000-03-27 06:41:02 +00:00
enami
24a0efebab Fix compilation error (printf format mismatch) due to recent round_page()
change.  While I'm here I fold the long line.
2000-03-27 04:01:54 +00:00
kleink
230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
nisimura
ae55376f19 - Remove unused bt459reg.h.
- sfbvar.h has gone, placing patch on holes for now.  Every TC framebuffer
  has a single explosure of xxfb_cnattach() which could be bridged by MI
  land.
2000-03-26 10:32:51 +00:00
nisimura
99806742c0 Remove local implementation switching to accelerated MI sfb.c. 2000-03-26 05:52:17 +00:00
nisimura
58e4b0efbe A minimal fix to make this compilable. 2000-03-24 08:24:29 +00:00
thorpej
4ad898818b Fallout from callout. 2000-03-24 01:04:11 +00:00
thorpej
b667a5a357 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
thorpej
3e93b28029 Use a software interrupt for tty input processing, not a callout. 2000-03-23 01:04:10 +00:00
cgd
7c35662066 add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE. 2000-03-22 00:58:16 +00:00
thorpej
800e276128 Fix INTRCNT_DEC_550_IRQ_LEN. From Nathan Williams. 2000-03-21 02:17:11 +00:00
thorpej
3eed2414e5 Handle a few more SPECIAL intructions. 2000-03-20 02:54:45 +00:00
thorpej
3c8d09cc56 Update the amask bits. 2000-03-20 02:19:44 +00:00
thorpej
f785596e75 Add support for mapping the OHCI USB controller interrupt (which is wired toan ISA IRQ because it's in the same package as the PCI-ISA bridge). 2000-03-19 02:25:29 +00:00
thorpej
ac93a75106 Point back to the alpha_shared_intr in the intrhand structure. This
allows platform-specific code to access the `intr_private' data via
the intrhand structure.
2000-03-19 01:46:18 +00:00
thorpej
c10a9d31ea Put the code that enables/disables Pyxis interrupt lines in
cia_pyxis_intr_enable().
2000-03-19 01:43:25 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
mycroft
02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
nisimura
f7f5e0a24c Note that HX (PMAGB-B) has no support for small (less than 8 pixel width)
font.  If attempted, kernel will explode.
2000-03-16 08:42:40 +00:00
drochner
aa1de89bdf explicitely #include <sys/systm.h> #if BUS_SPACE_DEBUG to get a printf()
prototype
2000-03-15 16:44:48 +00:00
nisimura
220005d941 Eliminate unused sc_cookie field of struct ioasic_softc. 2000-03-15 03:07:44 +00:00
oster
1bad2e1909 Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[].  Needed for / on RAID.
(Whoops!  I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
2000-03-14 15:56:51 +00:00
nisimura
8bf44847a8 Fix DEC3000/300 TC slot numbering. There is an address space hole
between two TC option cards and 3 builtin TC devices.  Was uncovered by
mrg's change made at Nov 1999 and pointed by tsutsui.
2000-03-14 05:53:33 +00:00
nisimura
6f5486c425 Switch to MI sfb (PMAGB-B) TC framebuffer driver which sports faster
text rendering assisted by SFB ASIC.
2000-03-14 05:34:04 +00:00
nisimura
8de02d3a76 - Comment out cfb (PMAG-B) 1024x768 framebuffer.
- Have Gallant19 font by default.
2000-03-14 05:31:16 +00:00
nisimura
b3a2990ce5 Redo the previous commit; duplicated lines. 2000-03-14 02:55:04 +00:00
nisimura
38ed3db66f Synchronize with recent progress of GENERIC. 2000-03-14 02:53:04 +00:00
soren
95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
cjs
0aaf8765ad Add reminder to add stuff to ALPHA as well as this. 2000-03-09 22:27:26 +00:00
cjs
fe76319160 Add ident and RAID_AUTOCONFIG to bring up to date with GENERIC. 2000-03-09 22:26:41 +00:00
kleink
a9ebf7bb8c Define ISO C99 (unsigned) long long (min, max) symbols. 2000-03-07 19:31:49 +00:00
tsutsui
d16c6f3272 Use DISKPART/DISKMINOR/DISKUNIT instead of dkpart/dkminor/dkunit. 2000-03-07 15:55:14 +00:00
thorpej
a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
thorpej
23c5667cfe Use ANSI-style function declarations for the various inline functions
here.  Addresses port-alpha/9056.
2000-03-05 18:46:14 +00:00
thorpej
7d57276982 Do partial lazy I-stream sync -- in the pmap_enter()/pmap_remove() cases
for now.  More to come.
2000-03-01 18:29:04 +00:00
thorpej
908f6bc4cd Infrastructure for lazy istream sync in the pmap module:
- Add a bitmask for the CPUs which need an isync before this pmap returns
  to userspace on that CPU.
- Define PMAP_USERRET(), a utility macro for userret() to use to process
  the deferred isync, and call it as appropriate in userret().
2000-03-01 02:22:03 +00:00
thorpej
a192dc9c5b PMAP_ISACTIVE() now takes the cpu_id. This serves two purposes:
- Everywhere it was used, the cpu_id was already computed, so this
  saves computing it again.
- This will be needed for lazy istream sync.
2000-03-01 01:32:45 +00:00
thorpej
64911f1d2e Use cpu_number() here instead of alpha_pal_whami(). 2000-03-01 00:43:34 +00:00
thorpej
fac7fc369f Put machine check info in cpu_info in the multiprocessor case, and
just have one statically allocate machine check info structure in the
single processor config case.
2000-02-29 22:19:53 +00:00
thorpej
04d9239b1e Reset mc_received after we've done a badaddr probe. 2000-02-29 21:42:54 +00:00
simonb
4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +00:00
mycroft
cf3085176e Nuke all the code associated with the INITIALLY_LEVEL_TRIGGERED() lossage, and
instead register a shutdownhook to restore the PIC state.
2000-02-27 02:50:31 +00:00
mycroft
544ffa4528 Force polling on pcic, so I get another IRQ for cards. 2000-02-27 00:15:30 +00:00
mycroft
76a60b98d3 Install pio.h. 2000-02-26 22:15:40 +00:00
thorpej
198dbed79d Pull in <sys/types.h> for the benefit of those things which include
<machine/sysarch.h> but don't pull in <sys/types.h>.
2000-02-26 20:12:56 +00:00
thorpej
0958e8149a x86-style PIO ops for USERLAND ONLY! Requires -lalpha. 2000-02-26 19:00:51 +00:00
thorpej
df88882d80 - Add a bus space method for getting the translation for a window.
- Add sysarch methods for "get bus window count", "get bus window",
  and "pci conf read/write".

These are a hack, but they're what's necessary in order to make
XFree86 work in its current state.
2000-02-26 18:53:10 +00:00
oster
d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
thorpej
0b97eb1052 alpha_pa_access(): if securelevel <= 0, grant read/write access to
non-memory address locations.
2000-02-26 00:17:25 +00:00
mycroft
f8e1e12acc Add Aviator/RayLink. 2000-02-25 20:55:34 +00:00
mycroft
d1546a70bb Add more PCMCIA stuff, nuke PNP. 2000-02-25 20:52:11 +00:00
thorpej
3dacaa322d Protect a few things from userland with _KERNEL. 2000-02-25 01:16:41 +00:00
thorpej
de974ff82d Add an internal bus space method alpha_bus_space_translate(), which
provides a method to translate an address on an I/O bus into a sysBus
address, along with acccess method information.
2000-02-25 00:45:04 +00:00
tls
08ef0cfe07 revert previous change 2000-02-22 21:09:50 +00:00
mjacob
64fa8aa0d6 remove SES driver 2000-02-22 17:43:57 +00:00
thorpej
b0b40b6c34 Make this compile after the netisr_dispatch change. 2000-02-22 15:43:54 +00:00
erh
8f03b9a04a Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports. 2000-02-21 20:38:46 +00:00
thorpej
fd8c03cf44 Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
2000-02-14 21:42:50 +00:00
thorpej
09943f0ffa G/c references to VM_KMEM_SIZE. 2000-02-12 20:57:12 +00:00
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
mjacob
9621e6be50 Reset maxstray count if we get a good interrupt for a level. 2000-02-10 07:45:43 +00:00
mjacob
13e13336b2 Allow (re)setting of maxstrays after establishment of a shared interrupt.
This allows sporadic stray interrupt counts to be reset by an acknowledgement
of the same interrupt.
2000-02-10 07:45:02 +00:00
mjacob
4821b5ae2f Guard against trying to disable an interrupt where we'd dereference a
bad pointer.
2000-02-10 04:31:36 +00:00
sommerfeld
d129ec5214 Fix typo in error message 2000-02-09 23:25:15 +00:00
shin
7f5a7c00ac fix include file.
<netinet6/ip6.h>	->	<netinet/ip6.h>
2000-02-09 05:48:26 +00:00
thorpej
f9e531f1e4 Don't force BWX on Pyxis by default; it's just not reliable enough. 2000-02-09 01:39:20 +00:00
thorpej
ec02ebc8a0 Adjust for IOASIC register changes. 2000-02-09 00:33:03 +00:00
thorpej
52a2804a5c Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel.  Make all clients
of ISA DMA use this call to determine their maximum transfer size.
2000-02-07 22:07:27 +00:00
thorpej
fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
thorpej
17c346b9e1 Changed cacheable -> prefetchable. [sync w/ swiz] 2000-02-06 04:07:18 +00:00
elric
28bdaf37d9 Changed cacheable -> prefetchable. 2000-02-06 03:52:27 +00:00
thorpej
97eba73a40 If we have a Pyxis with the DMA page crossing bug, don't allow coalescing
of adjacent DMA segments.

XXX This is still not perfect... but making it perfect will probably
require additions to the bus_dma interface and the ISA autoconfiguration
interface.
2000-02-06 01:26:50 +00:00
thorpej
0c4f8a876b Implement an internal DMA map flag which prevents coalescing of
adjacent DMA segments.
2000-02-06 01:23:30 +00:00
veego
5b4e17169b Bring in the support to boot from ide drives. This is from dec_eb164.c.
This is needed for newer firmware and to boot from slave drives.
2000-02-05 22:22:41 +00:00
veego
541c31000e Sync the ide support with dec_eb164.c rev 1.32:
Add the support to boot an ide slave drive and to boot from the secondary
ide channel.
Michael Hitch gave me the final hint how to do that and Havard Eidnes
tested it with his slave drive.
This should fix pr#8808 on the DS10.
Also remove one ideboot check which wasn't removed when I removed it from
dec_eb164.c.
2000-02-05 22:19:19 +00:00
veego
b92d490f3e Add the support to boot an ide slave drive and to boot from the secondary
ide channel.
Michael Hitch gave me the final hint how to do that and Havard Eidnes
tested it with his slave drive.
This will also fix pr#8808 on the DS10 when I commit the changes to
dec_6600.c.
2000-02-05 22:14:42 +00:00
kleink
36e6bc645e Improve namespace test macros a bit. 2000-02-05 14:04:36 +00:00
cgd
253b179629 clean up (group, sort) __HAVE_* defines 2000-02-05 00:07:30 +00:00
kleink
82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
nisimura
c6641d91a8 Merge IOASIC register definitions. 2000-02-03 08:13:44 +00:00
thorpej
0cf304bb45 Always use BWX for bus access on Pyxis chips. 2000-02-01 19:29:28 +00:00
tsutsui
11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
mjacob
d166ec2056 Do not forget to init intr_private 2000-02-01 04:14:18 +00:00
danw
f77befbc84 #define __HAVE_DEVICE_REGISTER on ports that have it, and check for
that, rather than a list of architecture defines, in config_attach
2000-02-01 04:01:19 +00:00
mjacob
77e40e844d Add some defines for TLSB interrupt mask and summary registers. Update
copyright.
2000-01-27 22:27:50 +00:00
tsutsui
b0fbaa33fb Remove obsoleted macros. 2000-01-26 09:44:10 +00:00
drochner
8eb798e603 define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
augustss
85fcd0b58d Update for the ucom(4) addition. 2000-01-25 08:31:56 +00:00
thorpej
35f3518a91 Fix a fatal typo in a Pyxis SGMAP TLB bug workaround. Noticed by
Jeff Roberson <nomad@nop.aliensystems.com>.
2000-01-25 03:32:36 +00:00
tron
04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
hubertf
7e5ff67457 Add commented out "ident"-command 2000-01-23 23:46:04 +00:00
mycroft
7b49d242ce Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
2000-01-23 17:04:03 +00:00
thorpej
5422cfb256 Fix netisr processing for PPP when there is only one device configured.
port-alpha/9257, Kevin P. Neal.
2000-01-22 18:28:04 +00:00
thorpej
52242fdf9f Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:28:59 +00:00
sommerfeld
aa195e816f Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
2000-01-20 22:18:54 +00:00
mjacob
e1598bac13 fix misspelling 2000-01-20 17:16:25 +00:00
mjacob
c6459da685 add SES device 2000-01-20 17:13:27 +00:00
thorpej
a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
tsutsui
e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
cjs
b54595a488 Make sure that everything in GENERIC is in ALPHA, and that the two files
have config lines in the same order to make diffing easier.
2000-01-19 13:53:47 +00:00
cjs
73b79d6c25 Make sure that everything in GENERIC is in ALPHA, and that the two files
have config lines in the same order to make diffing easier.
2000-01-19 07:04:23 +00:00
cjs
c79473b2b7 Add vr driver and missing phys. 2000-01-19 06:09:03 +00:00
mycroft
c10e001ee2 Sync, +IPv6. 2000-01-19 03:05:06 +00:00
mycroft
1c92c8d7ed Add a sequencer to go with the midis. 2000-01-19 03:01:46 +00:00
msaitoh
0b9af6bdce check whether tv_usec >= 1000000 2000-01-19 02:52:16 +00:00
thorpej
ed244ca8e4 Use b_cylinder as defined in sys/buf.h 2000-01-18 19:34:24 +00:00
augustss
f7145f672e Add USB-Ethernet adapters. 2000-01-17 17:47:03 +00:00
kleink
693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
thorpej
6926d0d4b1 Hand-tuned pmap_zero_page(). 1999-12-17 07:24:05 +00:00
thorpej
a07b7d60e2 Garbage-collect. 1999-12-16 20:20:11 +00:00
thorpej
81f44f09a5 - Remove a misguided attempt to use procs as idle contexts for secondary
processors.  Instead, allocate separate idle PCBs for them (including
  the primary -- don't use proc0's for its idle context).
- Use SysValue to store the cpu_info for each processor.
1999-12-16 20:17:22 +00:00
thorpej
a5b316c4d5 Key off NSIO and NPCEB for (E)ISA interrupt support.
XXX Can probably nuke the SIO test; don't all of the Noritake-class systems
XXX have EISA?
1999-12-15 22:31:04 +00:00
thorpej
4f580f447c Key off NSIO and NPCEB for (E)ISA interrupt support.
XXX Can probably nuke the SIO test; don't all of the Mikasa-class systems
XXX have EISA?
1999-12-15 22:30:40 +00:00
thorpej
58a51e3b72 Key off NSIO and NPCEB for (E)ISA interrupt support.
XXX Can probably nuke the SIO test; don't all of the ALCOR-class systems
XXX have EISA?
1999-12-15 22:28:15 +00:00
thorpej
c557690acc Key off NSIO and NPCEB for (E)ISA interrupt support.
XXX Can probably nuke the SIO test; don't all of the Rawhide-class systems
XXX have EISA?
1999-12-15 22:25:21 +00:00
thorpej
3ffe65b597 Use alpha_shared_intr_{get,set}_private(). 1999-12-15 22:21:45 +00:00
thorpej
deed2b3b4b Fix a botch in stray interrupt reporting; report the kn300 IRQ, not the
interrupt enable bit on the MCPCIA the interrupt is mapped to.
1999-12-15 20:10:04 +00:00
thorpej
8b34a5b689 Revert previous. 1999-12-08 23:54:55 +00:00
thorpej
fd6f6e85b2 Slight changes so that bounce buffers can be implemented for the Jensen. 1999-12-08 23:40:35 +00:00
thorpej
781149bb12 Handle the case where PCI dense memory and PCI sparse memory don't
overlap; don't require allocation from the dense extent if the PCI
memory address isn't mapped into dense space.

Also, make sure to return an error if a liner mapping is requested
and dense space is not available (not just not requested).
1999-12-08 01:48:39 +00:00
thorpej
9beb275ae8 Oops, committed the wrong version of this file previously. 1999-12-08 00:35:43 +00:00
thorpej
a4f30c3f19 Add entry for AlphaServer 2100 (Sable, Sable-Gamma). 1999-12-07 21:51:53 +00:00
thorpej
fcf35a8417 Add options, files, etc. for the AlphaServer 2100 (Sable, Sable-Gamma).
Actual source files not yet committed.  Very Soon.
1999-12-07 21:47:12 +00:00
thorpej
25a665e643 Avoid a spurious warning when establishing a pulsed interrupt handler
on an IRQ which was marked "initially-pulsed".
1999-12-07 21:36:16 +00:00
thorpej
4056ebc587 When doing a badaddr check, insert an extra `mb', which is highly magic
on some systems (due to quirky bus adapters).
1999-12-07 21:35:06 +00:00
thorpej
ac20942bc5 Some systems don't have dense space; don't require it. 1999-12-07 07:04:39 +00:00
thorpej
51f4c69ad4 Clarify what appear to the untrained eye to be two magic constants (the
address shift and access size shift), and allow them to be overridden
by chip-specific code, if necessary.
1999-12-07 05:44:57 +00:00
drochner
0893832078 update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
1999-12-06 19:25:56 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
mjacob
d5e85e61cf Fixes PR#8836. Some changes made by somebody else were a tad incomplete so
configuring w/o SIO broke compilation. I forget why, but there was at one
point (and may still be) a dependency between SIO and EISA. This change
just makes things compile sensibly again. It may make no sense to build
a kernel w/o sio in this case. I can't test this conveniently because I
haven't got a 4100 with a video card in it at the moment.
1999-12-04 20:29:02 +00:00
thorpej
08d1d1b378 Actually, the 2100_A500 has 64 interrupts, not 16. 1999-12-04 00:22:54 +00:00
lukem
a63bfb3c6a add atomic.h (missed by thorpej; approved by thorpej) 1999-12-04 00:18:15 +00:00
thorpej
4560ac465a Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
1999-12-03 22:48:22 +00:00
thorpej
0aa48d5c55 New delay(), more carefully coded:
- Use explicit assembly; don't want the compiler optimizing things too
  much here.
- Subtract 2 for each iteration of the loop, rather than 3.  The loop
  consists of only 2 instructions (even the C version compiled to a
  loop of 2 instructions).

The latter change has squashed a fairly annoying timing bug in the
mii_bitbang module as used by the `ex' driver on my AlphaStation 500.

XXX delay() should maybe be rewritten again, to use the rpcc instruction.
1999-12-03 07:29:57 +00:00
thorpej
fafcf62fd6 Update my main Alpha development machine's kernel config file to
reflect current reality.
1999-12-03 07:03:43 +00:00
thorpej
a51be1961c lock_machdep.c is gone. 1999-12-03 01:13:51 +00:00
thorpej
5d0a62da53 Remove now-obsolete atomic operations. 1999-12-03 01:13:17 +00:00
thorpej
2d8ef60c51 This file is obsolete. 1999-12-03 01:12:00 +00:00
thorpej
2a97466824 Rewrite the atomic locking primitives using in-line assembly. 1999-12-03 01:11:34 +00:00