Commit Graph

1420 Commits

Author SHA1 Message Date
drochner cf8b697c65 remove license clauses 3 and 4 from my cpoyright notices 2004-03-24 17:06:57 +00:00
ws 0d0b70f9e6 Fix Frank Lancaster's long standing broken license (after consulting with him). 2004-03-24 16:39:53 +00:00
ws fc20faec01 Fix Frank Lancaster's broken license (after consulting with him).
Pointed out by wiz.
2004-03-24 16:39:52 +00:00
atatat 19af35fd0d Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
2004-03-24 15:34:46 +00:00
cl ea5ec0212d add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP
2004-03-14 01:08:47 +00:00
bjh21 e4247411fe Rename wsqms(4) to qms(4), since the "ws" is redundant now. While I'm here,
bundle it all into a single file, qms.c, replacing wsqms.c, wsqms_iomd.c,
and wsqmsvar.h.
2004-03-13 19:27:40 +00:00
bjh21 0d2fbdc9ee Add part of iomdkbc(4) that I missed last time. 2004-03-13 19:23:36 +00:00
bjh21 b8d9d01177 Rename arch/acorn32/dev/wskbdmap_mfii.c to arch/acorn32/dev/wskbdmap_mfii_rpc.c
to avoid config(8) confusion with dev/pckbport/wskbdmap_mfii.c.
2004-03-13 19:20:50 +00:00
bjh21 e63a7e9215 Remove support for freezing console on mouse-button presses, since that was
dependent on the old qms(4) driver, which is gone.
2004-03-13 18:48:26 +00:00
bjh21 497fe37693 Remove busmouse(4) drivers. Everyone should be using wsmouse(4) these days. 2004-03-13 18:29:34 +00:00
bjh21 db7410bc83 Remove pointless comments 2004-03-13 18:06:41 +00:00
bjh21 f869418166 Add support for using the MI pckbd and pms drivers with the IOMD keyboard
and mouse ports, with a new driver, iomdkbc(4).
2004-03-13 17:52:02 +00:00
bjh21 dff5222d3a Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it.  This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111.  The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers.  To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned.  Thy just use rather more function pointers than before.  Tested
on i386 and (with a new host driver) acorn32.  Compiled on several other
affected architectures.
2004-03-13 17:31:33 +00:00
scw c29e82af70 Must Test Before Committing... 2004-02-27 18:55:19 +00:00
wiz f05e6f1a3a occured -> occurred. From Peter Postma. 2004-02-24 15:12:51 +00:00
jdolecek af46922ada add compat hook in check for zerodev; use this hook to recognize
the old ARM /dev/zero minor mapping #ifdef COMPAT_16
fixes second part of PR kern/23581 by Richard Earnshaw
2004-02-14 12:20:14 +00:00
bsh ba2cd9f97b add lcd and spi 2004-02-14 07:20:20 +00:00
bsh 126ae44aa1 SPI support for Samsung S3C2410.
spi driver doesn't provide any actual I/O, and attaches child drivers
for devices that hooked to SPI ports.
2004-02-14 07:19:51 +00:00
bsh 0eedb024e6 Support S3C24X0's on-chip LCD controller.
lcd driver can be configured with or without wsdisplay.
With wsdisplay, it supports text mode using rasops in 8bpp or 16bpp.
Without it, users only can mmap(2) the framebuffer.

XXX: 1-, 2-, 4-, or 24- bpp mode is not supported yet.
XXX: S3C24x0's LCD controller can have virtual screen which is bigger
     than actual LCD panel. Our wsdisplay framework doesn't have
     features to utilize it.
2004-02-14 07:12:50 +00:00
scw a402937c23 Avoid using two 'GPIO' bits of the interrupt mask to signify soft
interrupts; some boards actually use those GPIO pins as external
interrupt sources.

Instead, assign soft interrupt bits to on-chip sources which are
not used by the IXP425 port.
2004-02-13 15:49:02 +00:00
wiz d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
bsh 03e6ee6d67 add register definitions for LCD controller, AD converter, and SPI. 2004-02-12 03:52:46 +00:00
bsh da6312579b be consistent with #define<TAB> 2004-02-12 03:47:29 +00:00
bjh21 62c2e676ba Increase the attach priority of opms(4) and kbd(4) (also rpckbd(4), but that
slipped into a previous commit) so that they can override the forthcoming
iomdkbc(4) if necessary.
2004-02-08 13:43:52 +00:00
bjh21 11ab4a17ac Attach rpckbd(4) and kbd(4) in the same place, so that they can't both end
up attached at the same time, and so that they can both prevent the forthcoming
iomdkbc(4) attaching to the keyboard slot.
[ file missed in last commit ]
2004-02-08 13:41:53 +00:00
bjh21 165d7132e7 Attach rpckbd(4) and kbd(4) in the same place, so that only one of them can
attach at a time, and so that either of them can prevent the forthcoming
iomdkbd(4) attaching to the keyboard slot.
2004-02-08 13:39:21 +00:00
junyoung 9a410f9ed0 Rename es_check in struct execsw to es_makecmds. 2004-02-06 08:02:58 +00:00
reinoud 91f1fdd2b7 The `beep' device has been removed but aparently this small reference was
obmitted resulting in a compilation failure in the autobuilds.

It effectively removes the now redundant reference to "beep.h" and removes
an associated prototype that wasn't used.
2004-01-29 16:43:42 +00:00
rearnsha 8e61df4a12 Switch the ARM9 to using the Dcache in write-back mode. Avoid an
unknown problem with dcache_inv_range by using a wbinv for now
(similarly for ARM10).

When setting the ARM9 system control register, use the computed
cpuctrlmask value (not 0xffffffff) so that the clocking-mode bits are
not reset to FastBus mode (which isn't very fast).
2004-01-26 15:54:16 +00:00
scw b9992109f0 Make it possible to call badaddr_read() from interrupt context, even
if curpcb is NULL, by borrowing lwp0's pcb if necessary (needed to
be able to set pcb_onfault).

Problem reported by Allen Briggs.
2004-01-26 10:45:24 +00:00
bjh21 ed0dd3010c Remove spurious inclusion of obsolete <arch/arm/iomd/waveform.h>. 2004-01-25 14:46:44 +00:00
bjh21 d7db239545 Remove another mention of "beep". 2004-01-25 13:52:00 +00:00
bjh21 239eec55fd Remove mentions of "beep" driver. 2004-01-25 13:51:29 +00:00
bjh21 5efebff42a Remove the "beep" driver. Its function is largely subsumed by a
combination of audio(4), wskbd(4) and audiobell().  Proposed a week
ago on port-acorn32 with no reaction whatever.
2004-01-25 13:46:59 +00:00
skrll 3dfd94284a Leave errno as zero when we SIGSEGV. This means my CATS now passes
regress/lib/libc/siginfo/sigsegv

OK'd by christos.
2004-01-21 15:39:21 +00:00
martin da4e67accc Do not export __HAVE_RAS to userland. Applications are supposed to try
rasctl() and detect failure with EOPNOTSUPP.
2004-01-18 18:23:19 +00:00
bjh21 3bcd444b32 vidcaudio_set_params() must return a value (oops!). 2004-01-18 14:42:09 +00:00
scw ee92d9d4d2 Fix ARM_VECTORS_LOW fallout caused by the recent reaper removal.
Just before removing the vector page mapping, switch to the kernel
pmap's L1/vector page mapping so as not to pull the rug out from
under ourselves.

To prevent the stale L1/vector page mapping from being restored by
cpu_switch, replace the relevant fields of the dying process' pcb
with those of lwp0's pcb.
2004-01-18 13:03:50 +00:00
bjh21 8078bc62c9 Change the control flow in vidcaudio_set_params() so as to make the indentation
less hairy.
2004-01-17 23:41:20 +00:00
bjh21 5510e882f1 Adjust vt(4) (WHICH MUST DIE) to the new way of handling bells on
NetBSD/acorn32.
2004-01-17 22:52:42 +00:00
bjh21 13d0914a93 Use audiobell for system beeps on acorn32 when vidcaudio(4) is compiled in.
Remove the vestigal sysbeep device and replace it with the same kind of
mechanism that pckbd(4) uses to find the bell, which is just as ugly, but
more standard.  Adapt beep(4) to the new world (though I'm not sure it
deserves to live).
2004-01-17 21:49:24 +00:00
bjh21 e095fd5eda More light KNF. 2004-01-17 21:25:25 +00:00
bjh21 2ae7606f01 Light KNF. 2004-01-17 21:24:29 +00:00
bjh21 e37ee89427 Don't include option headers we're not going to use. 2004-01-17 21:16:13 +00:00
bjh21 b727d5da17 KNF. 2004-01-17 21:14:46 +00:00
bjh21 8e0990aadd Un-__P. 2004-01-17 21:05:40 +00:00
scw dcb1b313f5 Use __insn_barrier() to prevent the compiler reordering splx/splraise
relative to the code they're supposed to protect.
2004-01-12 10:25:06 +00:00
bjh21 75080c1305 The VIDC20 data sheet doesn't define the polarity of the sign bit for
8-bit VIDC audio.  Both Richard Earnshaw and I had guessed that a set
bit was positive (the same as normal mu-law), but the AudioWorks
manual, and Sound_SoundLog on RISC OS, seem to disagree.  Change
MULAW_TO_VIDC to match Sound_SoundLog, since the latter is probably
definitive.
2004-01-10 22:33:24 +00:00
jdolecek 089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
chris 190f92bccf Currently the eb7500atx doesn't have a cmos_read function, however it also
won't use the RPC600_IOMD_ID code path, so disable that code path for the
eb7500atx.
2004-01-03 14:53:16 +00:00