Julian Elischer [Fri, 22 Nov 2002 00:23:02 +0000 (00:23 +0000)]
Don't flip the "we're it" bit until we are all there..
(don't fill in the mailbox pointer until we have unloaded all the
previous contents of the mailbox context block)
John Baldwin [Thu, 21 Nov 2002 20:55:22 +0000 (20:55 +0000)]
*sigh*. It seems that in the ACPICA code, Intel defines its own APIC_IO
macro for use when parsing MADT tables, thus we always tried to set the
interrupt model to APIC. This proved to be harmful on UP machines with
IO APIC's (or for UP kernels on SMP machines) since the wrong interrupt
routing information would be returned.
Julian Elischer [Thu, 21 Nov 2002 10:31:11 +0000 (10:31 +0000)]
Temporarily remove the install of bluetooth include files..
something "VERY WIERD" happens to them during buildworld..
The sources get replaced by symlinks to themselves (!?)
Jeff Roberson [Thu, 21 Nov 2002 09:30:55 +0000 (09:30 +0000)]
- Add the new sched_pctcpu() function to the sched_* api.
- Provide a routine in sched_4bsd to add this functionality.
- Use sched_pctcpu() in kern_proc, which is the one place outside of
sched_4bsd where the old pctcpu value was accessed directly.
Jeff Roberson [Thu, 21 Nov 2002 09:17:56 +0000 (09:17 +0000)]
- Add an event that is triggered when the system is low on memory. This is
intended to be used by significant memory consumers so that they may drain
some of their caches.
Inspired by: phk
Approved by: re
Tested on: x86, alpha
Jeff Roberson [Thu, 21 Nov 2002 08:57:08 +0000 (08:57 +0000)]
- Move FSCALE back to kern_sync. This is not scheduler specific.
- Create a new callout for lbolt and move it out of schedcpu(). This is not
scheduler specific either.
Warner Losh [Thu, 21 Nov 2002 07:21:45 +0000 (07:21 +0000)]
Fix make buildkernel.
These makefiles work when building in the sys/modules directory, but
not with the objdir stuff that buildkernel uses. This is because they
used -I../../../blah rather than -I${.CURDIR}/../../../blah.
# I didn't fix the abuse of CFLAGS to specify -g since I wanted the
# barest minimal change since we're in a code freeze.
Approved by: make buildkernel...
Hat for armchair anarchists: core member fixing src tree damage
Jeff Roberson [Thu, 21 Nov 2002 01:22:38 +0000 (01:22 +0000)]
- Implement a mechanism for allowing schedulers to place scheduler dependant
data in the scheduler independant structures (proc, ksegrp, kse, thread).
- Implement unused stubs for this mechanism in sched_4bsd.
Approved by: re
Reviewed by: luigi, trb
Tested on: x86, alpha
Julian Elischer [Wed, 20 Nov 2002 23:01:59 +0000 (23:01 +0000)]
The second try a committing the bluetooth code
Has been seen to work on several cards and communicating with
several mobile phones to use them as modems etc.
We are still talking with 3com to try get them to allow us to include
the firmware for their pccard in the driver but the driver is here..
In the mean time
it can be downloaded from the 3com website and loaded using the utility
bt3cfw(8) (supplied) (instructions in the man page)
Not yet linked to the build
Submitted by: Maksim Yevmenkin <myevmenk@exodus.net>
Approved by: re
Luigi Rizzo [Wed, 20 Nov 2002 19:07:27 +0000 (19:07 +0000)]
Move fw_one_pass from ip_fw2.c to ip_input.c so that neither
bridge.c nor if_ethersubr.c depend on IPFIREWALL.
Restore the use of fw_one_pass in if_ethersubr.c
Robert Watson [Wed, 20 Nov 2002 15:41:25 +0000 (15:41 +0000)]
Introduce p_label, extensible security label storage for the MAC framework
in struct proc. While the process label is actually stored in the
struct ucred pointed to by p_ucred, there is a need for transient
storage that may be used when asynchronous (deferred) updates need to
be performed on the "real" label for locking reasons. Unlike other
label storage, this label has no locking semantics, relying on policies
to provide their own protection for the label contents, meaning that
a policy leaf mutex may be used, avoiding lock order issues. This
permits policies that act based on historical process behavior (such
as audit policies, the MAC Framework port of LOMAC, etc) can update
process properties even when many existing locks are held without
violating the lock order. No currently committed policies implement use
of this label storage.
Kirk McKusick [Wed, 20 Nov 2002 05:16:11 +0000 (05:16 +0000)]
The target for the maximum number of dependencies has been cut
in half because of reports that under heavy load the kernel could
exhaust its memory pool. The limit is now (desiredvnodes * 4)
rather than (desiredvnodes * 8), so it will still scale with
larger systems, just not as quickly.
Kirk McKusick [Wed, 20 Nov 2002 05:14:16 +0000 (05:14 +0000)]
If an error occurs while writing a buffer, then the data will
not have hit the disk and the dependencies cannot be unrolled.
In this case, the system will mark the buffer as dirty again so
that the write can be retried in the future. When the write
succeeds or the system gives up on the buffer and marks it as
invalid (B_INVAL), the dependencies will be cleared.
Robert Watson [Tue, 19 Nov 2002 22:12:42 +0000 (22:12 +0000)]
Merge kld access control checks from the MAC tree: these access control
checks permit policy modules to augment the system policy for permitting
kld operations. This permits policies to limit access to kld operations
based on credential (and other) properties, as well as to perform checks
on the kld being loaded (integrity, etc).
Thomas Moestl [Mon, 18 Nov 2002 22:08:50 +0000 (22:08 +0000)]
Fix the handling of high PLT entries (> 32764) on sparc64. This requires
additional arguments to reloc_jmpslot(), which is why MI code and MD code
of other platforms had to be changed.
Robert Watson [Mon, 18 Nov 2002 14:23:21 +0000 (14:23 +0000)]
We leaked a process lock reference in the event an RFTHREAD process
leader wasn't exiting during a fork; instead, do remember to release
the lock avoiding lock order reversals and recursion panic.
Reported by: "Joel M. Baldwin" <qumqats@outel.org>
Marcel Moolenaar [Mon, 18 Nov 2002 08:37:46 +0000 (08:37 +0000)]
Create a link /boot -> /<efi>/boot, where <efi> is the mountpoint
of the EFI file system. This makes the EFI partition non-optional.
I don't think that the links are actually correct, given that all
the mount points are under /mnt when sysinstall is run as init.
(ie a non-upgrade). Thus: I think I need to go in once more, but
at least this doesn't get lost...
Jake Burkholder [Mon, 18 Nov 2002 06:19:12 +0000 (06:19 +0000)]
Create the ofwcons device at SI_SUB_CONFIGURE instead of SI_SUB_DRIVERS,
after configure() has run. Only create the device if ofwcons is the
highest priority console. Make a dev alias with the same name as the
firmware output-device property.
Juli Mallett [Mon, 18 Nov 2002 06:17:07 +0000 (06:17 +0000)]
Move SHOW_BUSYBUFS and PANIC_REBOOT_WAIT_TIME into the MI options file, since
MI code uses them, and every platform provides them (except x86_64 whose
options file was lacking one).
Julian Elischer [Mon, 18 Nov 2002 04:58:11 +0000 (04:58 +0000)]
Everything in the disklabel is unsigned so make all the input routines
take unsigned values.
his allows one to label disk with the number of blocks > 31 bits
(though less then 32 bits)
e.g.
# size offset fstype [fsize bsize bps/cpg]
c: 3125755904 0 unused 0 0 # (Cyl. 0 - 194569*)
d: 3125755840 64 unused 0 0 # (Cyl. 0*- 194569*)
which is needd to test UFS2
David Xu [Mon, 18 Nov 2002 01:59:31 +0000 (01:59 +0000)]
1. Support versioning and wall clock in kse mailbox,
also add rusage time in thread mailbox.
2. Minor change for thread limit code in thread_user_enter(),
fix typo in kse_release() last I committed.
Alan Cox [Mon, 18 Nov 2002 01:36:09 +0000 (01:36 +0000)]
MFi386 r1.369
- Clear the PG_WRITEABLE flag in pmap_changebit() if write access is
being removed. Return immediately if write access is being removed and
PG_WRITEABLE is already clear.
Note: For efficiency, pmap_changebit() should be replaced by a function
similar to sparc64's pmap_clear_write().
Alan Cox [Sun, 17 Nov 2002 21:48:42 +0000 (21:48 +0000)]
MFi386 r1.369
- Clear the PG_WRITEABLE flag in pmap_page_protect() if write access is
being removed. Return immediately if write access is being removed and
PG_WRITEABLE is already clear.
Luigi Rizzo [Sun, 17 Nov 2002 16:30:44 +0000 (16:30 +0000)]
Move the ip_fragment code from ip_output() to a separate function,
so that it can be reused elsewhere (there is a number of places
where it can be useful). This also trims some 200 lines from
the body of ip_output(), which helps readability a bit.
(This change was discussed a few weeks ago on the mailing lists,
Julian agreed, silence from others. It is not a functional change,
so i expect it to be ok to commit it now but i am happy to back it
out if there are objections).
While at it, fix some function headers and replace m_copy() with
m_copypacket() where applicable.