Chris Costello [Thu, 11 May 2000 22:10:51 +0000 (22:10 +0000)]
Adapt fdesc to be mounted on /dev/fd and remove fd, stdin, stdout and
stderr nodes. More specific items of this patch:
o Removed support for symbolic links, and the need for
fdesc_readlink().
o Put all the code from fdesc_attr() into fdesc_getattr() and removed
fdesc_attr(). This also made it easier to properly give all nodes
unique inode numbers.
o The removal of all non-fd nodes allowed the removal of the fdesc_read(),
fdesc_write(), and fdesc_ioctl() nodes, since we no longer have nodes
that get special handling.
o Correct the component name validity-checking in fdesc_lookup(). It
previously detected the end of the string by checking for a terminating
NUL, now it uses cnp->cn_namelen.
o Handle kqueue files as FIFOs. This is probably the closest file type
to represent this type of file there is, and it is unfortunately not
very representative of a kqueue. Creation time is not supported by
kqueue, so ctime, mtime and atime are all set to the current time when
getattr() was called.
o Also set st_[mca]time to the current time since there's no data in
socket structures that can be used to fill this in (FIFOs).
o Simplify fdesc_readdir() since it only has to report the numbered
fd nodes. Add `.' and `..' directory links as well.
o Remove read bits from directories as they tend to confuse programs
like tar(1).
Reviewed by: phk
Discussed with: bde (earlier on, not quite review)
Bruce Evans [Thu, 11 May 2000 16:39:33 +0000 (16:39 +0000)]
Removed bogus quoting of single tokens in a .Fn invocation. This helps
my synopsis checker decide which .Fn's are for prototypes (most function
parameters require quoting because they have multiple tokens).
Bruce Evans [Thu, 11 May 2000 16:13:18 +0000 (16:13 +0000)]
"Fixed" missing include in synopsis. POSIX.1-1996 only specifies
including <signal.h>, but that must be a bug in POSIX.1, because it
also specifies that the relevant prototype is [only] in <pthread.h>.
Bruce Evans [Thu, 11 May 2000 15:57:17 +0000 (15:57 +0000)]
Fixed missing consts for function parameters, so that the code matches
the man page and POSIX.1. Fixed nearby misformatting. Fixed a missing
prototype.
Andrew Gallatin [Thu, 11 May 2000 13:31:05 +0000 (13:31 +0000)]
Some white-box (NT) systems have SRM which reports a systype that's
the negative of their blue-box (UNIX/OVMS) counterpart. This was
causing us to panic early in the boot process because we weren't
expecting a negative index into the cpuinit[] array.
Reorganize some of the http code and split it into more functions.
Implement fetchStatHTTP().
Unbungle struct url, and add fetchFreeURL().
Document it.
Greg Lehey [Thu, 11 May 2000 07:26:33 +0000 (07:26 +0000)]
Rewrite parity maintenance functions.
revive_block: Correct bug introduced in revision 1.25 which caused
Add fields to vinum_ioctl_msgexcessive concurrent requests followed by
system death.
Peter Wemm [Thu, 11 May 2000 02:32:36 +0000 (02:32 +0000)]
Move <machine/ipl.h> outside #ifdef SMP because it supplies AST_RESCHED.
Without this, it shows up as an undefined symbol in /kernel. (!)
(This looks very freaky when doing a nm /kernel!)
Mike Smith [Thu, 11 May 2000 01:12:46 +0000 (01:12 +0000)]
Attempt to work around problems caused by spurious interrupts and
uninitialised interrupts in the APIC. This seems to fix the problems
being seen on systems using the RCC chipsets, eg. Dell PowerEdge 24x0.
The actual nature of the problem probably needs further investigation,
but this patch allows us to actually function on these systems.
John Baldwin [Wed, 10 May 2000 18:54:28 +0000 (18:54 +0000)]
Handle PCI devices that actually use an ISA IRQ for the cia and tsunami
chipsets. An example of this is the USB controller on these chipsets.
With this, I can now use USB devices on the test Alpha I am borrowing at
the moment.
David E. O'Brien [Wed, 10 May 2000 17:24:08 +0000 (17:24 +0000)]
Fix modules: target.
Submitted by: jhb
1. ${.CURDIR}/modules was a confusing way to spell ${.OBJDIR}/modules
2. ${.CURDIR}/../../modules is a verbose, wrong path to the module sources.
The correct path is $S/modules, since ${.CURDIR} for the kernel may be
in the obj tree but the sources are in the src tree.
3. The `obj' and `all' steps may be combined, as can `obj' and `depend'.
Submitted by: bde
Backup ${DESTDIR}/modules to ${DESTDIR}/modules.old to match the same action
done to the kernel.
Bruce Evans [Wed, 10 May 2000 14:38:28 +0000 (14:38 +0000)]
Regenerated (to fix "created from" lines, and to fix the previous
regeneration which somehow used the wrong syscalls.master file,
resulting in unbuildable svr4_sysent.c).
David E. O'Brien [Wed, 10 May 2000 01:24:23 +0000 (01:24 +0000)]
1. `movl' is for use with 32-bit operands. Do NOT use it with 16-bit
operands. `movw' could be used, but instead let the assembler decide
the right instruction to use.
2. AT&T asm syntax requires a leading '*' in front of the operand for
indirect calls and jumps.
David E. O'Brien [Wed, 10 May 2000 01:15:55 +0000 (01:15 +0000)]
When using _asm{} in GCC, one must specify the operand's size if one
specifies the instruction's operation size. GCC will default to 32-bit
operands reguardless of the prototype (ie, formal parameters' type)
of an inline function.
correct possible security issue(s) in name resolution, due to use of
pre-4.9.7 BIND resolver code.
ftp://ftp.kame.net/pub/mail-list/snap-users/2348 for details.
Bruce Evans [Tue, 9 May 2000 21:18:30 +0000 (21:18 +0000)]
Fixed the calculation of sy_nargs in sysent tables. We attempted to do
this in awk using the hack of counting args of type off_t twice and args
of all other types once. This is too simple to work. It gave benignly
wrong results on alphas (off_t shouldn't be counted twice) and for
svr4_sys_mmap64() on i386's (off64_t should be counted twice). It gave
fatally wrong results for i386's with 64-bit longs (longs should be
counted twice). The correct value for sy_nargs is easier to determine
from the size of the args struct anyway, except for complications to
make the generated code almost readable.
Improved formatting of sysent tables by lining up the comments where
possible.
Warner Losh [Tue, 9 May 2000 19:41:18 +0000 (19:41 +0000)]
This appears to have been repo-copied to lpd a while ago and never
deleted here. Diff shows there is only one change to this file, which
matches the repo histories.