Ben Gras [Thu, 10 Aug 2006 11:51:11 +0000 (11:51 +0000)]
. fix for wild store at startup time by calling dev_io without fp
initialized
. fix for writing exactly PIPE_SIZE to a pipe with O_NONBLOCK blocking
anyway because of incomplete logic in pipe_check
Ben Gras [Tue, 25 Jul 2006 09:41:40 +0000 (09:41 +0000)]
Introduction of a 'big' ioctl, with more bits (20) reserved for encoding the
size field. The TIOCSFON ioctl size (8192) didn't get encoded properly,
as there weren't enough bits for it (12) in the regular format.
The new format has only one type field, and an extra flag (_IOC_BIG)
turned on. FS checks for this flag and uses the alternative decoding
of the ioctl codes to determine the size when doing grants.
This unbreaks loadfont, although that still uses a phys copy in tty.
Philip Homburg [Wed, 19 Jul 2006 11:50:18 +0000 (11:50 +0000)]
Switch to vc 0 and softscrolling when /dev/video is opened and switch back
at the close. This should prevent problems with X on (emulated) Cirrus
cards.
Ben Gras [Thu, 13 Jul 2006 14:50:23 +0000 (14:50 +0000)]
. DS understands publishing and subscribing where keys are in string
form. Subscriptions are regular expressions.
. different types are stored per key; currently u32 and/or string.
the same key can be referenced (publish, subscribe, check) as any type.
. notify()s are sent when subscriptions are triggered (publishing or
updating of matching keys); optionally, a subscribe flag sends
updates for all matching keys at subscription time, instead of only
after updates after subscribing
. all interfacing to ds is in /usr/src/lib/syslib/ds.c.
. subscribe is ds_subscribe
publish functions are ds_publish_<type>
retrieve functions are ds_retrieve_<type> (one-time retrieval of a value)
check functions are ds_check_<type> (check for updated key caller
subscribes to not yet checked for, or ESRCH for none)
. ramdisk driver updated with new ds interface
Philip Homburg [Thu, 13 Jul 2006 13:19:48 +0000 (13:19 +0000)]
More stack for tcpd.
Safecopies renders the NWIOQUERYPARAM ioctl useless. This functionality
is now replaced with /dev/ipstat. Write the request to the device and
read the answer in one read request.
Philip Homburg [Mon, 10 Jul 2006 12:13:29 +0000 (12:13 +0000)]
Added SI_CALL_STATS and ENABLE_SYSCALL_STATS for system call statistics.
Added BUSC_PCI_DEV_NAME_S and BUSC_PCI_SLOT_NAME_S to support safecopies in PCI.
Added DL_WRITEV_S, DL_READV_S, DL_GETSTAT_S, DL_GRANT, and iovec_s_t to support
safecopies in ethernet drviers. Renamed DL_INIT to DL_CONF, and DL_INIT_REPLY
to DL_CONF_REPLY.
Added SYS_READBIOS and sys_readbios to read from BIOS data areas.
Added GET_KMESS_S for safecopy support in LOG.
Added sys_safe_insb and sys_safe_outsb.
Ben Gras [Fri, 30 Jun 2006 14:35:38 +0000 (14:35 +0000)]
Split do_brk in a stub and a function that does the real work, so that
the real work can be called from elsewhere too. Specifically, to allow PM
its own brk().
Ben Gras [Tue, 27 Jun 2006 16:47:35 +0000 (16:47 +0000)]
. satisfy some gcc warnings (uninitialized/unused variables)
. change cloexec mask from long to fd_set to remove 32 fd's per
process restriction (from cloexec at least)
Ben Gras [Mon, 26 Jun 2006 16:08:42 +0000 (16:08 +0000)]
. expanded grant manipulation interface to more direct
manipulation
. made fs allocate a grant for every ioctl, even if no data
is being copied, in order to disambiguate concurrent ioctls
on the same minor
Ben Gras [Fri, 23 Jun 2006 11:51:56 +0000 (11:51 +0000)]
. leave out dead code from device.c
. don't loop doing a receive() after sendrec() - chance of recovering is not
high, and can lead to receive()ing a notify() (which can't happen in sendrec()),
which is terrible
. return status from device when DEV_CANCEL is done on a signal; hardcode EAGAIN to
become EINTR though