Maxime Henrion [Thu, 7 Nov 2002 21:56:05 +0000 (21:56 +0000)]
- Fix a bunch of casts to long which were truncating off_t's.
- Remove the comments which were justifying this by the fact
that we don't have %q in the kernel, this was probably right
back in time, but we now have %q, and we even have better to
print those types (%j).
John Baldwin [Thu, 7 Nov 2002 21:52:51 +0000 (21:52 +0000)]
Explicitly cast daddr_t's to long long's when printing them since daddr_t
is not long long on all archs. (They happen to be long's on 64-bit arch's
and gcc considers that significant enough to warn about it.) These should
probably be uintmax_t but I didn't feel like adding all the extra includes.
John Baldwin [Thu, 7 Nov 2002 21:19:47 +0000 (21:19 +0000)]
Print pointers with %p instead of casting them to an unsigned int and
then printing them with 0x%x which doesn't work when sizeof(void *) >
sizeof(int).
John Baldwin [Thu, 7 Nov 2002 21:13:15 +0000 (21:13 +0000)]
Fix lots of places that assume sizeof(int) == sizeof(void *). Most of
these were cosmetic. However, at least two of these changes fix bugs
where a (fake) pointer to a RX descriptor was added to the physical
memory start address with the cast in the wrong place resulting in
rxdesc[pmem_start] instead of (uintptr_t)rxdesc + pmem_start.
Robert Watson [Thu, 7 Nov 2002 20:46:37 +0000 (20:46 +0000)]
Do a bit more work in the aio code to simulate the credential environment
of the original AIO request: save and restore the active thread credential
as well as using the file credential, since MAC (and some other bits of
the system) rely on the thread credential instead of/as well as the
file credential. In brief: cache td->td_ucred when the AIO operation
is queued, temporarily set and restore the kernel thread credential,
and release the credential when done. Similar to ktrace credential
management.
Thomas Quinot [Thu, 7 Nov 2002 19:53:29 +0000 (19:53 +0000)]
Factor out the code that determines whether a message must be skipped
as a consequence of a host or program name specification into a common
function, skip_pmessage.
Alan Cox [Thu, 7 Nov 2002 18:33:55 +0000 (18:33 +0000)]
Simplify and optimize pmap_object_init_pt(). More specifically,
take advantage of the fact that the vm object's list of pages is
now ordered to reduce the overhead of finding the desired set of
pages to be mapped. (See revision 1.215 of vm/vm_page.c.)
Thomas Moestl [Thu, 7 Nov 2002 16:07:46 +0000 (16:07 +0000)]
Add two new workaround for firmware anomalies:
1. At least some Netra t1 models have PCI buses with no associated
interrupt map, but obviously expect the PCI swizzle to be done with
the interrupt number from the higher level as intpin. In this case,
the mapping also needs to continue at parent bus nodes.
To handle that, add a quirk table based on the "name" property of
the root node to avoid breaking other boxen. This property is now
retrieved and printed at boot.
2. On SPARCengine Ultra AX machines, interrupt numbers are not mapped
at all, and full interrupt numbers (not just INOs) are given in
the interrupt properties. This is more or less cosmetical; the
PCI interrupt numbers would be wrong, but the psycho resource
allocation method would pass the right numbers on anyway.
Ian Dowse [Thu, 7 Nov 2002 16:04:07 +0000 (16:04 +0000)]
Properly fix the occassional random crash issue that revision 1.142
just limited to the DEVICE_POLLING case. This removes the FXP_RFA_RNRMARK
hack, and replaces it with a softc flag that is used to record when
the handling of a no-resource condition was deferred due to running
out of DEVICE_POLLING cycles. This was tested on -stable, but the
code is essentially the same as in -current. It should only affect
the case where DEVICE_POLLING is defined.
The details of the mechanism behind the crashes are still uncertain
but the most likely cause seems to be some kind of hardware confusion
when the no-resource recovery code is accidentally invoked while
the receiver is still active. This could have happened if the
hardware left the 0x4000 bit of the RFA status word set. The comments
in the commit log for revision 1.142 stating that the driver could
clash with the hardware writing to this status word were not correct.
John Baldwin [Thu, 7 Nov 2002 15:01:12 +0000 (15:01 +0000)]
Create a MACHINE_ARCH == i386 section that first lists modules common
to both i386 and pc98 and then uses MACHINE subsections to list modules
specific to i386/i386 and i386/pc98.
John Baldwin [Thu, 7 Nov 2002 14:39:21 +0000 (14:39 +0000)]
Get this closer to working. The Write_Disk() function's for loop needed
to use the same start condition as the i386 version. However, since
Alpha's only have one fake "slice" from sysinstall's perspective we don't
need to use a loop, but can just write out the BSD label in the first
fake "slice".
David Xu [Thu, 7 Nov 2002 01:34:23 +0000 (01:34 +0000)]
1.Fix smp race between kernel vm86 BIOS calling and userland vm86 mode code,
remove global variable in_vm86call, set vm86 calling flag in PCB flags.
2.Fix vm86 BIOS calling preempted problem by changing vm86_lock mutex type
from MTX_DEF to MTX_SPIN. vm86pcb is not remembered in thread struct,
when the thread calling vm86 BIOS is preempted by interrupt thread,
and later switching back to the thread would cause incorrect context be
loaded into CPU registers, this leads to kernel crash.
John Baldwin [Wed, 6 Nov 2002 22:30:33 +0000 (22:30 +0000)]
Make firewire i386-only for now. It doesn't quite handle machines with
64-bit address spaces yet. Pointy hat to myself for sticking it in the MI
NOTES file to begin with.
John Baldwin [Wed, 6 Nov 2002 22:18:26 +0000 (22:18 +0000)]
Wrap ()'s around an argument before casting it to a void *. If the
argument is an expression you can end up casting part of it to void *.
This resulted in bogus warnings about pointer arith using void *'s for
the ep(4) driver.
John Baldwin [Wed, 6 Nov 2002 21:42:42 +0000 (21:42 +0000)]
Move the drm code to the i386 MD NOTES file. It can be added to other MD
NOTES files if desired, but this code is not MI on FreeBSD. The Alpha
support is Linux specific and does not compile on FreeBSD.
Packed structures are defined differently in older gcc's, like the one
currently in -stable. Put the exception into usb.h instead of having it
hard coded in the sound code.
John Baldwin [Wed, 6 Nov 2002 21:07:13 +0000 (21:07 +0000)]
- Move comments regarding flags for dgb(4) over to the MD NOTES file where
dgb(4) lives.
- Move dgb(4) back to where it used to be relative to other drives in the
old NOTES/LINT file.
John Baldwin [Wed, 6 Nov 2002 20:34:38 +0000 (20:34 +0000)]
Add some band-aid casts to quiet warnings. This driver still assumes
that sizeof(int) == sizeof(void *) == 4. However, it also seems that the
hardware assumes this.
John Baldwin [Wed, 6 Nov 2002 19:42:59 +0000 (19:42 +0000)]
Use a bandaid to fix a warning. However, this driver is very, very far
from being MI in any fashion. It currently "assumes" that it can get
a kernel virtual address for a phyiscal address by adding KERNBASE to the
physical address. It also tries to read values out of a the PC BIOS on
all archs. It also uses "manual" inb() and outb()'s to talk to the mcclock
device which just happens to be at that location on both i386 and alpha.
This driver should likely be i386-only.
John Baldwin [Wed, 6 Nov 2002 19:27:09 +0000 (19:27 +0000)]
Make the ar(4) driver i386-only for now. It has lots of sizeof(int) ==
sizeof(void *) assumptions and doesn't use busdma yet (it uses kvtop()
which is not an MI interface).
Juli Mallett [Wed, 6 Nov 2002 14:53:35 +0000 (14:53 +0000)]
Remove what was a temporary bogus assignment of bits of siginfo_t, as it does
not look like the prerequisites to fill it in properly will be in the tree
for the upcoming release, but it's mostly done, so there is no need for these
to stay around to remind us.
Juli Mallett [Wed, 6 Nov 2002 14:01:08 +0000 (14:01 +0000)]
Add a MAINTAINERS entry for make(1), to the make@ alias, which anyone can use
to run patches to make(1) by. Hopefully this will make it easier to get bugs
fixed in make(1), as well as get review by people with experience working on,
in, around, etc., make(1).
Currently it points to two people who have demonstrated maintainership (ru@
and myself) and one person interested in helping (alane@). That list is
subject to expansion and contraction.
Doug Barton [Wed, 6 Nov 2002 09:21:39 +0000 (09:21 +0000)]
Import the latest hints file from Internic. The most important change
is that J has moved, however I'm sure you'll all be very disappointed
to hear that you can no longer retrieve this file via gopher.
Check the FSLABEL argument and invoke the generic doFS.sh script
if it's not defined as efi. This makes sure we create a proper
MFS root filesystem and still allow the boot disk to be EFI
based.
At this time EFI auto boot works and we're properly loading the
MFS root file system. Time to create drivers.conf and get this
show on the road!
Kelly Yancey [Tue, 5 Nov 2002 18:52:25 +0000 (18:52 +0000)]
Spotted a couple of places where the socket buffer's counters were being
manipulated directly (rather than using sballoc()/sbfree()); update them
to tweak the new sb_ctl field too.
o Introduce variable DOFS_SH to hold the path of the doFS.sh.
o ia64: Set DOFS_SH to point to an alternate version.
o ia64: Lower BIGBOOTSIZE from 120M (LS-120) to ~5M.
o ia64: Set BIGBOOTLABEL to efi so that we can check for it
in the alternate doFS.sh script. If the label is not efi, we
can invoke the generic doFS.sh.
Robert Watson [Tue, 5 Nov 2002 17:52:42 +0000 (17:52 +0000)]
Update policy modules for changes in arguments associated with support
for label access on the interpreter, not just the shell script. No
policies currently present in the system rely on the new labels.
Robert Watson [Tue, 5 Nov 2002 17:51:56 +0000 (17:51 +0000)]
Bring in two sets of changes:
(1) Permit userland applications to request a change of label atomic
with an execve() via mac_execve(). This is required for the
SEBSD port of SELinux/FLASK. Attempts to invoke this without
MAC compiled in result in ENOSYS, as with all other MAC system
calls. Complexity, if desired, is present in policy modules,
rather than the framework.
(2) Permit policies to have access to both the label of the vnode
being executed as well as the interpreter if it's a shell
script or related UNIX nonsense. Because we can't hold both
vnode locks at the same time, cache the interpreter label.
SEBSD relies on this because it supports secure transitioning
via shell script executables. Other policies might want to
take both labels into account during an integrity or
confidentiality decision at execve()-time.