Commit Graph

2725 Commits

Author SHA1 Message Date
pk cc9163a28a Enable DMA interrupts. 2000-06-15 14:27:07 +00:00
pk 752b4566c4 bus_dmapmap_create: boundary must be 0, not NBPG. 2000-06-15 12:12:05 +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
pk f9cf3305c3 No need to cast return value of spl0(). 2000-06-09 10:47:25 +00:00
pk 9bf0d228f0 spl0() and spllowersoftclock() return void. 2000-06-09 10:43:52 +00:00
pk 1610381d13 GC unused `autoconf_nzs'. 2000-06-08 21:37:43 +00:00
pk 12db2d5991 viking_pcache_flush_page: use entire PA tag field. 2000-06-08 14:45:18 +00:00
gmcgarry 6de3467b52 - Clean up use of AUDIO_C_HANDLER.
- Copy bus_space handles into auio for fast handler.
2000-06-06 22:34:34 +00:00
pk c7d426f2b5 viking_cache_flush_page: spell bitmasks in hex, not octal. 2000-06-06 20:08:29 +00:00
pk 8a0d25a707 Oops, type confusion.. 2000-06-06 09:20:31 +00:00
pk b5321a5a5c Make the address argument of pcache_flush_page() a `paddr_t'. 2000-06-06 07:56:40 +00:00
thorpej 814826fdda Fix typo. kern/10291. 2000-06-05 20:47:47 +00:00
pk 862a955e34 Re-arrange code to flush physically indexed caches:
* replace `flush by line' function with a `flush by page' funtion, which
  also takes an argument to indicate that write-back caches need not
  validate its backing memory.

* use this function when allocating page table memory to flush the cache
  before mapping it into kernel virtual space.

* also use it in pmap_{zero,copy}_page(), so we can safely use non-cacheable
  access in there.
2000-06-05 20:38:24 +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 0e2f894851 Provide a CPU_IS_PRIMARY() macro in the MULTIPROCESSOR case. 2000-06-03 20:43:28 +00:00
pk 630ec72e5d Make sure to have the cache info before allocating the global cpu_info
virtual addresses.
2000-06-03 09:56:35 +00:00
pk aae0ef4cc1 In pmap_cpu_alloc(), allocate memory for the PTE tables in one sweep. 2000-06-02 10:43:59 +00:00
pk 65e4bcd9df Re-initialize `proc0.p_cpu' after allocating the global `cpu_info'
address for the boot cpu (XXX)
2000-06-02 08:12:29 +00:00
matt 168343c32d Make the ramdisk space the same as the ramdisk size being built in distrib 2000-05-31 17:35:59 +00:00
pk 08d1e4928a Initialize `ci_self' on all CPUs.
Check `cpuinfo' pointers in mp_pause_cpus() & mp_resume_cpus()
2000-05-31 12:26:15 +00:00
pk 504ed6e58b Move switchexit() declaration in here. 2000-05-31 12:05:04 +00:00
pk 0985cc7d7e Remove obsolete function declarations.
Move switchexit() to cpu.h
2000-05-31 12:04:29 +00:00
pk fca92e02ab Fix a couple of typos. 2000-05-31 11:23:21 +00:00
thorpej 8d5520dccf - In the MULTIPROCESSOR case, initialize p_cpu before a process is
marked SONPROC.
- Fix a bug where all cpu_info structures except for the boot CPUs
  would exist at both a CPU-local VA (CPUINFO_VA) and a gloal VA;
  The boot CPU's existed only a CPUINFO_VA.
- Add a self-reference pointer to the cpu_info that references the
  global address in the MULTIPROCESSOR case.  Just allow it to reference
  the `local' VA in the single-processor case, as CPUINFO_VA is global
  enough when there's only one processor to care about.  Change curcpu()
  to return the global address.
2000-05-31 05:28:26 +00:00
cjs a9a7dd7904 Fix typo in DEBUG code. 2000-05-30 03:26:34 +00:00
pk ee396c032f Remove IOMMU page table allocation from pmap_bootstrap() and all the
hacks surrounding it.
2000-05-29 22:23:34 +00:00
pk ce1fb71efc Use uvm_pglistalloc() to allocate memory for the I/O PTEs; modelled after
a similar change by Art Grabowski in Openbsd.
2000-05-29 20:41:10 +00:00
pk 7da3d45dfc Cleanup iommu_attach(). 2000-05-28 20:55:54 +00:00
pk 57b382f034 Add a few comments. 2000-05-28 20:54:42 +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
matt 22519583f3 Add tadpole specific devices. 2000-05-27 20:56:51 +00:00
mason 972014e5a8 Make compile after scheduler state cleanup. 2000-05-27 11:44:54 +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
thorpej 1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
pk 1273031c4d Simplify the bus_dma(9) implementation:
- the `alignment' and `boundary' arguments in bus_dmamem_alloc() only
  serve as hints on how to break up a DMA transaction into chunks
  when necessary; it is not necessary on sparc DVMA hardware.

- exclusively use the VM page size (i.e. PAGE_SIZE et.al.) when computing
  resource allocations.

- remember the size of DVMA resource allocations in the private `_ds_sgsize'
  field in a dma segment descriptor.
2000-05-23 11:39:57 +00:00
pk 8c39bf5d24 MicroSPARC 1 cache issues:
- mark as CPUFLG_CACHE_MANDATORY to avoid cache inconsistencies in
  pmap_{zero,copy}_page().
- compute caching alias bits correctly
- add experimental optimisation in ms1_cache_flush().
2000-05-22 22:03:32 +00:00
mrg 296eaaa36d add two new CPU_ISXXX versions: CPU_ISSUN4U, CPU_ISSUN4MOR4U 2000-05-22 02:35:23 +00:00
eeh 3cee90e0e1 Need to provide a consdev to the cons_attach_input call now. 2000-05-21 14:36:15 +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
eeh 424619ca1a Fix the sparc64 console.
Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them.  So, here we go:

	Add a new PROM console driver with a major number and everything.
	This is the default driver if nothing else attaches.  It does not
	use the keyboard driver since the PROM translates keystrokes itself.
	(Unfortunately it also swallows L1-A).

	Have the keyboard driver take over the console when it attaches on a
	serial port.  When a serial port detects a keyboard and attaches the
	keyboard driver, it needs to provide a set of consdev vectors.  They
	keyboard driver will use those to send I/O to the keyboard and mouse.
2000-05-19 05:26:16 +00:00
pk 7caaf84b68 bus_dmamem_alloc: ensure alignment is always at least the page size. 2000-05-18 10:10:55 +00:00
pk 817862e208 vmapbuf: should not map the kernel address uncacheable. 2000-05-17 14:37:59 +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
pk bde258dc12 bus_dmamem_alloc: round-up `alignment' to a be a multiple of the page size. 2000-05-10 14:27:51 +00:00
pk fbd2523c70 * Fix thinko in offset computations.
* Add DIAGNOSTIC checks.
2000-05-10 11:17:50 +00:00
pk 1bf775b965 Conform bus_dmamem_{alloc,map} usage to bus_dma(9) specs. 2000-05-09 22:42:08 +00:00
pk 2d12c9e33b The bus_dma(9) implementation now allocates DVMA addresses in
bus_dmamap_load_*() routines only. Note that DMA memory buffers
allocated with bus_dmamem_alloc() _must_ be loaded by bus_dmamap_load_raw().
2000-05-09 22:39:35 +00:00
pk 6411be9c63 Include <sparc/sparc/asm.h>, per PR#10082 2000-05-09 20:29:28 +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
mycroft a7fb64072e Fix the RCS tag format. Duh. 2000-05-08 03:11:06 +00:00
mycroft f8e0411615 Make the audioamd assembler code compile again. 2000-05-08 03:09:54 +00:00
mycroft f5bd37be57 Make the SPARC audioamd driver at least *compile*. Well, the C code, that is.
*sigh*
2000-05-08 02:44:31 +00:00
hannken 0b2854eb6c Fix for lint during build of libc. 2000-05-05 20:12:00 +00:00
augustss e991ee6035 Use correct file name for amd7930. 2000-05-05 14:19:25 +00:00
pk f622dc8618 Define some more bits in the MXCC control register. 2000-05-05 11:07:15 +00:00
pk c49e7076d3 Simplify pmap_page_protect(); modelled after a similar change by
Art Grabowski in Openbsd.
2000-05-02 13:06:27 +00:00
pk d46e0d77c0 Remove unused code: getptesw4m(),setptesw4m() 2000-05-02 10:35:06 +00:00
augustss 361f2141f7 Adapt to new am7930 driver. PR 10033 from Gregory McGarry. 2000-05-02 06:35:12 +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
pk 91ec70f36d - De-inline VA2PA(); it isn't in any time-critical path. Saves a bunch of space.
- Disable special-cased viking cache flushing in setpgt4m(). This work-around
  should no longer be necessary.
- Remove some misc. dead code.
2000-05-01 15:19:46 +00:00
pk d4ac7f24ca Implement HyperSPARC specific pmap_{zero,copy}_page functions. 2000-05-01 14:06:41 +00:00
pk 784c538c3f Add definitions of HyperSPARC block fill/copy ASIs. 2000-05-01 14:05:53 +00:00
pk e327115496 FIx declaration in __ldstub. 2000-04-30 22:15:30 +00:00
pk 6832a2d6c9 Arrange to call uvm_pageidlezero() from idle loop. 2000-04-30 21:32:44 +00:00
pk 88fc960805 Define offset for uvm.page_idle_zero. 2000-04-30 21:29:16 +00:00
pk 1b8cac1bd9 Implement MXCC versions for pmap_{zero,copy}_page(). 2000-04-30 21:22:28 +00:00
pk 78391926bf Allow for CPU specific page clear and page copy functions. 2000-04-30 21:09:43 +00:00
pk 99ef6f17b5 Remove not-so-useful `#if DEBUG' code. 2000-04-30 14:23:29 +00:00
pk 3c5ac0b689 Rename MXCC control register. 2000-04-30 14:19:37 +00:00
pk 7373241c4c Rename MXCC control register.
Add MXCC stream register definitions.
2000-04-30 14:18:52 +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
pk 43cdacc18b ctx_alloc: set context before flushing a stolen context's cache 2000-04-20 13:59:02 +00:00
itojun 3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
pk 4665cccb20 Comment-out the RASTERCONSOLE_{BG,FG} color settings; they represent
the default initialization.
2000-04-17 21:48:23 +00:00
pk a558005cec When constructing `ri_devcmap[]', pack four instances of the LUTs in each
32 bit wide entry (as not documented in the non-existent rasops(9)..)
2000-04-17 20:37:28 +00:00
pk d5a5871d3c Make sure to reset the CPU context in ctx_free(). 2000-04-17 20:32:00 +00:00
pk 470504f184 Use screen attributes passed to our hardware rasops routines.
Move colormap initialization to cg6reset(), so this is also done
on last close of the framebuffer device (e.g. after X server shutdown).
2000-04-16 22:17:03 +00:00
pk a644297344 Initialize the rasops device colormap to match colormaps used by
our supported devices (including even coloured text on the console).
2000-04-16 22:12:05 +00:00
pk 065ce82243 Switch initial colormap setup again to be compatible with the PROM's,
i.e. background at index 0: white, foreground at index 255: black.

Also, allocate a slice for an ANSI colormap, so we can experiment
with coloured text on the bare console.
2000-04-16 22:07:24 +00:00
pk 8505eb6375 Slight optimization when searching the video parameter table. 2000-04-16 21:01:43 +00:00
pk 20c3689343 Initialize local variable `bt' in cgthree_attach(). 2000-04-14 19:36:43 +00:00
pk cd955cb171 dvma_init: avoid integer variable overflow 2000-04-14 14:14:47 +00:00
tsutsui 7865e586d3 Typo in comments. (Zilog 8350 -> 8530) 2000-04-14 13:29:57 +00:00
christos 44c22dc618 make this compile with -DDEBUG_SVR4 [wrong variable name] 2000-04-12 15:13:15 +00:00
chs 1f7a988bd2 unconditionalize "ifdef sparc". 2000-04-12 04:06:41 +00:00
chs 19de42337d add rudimentary support for tracing stacks back into user space. 2000-04-10 01:22:09 +00:00
christos 0884c7e58f Disable previous; it makes things worse. 2000-04-09 05:48:07 +00:00
christos d1ea7c73a4 Try to emulate the svr4 setpsr trap. Needed by lwp. 2000-04-09 05:25:37 +00:00
thorpej 4044b5a41c Use separate callouts for motor-on and motor-off. Fixes a condition
where the floppy driver would wedge because a motor-on timeout would
be cancelled by another I/O operation cancelling a motor-off timeout.

From enami tsugutomo <enami@sm.sony.co.jp>.
2000-04-07 16:58:53 +00:00
pk 99dbc425e9 Use copyin/copyout to get a colormap from/to user space.
Also, prepare for the case of a colormap maintained in kernel space.
2000-04-04 21:47:17 +00:00
thorpej d11a9a62e2 Fix fallout from callout. 2000-04-04 17:20:54 +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
pk b6a73eb3a1 Make this compile without RASTERCONSOLE too. 2000-03-31 12:58:54 +00:00
pk a41d265271 Add hardware acceleration features for use with the RASTERCONSOLE option.
Code posted on port-sparc by `der Mouse'; it was slightly re-arranged to
fit the layout of this driver.
2000-03-30 13:57:50 +00:00
tsutsui 58714261cc Remove register declarations. 2000-03-30 11:37:21 +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
tsutsui 9100212ef0 Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
2000-03-25 15:27:54 +00:00
hannken 43e3ea96f3 Fix typos from last commit (callout). 2000-03-24 11:46:46 +00:00
hannken f7049d302a Fix a typo from last commit. 2000-03-24 10:30:12 +00:00
thorpej 7b918b4088 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:40:33 +00:00
pk 3b3bcd2a10 The global `mmu_3l' has been obsolete for a long time already. 2000-03-21 21:30:33 +00:00
pk b5b8fcc5b5 Nuke global `fbnode'. 2000-03-21 21:29:16 +00:00
pk 5eb7625f42 findzs() is now used only by the kgbd initialision code. 2000-03-21 12:48:45 +00:00
pk 2db200ad14 Missing _C_LABEL(). 2000-03-21 12:47:02 +00:00
pk c5bbc50487 Delete debugging printf(). 2000-03-21 11:24:02 +00:00
pk 436638ab3a Call rcons_ttyinit() on first open. 2000-03-20 11:27:16 +00:00
pk c1813da35e Use fb_is_console(); retract fbconstty & fbnode from service. 2000-03-19 15:38:45 +00:00
pk aca7e7fa24 Just don't force the baud rate in the driver, ever. 2000-03-19 14:58:02 +00:00
pk 86f03b383e Remove __BROKEN_CONFIG_UNIT_USAGE. 2000-03-19 14:43:13 +00:00
pk 753a0ebc67 kd.c should not depend on NKBD. 2000-03-19 14:20:54 +00:00
pk 2ab6f90563 kd.c should not depend on `kbd'. 2000-03-19 14:19:17 +00:00
pk c969f1b7df Add `fb_is_console()', which is a helper function for frame buffer
device drivers used to decide whether or not to act as console output.
2000-03-19 13:48:44 +00:00
pk b0eba37586 Add fields to hold PROM info to be used in console device matching. 2000-03-19 13:45:23 +00:00
pk e654ecd0d8 Nuke dead code. 2000-03-19 13:38:54 +00:00
pk 0ed0e258db Declare the prom stdio nodes and arguments. 2000-03-19 13:25:10 +00:00
pk 41fb5989fe Revise console device handling:
* do not require a `zs' driver for console handling
	* run the console on PROM primitives until a device recognises
	  itself as a console device during normal autoconfiguration.
	* allow (keyboard) devices to take over the input channel of
	  the PROM primitive-based console device.

As a result, consinit() is much simplified and does no longer have
to "detect" devices to setup a working console device. This complexity
has moved to individual drivers which interpret the PROM information
after they have attached to decide whether or not to act as a console.
2000-03-19 13:22:14 +00:00
mycroft 0af581a1a1 Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
2000-03-18 16:13:22 +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
jdc e8a33a63d1 Add port power management ioctls. 2000-03-14 21:24:54 +00:00
jdc 48ba774212 Fix RCS ID.
Add port power management.
2000-03-14 21:23:45 +00:00
jdc 797ac20035 Add power management hooks. 2000-03-14 21:20:51 +00:00
jdc fa4417ef0c Add enable/disable and power management hooks for serial ports.
Port states : always on / on when open (default) / always off
2000-03-14 21:18:27 +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
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
mycroft b27007be2c Make dependall work. 2000-03-13 03:25:20 +00:00
garbled ea089cf90c New features:
tctrl now initializes the state of the internal LCD icons.  The icons
are unprogrammed at boot time.  This incidentally makes the DC-POWER icon
work.

Fixes:
Fix my stupidity in the ENVSYS stuff, and actually follow the API.
2000-03-09 07:04:08 +00:00
kleink ad7dbd825c Define ISO C99 (unsigned) long long (min, max) symbols. 2000-03-07 19:33:00 +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
mrg 6bf88d7e9a add a "struct device *booted_device" so that raidframe can link. 2000-03-05 08:21:57 +00:00
simonb 4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +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
pk 546bda740f Revert to using <bsd.prog.mk> again, so we support all targets that may
be presented when building the system (noticed by Juergen Hannken-Illjes).
2000-02-26 11:48:15 +00:00
jdc ecf1c1eb21 Add auxiotwo (Tadpole 3GX aux 2 register) entry. 2000-02-25 18:24:40 +00:00
jdc 7840960350 Driver for Tadpole 3GX "Power Down Control (Aux 2) Register".
Based on existing auxreg.[ch] (Sparc Aux Register driver).
2000-02-25 18:17:24 +00:00
pk 9bbc61deaa We need <bsd.obj.mk>. 2000-02-25 16:53:22 +00:00
pk c64db6cec7 Remove out-dated comment. 2000-02-25 16:02:49 +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
pk dd6a9d86b0 SUN_BOOTPARAM compile-time option is no longer used. 2000-02-21 15:13:11 +00:00
pk f89828d99f bootxx links at 0x340000
2nd-stage boot programs choices: 0x200000,0x300000,0x400000,0x700000 (default: 0x300000)
2000-02-21 15:07:32 +00:00
pk ea0dbfe79c RELOC -> RELOC_DEFAULT 2000-02-21 14:44:18 +00:00
pk 8305907589 Build several versions of the second-stage boot program, each linked
to run at a different base address. Boot image build procedures can
pick one which is least likely to fail..

The default boot program is again build to run at 0x340000.
2000-02-21 14:41:22 +00:00
pk 52014b23c5 Allow second-stage boot program to be specified on the command line. 2000-02-15 16:15:07 +00:00
pk 59742052ea Determine base address at run time. 2000-02-15 14:09:59 +00:00
pk 9bb753bb2e Nuke unused code. 2000-02-15 12:18:05 +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
pk 72252544f5 remove `flags' from sun4 zs declarations; the driver doesn't use it. 2000-02-14 18:08:38 +00:00
pk 5b285d9509 Just skip matching the `slave' property against `cf_unit'. 2000-02-14 18:07:37 +00:00
pk 19533212a5 Correct comments on KGDB_* entries. 2000-02-12 12:59:36 +00:00
pk b518dc6dfc Eliminate much of the goo in setting up zs device addressing. 2000-02-12 12:51:03 +00:00
thorpej dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
shin 7f5a7c00ac fix include file.
<netinet6/ip6.h>	->	<netinet/ip6.h>
2000-02-09 05:48:26 +00:00
mycroft bc1ca7aa3f Add a bunch of debugging code, #ifdef FPU_DEBUG, which attempts to
trap FPU usage in the kernel.
2000-02-08 03:16:00 +00:00
pk 1d46ce41ea Enable the hme ethernet driver. 2000-02-07 21:24:48 +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
pk de608f33e1 Don't use PROM the virtual address (if any) for the device registers;
they are not reliably mapped.  Also, unmap registers if the device
cannot be configured properly.
2000-02-07 11:44:15 +00:00
kleink 36e6bc645e Improve namespace test macros a bit. 2000-02-05 14:04:36 +00:00
pk b527153dd7 Ensure uniqueness of EEPROM device without reference to cf_unit. 2000-02-05 12:32:57 +00:00
cgd 7d16ac338c add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
2000-02-05 00:13:22 +00:00
kleink 82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
tsutsui 11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +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
pk 00ba4de9e2 Add `si' and `sw' controllers to device_register() tables. 2000-01-31 15:08:25 +00:00
cjs 26944f9bf6 Add bpp (parallel port) device. 2000-01-28 16:08:52 +00:00
pk 8b07bf2245 standard nomencature: bp -> bh 2000-01-28 15:47:18 +00:00
pk a5d6b10bad fdcstatus() formatting. 2000-01-28 15:46:20 +00:00
pk 2f0be0855f pv_unlink4m: correctly clear the PV_ANC flag. Noted by Artur Grabowski. 2000-01-28 13:06:02 +00:00
tsutsui b0fbaa33fb Remove obsoleted macros. 2000-01-26 09:44:10 +00:00
cjs cfc246f9d8 Don't explode when we've got a lot of RAM. Limit our space for buffers
to 1/4 of the kernel VM map.
2000-01-26 07:35:51 +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
tron 04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
pk 9cfc74c312 Report write-protected disks. 2000-01-24 16:52:02 +00:00
hubertf 7e5ff67457 Add commented out "ident"-command 2000-01-23 23:46:04 +00:00
pk 18ad190b10 * b_cylin -> b_cylinder; deals with PR9283.
* a few optimizations & misc. style updates.
2000-01-23 22:19:12 +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
pk d76bf6c906 Try both the BOOTPARAMS and BOOTP protocol (in that order). This also
takes care of PR#8738.
2000-01-22 12:34:57 +00:00
thorpej 52242fdf9f Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:28:59 +00:00
pk df99dfd934 Simplify toggling the FTP bit on sun4m machines. 2000-01-21 13:25:12 +00:00
pk 252d47729f Update FDC offsets used by fdintr.s 2000-01-21 13:24:06 +00:00
pk 6b2ebb44a7 Move several PIL_* definitions into the scope of LOCORE stuff. 2000-01-21 13:22:55 +00:00
pk f8ac5484fa Medium sized code overhaul:
* Improve communication between the `hard' and `soft' interrupt handlers
  to better distinguish various interrupt sources.
* Eliminate several race conditions where we would set a time out handler
  only after starting the command on the hardware.
* Handle most timeouts by resetting the controller; there isn't much chance
  of recovery in any other way.  Currently, the exception is a timeout
  on I/O, in which case we first try to pulse the controller's TC line
  in order to abort the pseudo-dma sequence.  Apparently, "normal"
  conditions can induce such a timeout when there's no disk in the drive.
* Reduce the formatting gap parameter to 0x54.
* On the obio bus, interpret the `status' attribute.
* Minimize console diagnostic output if the errors we get appear to be
  caused by the absence of a disk.
2000-01-21 13:22:01 +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
wrstuden 87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +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
tsutsui 644b514c39 Change STRIPFLAGS=-g for cross-toolchains. 2000-01-19 14:44:58 +00:00
thorpej 4f27a98702 Use b_cylinder as defined in sys/buf.h 2000-01-18 19:48:02 +00:00
pk 725c6438c1 Use bus_space(9) functions to access the controller registers.
Add probes to the attach routines before poking the chip to see
where the registers are located.
2000-01-17 16:57:15 +00:00
pk 2d7f7ef7a6 Use bus handle to in `struct fdio' to read the chip registers. 2000-01-17 16:53:18 +00:00
pk 611f7a9938 Add offset to bus handle in `struct fdio'. 2000-01-17 16:52:04 +00:00