Commit Graph

2788 Commits

Author SHA1 Message Date
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
pk
6a56e89b7a Enable SUN4_MMU3L (sun4/400 3-level MMU support) 2000-06-21 13:46:43 +00:00
pk
5c1633af0d Fix pastos in bus_space_read_region_*() functions. 2000-06-21 13:41:23 +00:00
pk
2bb919e39a Update entries for VME devices ie[1-4]. 2000-06-20 14:24:24 +00:00
pk
a849fa0158 region_free: use correct index to invalidate a MMU region cookie in a pmap.
Remove work-around in pmap_enter(); the sun4/3-level MMU now works.
2000-06-20 12:04:22 +00:00
pk
c1aec32fc0 Use `pv_pool' in non-wait mode; for now, panic if memory is exhausted. 2000-06-19 21:06:32 +00:00
fvdl
51e81216d1 Rearrange previous slightly to avoid getting values that are too low;
the only goal here is to leave some space for the stack.
2000-06-18 23:03:45 +00:00
pk
d982283952 vme4_dmamap_[un]load: ensure enough DVMA space is allocated to cover the
buffer and store that amount in the DMA map to avoid re-computation.
Also add a cache flush as the bus_dmamap_sync() don't do that yet.
2000-06-18 19:30:21 +00:00
pk
a29dc4045f Conversion to bus_space*(). 2000-06-18 19:19:53 +00:00
mrg
feddb7ad96 merge in ultrasparc changes 2000-06-18 06:54:17 +00:00
fvdl
8dde6d4336 Account for the stack when computing the base va. This makes the
bootblocks work again on the 4/110.
2000-06-18 02:25:17 +00:00
pk
98726268ee Remove pointless debugging check. 2000-06-15 14:42:32 +00:00
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
pk
c31e760978 Add missing `break'. 2000-01-14 15:25:28 +00:00
pk
3cb5a866dd Expand md filesystem to 3.6MB. 2000-01-14 13:41:45 +00:00
pk
e42b2c6cb7 When matching scsi disks, check for the scsibus parent in the previous
entry in the boot path. Noted by Matthew Jacob.
2000-01-12 15:53:29 +00:00
mjacob
e7f230b6d2 no need to guess about tgt/lun bounds- we know what they are 2000-01-12 14:53:17 +00:00
pk
7935de2d85 Use a table to detect device aliases and add various `isp' and floppy
controllers to it.  Also use a table lookup when matching busses/controllers.
2000-01-11 20:53:24 +00:00
pk
c6b6f3883a Remove old-style boot device recognition. 2000-01-11 12:59:43 +00:00
pk
a744e28304 Cleanup the list of exported headers a bit. 2000-01-10 22:09:34 +00:00
pk
20018b9be8 Add special code for recognising a floppy drive as the boot device.
Sun's PROMs don't co-operate here, so there are _hacks_ involved...
2000-01-09 20:53:30 +00:00
pk
a77d141b28 Deal with `24 bit' devices which can still be plugged into an Sbus slot. 2000-01-07 10:54:11 +00:00
pk
8cbc7288d0 * Expand IOMMU DVMA space to top of address space.
* Remove confusing comments.
2000-01-04 15:08:30 +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
pk
4681e48204 Remove private kernel members from `struct fpreg'; update accompanying comment. 1999-12-30 23:59:29 +00:00
pk
f152d57aa2 Make sure to reset the FP queue when loading new values into FP registers. 1999-12-29 15:21:27 +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
jdc
016b030623 Added tctrl.h 1999-12-20 09:49:20 +00:00
garbled
e89216c73c avoid uninterruptable sleep on a CMD_REQ ioctl. 1999-12-17 00:32:25 +00:00
thorpej
18ab712015 Provide cpu_boot_secondary_cpus(). 1999-12-16 20:24:58 +00:00
garbled
f02b80418b add <machine/tctrl.h> where needed.
Add some undocumented commands to the ts102 registers file, and fix a few
typos.

Modifications to tctrl.c:

Add entrypoints to driver for open/close/ioctl/poll.
Make device work with apmd. (still no support for suspend/sleep)
Make device work with ENVSYS API.
Slightly restructure handling of events.
Add function to make microcontroller requests.
1999-12-15 08:12:30 +00:00
garbled
dd9ad672a9 add entrypoint for tctrl device, and add <machine/tctrl.h> to includes for
machdep.c
1999-12-15 08:03:43 +00:00
garbled
5e200de9b7 Add new spl level for tadpole devices splts102.
Device entrypoints for tctrl device (tadpole micro controller)
add header for direct-access ioctl to the tadpole microcontroller.
1999-12-15 08:01:00 +00:00
ragge
26e1b45757 clrnd()/clbase() discarding. 1999-12-05 11:56:30 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
mrg
b27ecf75a9 oops; remove part of the previous that was not intended (yet). 1999-11-30 07:56:28 +00:00
pk
a24fb44ddf Pull header files from `syssrc' since we use libsa/loadfile(). 1999-11-29 14:49:12 +00:00
mrg
2c11d38827 add some missing #ifdef SUN4M to the MP-handling code. 1999-11-27 14:54:53 +00:00
mrg
9a6c8313f7 minor cosmetic merges; long way to go here. 1999-11-27 12:14:26 +00:00
mrg
264af07cff merge sparc64 types.h; these files are now identical. 1999-11-27 11:33:39 +00:00
mrg
d7e14b468a more sparc64 merging; these files are (basically) identical. 1999-11-27 11:20:41 +00:00
mrg
faa527dcc9 merge sparc64 limits.h; these files are now identical. this includes
a `fix' for when s?size_t was changed from int to long but the
definitions of S?SIZE_MAX were left as U?INT_MAX.  these are now
U?LONG_MAX.
1999-11-27 11:14:40 +00:00
mrg
492e85822e MNN has been standard for a Long Time. 1999-11-27 10:22:19 +00:00
mrg
484cb25f55 s/long/int/ to make this identical the sparc64 version. 1999-11-27 10:10:02 +00:00
pk
e0118ca933 Suppress the machine' symlink when making target obj'.
Also add it to the clean target list.
1999-11-25 13:27:30 +00:00
pk
633fd1e1cc Check presence of Sbus interrupt properties before using them. 1999-11-21 15:23:01 +00:00
itojun
e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
chs
7fa6c707d3 update a prototype for the new pmap_enter(). 1999-11-17 06:16:49 +00:00
fvdl
8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl
d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00