The poison pill of death: adding a target mode reply handler and target
resources to a non-FC card killed us dead. Sorry for the breakage since
last July 12.
Fix problems with destroy and forcible destroy functionality:
- hold/release device in start/done routines, this will probably slow
down things a bit, but previous code was racy;
- only release device if g_gate_destroy() failed - if it succeeded device
is dead and there is nothing to release;
- various other changes which makes forcible destruction reliable.
- Move descriptions of BOOT_COMCONSOLE_PORT, BOOT_COMCONSOLE_SPEED,
and LOADER_TFTP_SUPPORT options into the world section since boot
blocks are built as part of the world.
- Document BOOT_PXELDR_ALWAYS_SERIAL and BOOT_PXELDR_PROBE_KEYBOARD
options of pxeboot(8).
- Make the PROBE_KEYBOARD option better resemble the -P option in
boot2, i.e., if keyboard isn't present then boot with both
RB_SERIAL and RB_MULTIPLE set.
The FreeBSD by default "disables" hyper-threading cores, by not scheduling
any threads to them. However, it still counts those cores as "active but
permanently idle" when calculating system-wide CPUs statistics. It is
incorrect, since it skews statistics quite a bit and creates real problems
for certain types of applications (monitoring applications for example),
by making them believe that the system does have enough idle CPU resources,
while in fact it does not.
Correct the problem by not calling performance counting routines on "disabled"
cores. The cleaner solution would be to just disable APIC timer interrupts on
those cores completely, but ENOTIME here and it is not clear if the
additional complexity really worth minor performance gain.
GC dead code. If we want to stay polite to the foreign compilers,
we can find another way to issue an #error, but using a preprocessed
assembler for that purpose and clobbering libc.a with an empty .o
just for the sake of #error reporting is way too much of a burden.
- Make net.inet.tcp.maxtcptw modifiable at run time.
- If net.inet.tcp.maxtcptw was ever set explicitly, do
not change it if kern.ipc.maxsockets is changed.
Some minor corrections:
* Expose functions for setting the "skip file" dev/ino information
* Expose functions for setting/querying the block size on reads
* Correctly propagate errors out of archive_read_close/archive_write_close
* Update manpage with information about new functions
sam [Mon, 4 Sep 2006 20:12:45 +0000 (20:12 +0000)]
sigh, put back buffer overflow fix of 1.1.11 that seems to have
not gone into the 0.9.4 release; don't put it on the vendor branch
so we won't lose it on the next import if they continue to lose it
marius [Mon, 4 Sep 2006 16:45:08 +0000 (16:45 +0000)]
- Talk about chips rather than chip sets as AMD LANCE and PCnet are
single-chip.
- Add some more rationale about le(4).
- Add/un-comment hardware notes for C-Bus and ISA adapters.
If building the module as part of the kernel build, determine
the "device isa" presence out of the opt_isa.h in the kernel
build directory, rather than always assuming its presence.
sparc64 is still special cased and is not affected by this
change.
Avoid an infinite loop in empty_both_buffers() by adding a timeout.
This helps systems that don't actually have atkbd controllers, such as the Intel
SBX82 blade, boot without device.hints hacks.
Hardware for this fix provided by iXsystems.
PR: 94822
Submitted by: Devon H. O'Dell <devon.odell@coyotepoint.com>
MFC After: 3 days
marius [Sun, 3 Sep 2006 21:20:21 +0000 (21:20 +0000)]
Do as the USII CPU manual suggests and leave interrupts enabled
for a bit before retrying to resend an IPI in order to avoid
deadlocks if the other CPU is also trying to send one.
OpenSolaris uses a delay of 1 microsecond here but waiting 2
microseconds with interrupts enabled like Linux does shouldn't
hurt but is a bit safer.
up the default msgbuf limit to 64k.. a verbose boot on i386 on modern
hardware returns almost 48k of data... to change the default per platform,
it should be done in DEFAULTS, not here...
add a newbus method for obtaining the bus's bus_dma_tag_t... This is
required by arches like sparc64 (not yet implemented) and sun4v where there
are seperate IOMMU's for each PCI bus... For all other arches, it will
end up returning NULL, which makes it a no-op...
Convert a few drivers (the ones we've been working w/ on sun4v) to the
new convection... Eventually all drivers will need to replace the parent
tag of NULL, w/ bus_get_dma_tag(dev), though dev is usually different for
each driver, and will require hand inspection...
Break out typedefs from bus_dma.h to _bus_dma.h so that we can get the
typedef for bus_dma_tag_t in sys/bus.h w/o poluting the namespace...
This is in preperation for adding bus_get_dma_tag to sys/bus.h...
New release notes: audit(4) (somewhat belatedly, now that I
marginally understand how this feature works), cp(1) -l (+MFC),
pkill(1)/pgrep(1) to /bin, lukemftpd 20060831.
Updated release notes: OpenBSM 1.0a10 (also do a minor markup fix,
+MFC).
Vendor import of OpenBSM 1.0 alpha 10, with the following changes:
- auditd now generates complete audit records for its events, as required for
application-submitted audit records in the the FreeBSD kernel audit
implementation.
This also restores contrib/openbsm/bsm/audit_record to the vendor version
after the build fixes previously committed; however, this file is not used
in the build.
Enforce the compile-time threads limit at run-time, so that a high thread
count argument doesn't cause a segfault or memory corruption when the
compile-time array is overrun.
Remove two hypothetical calls to suser() in ifdef'd (and uncompilable)
svr4 code: this code would call centralized sysctl code that does
these checks also.
marius [Fri, 1 Sep 2006 22:34:49 +0000 (22:34 +0000)]
- Improve the description of gem(4); the Sun chips it supports are
termed ERI and GEM rather than GMAC.
- Bring the description of le(4) in line with the current le(4); it
was still refering to the old i386 ISA-only le(4) which was nuked
along with ISA_COMPAT while HEAD was FreeBSD 5.
- Add an entry for hme(4).
- Remove the obsolete entry for lnc(4).
marius [Fri, 1 Sep 2006 21:42:22 +0000 (21:42 +0000)]
- s/gigabit/Gigabit/
- Talk about supported chips rather than supported cards as the majority
of the hardware supported by gem(4) is on-board.
- "the .Nm driver"
- Sort the list of supported chips alphabetically.
- Sun GEM aren't used on-board though, so don't claim they'd be.
- Add a CAVEATS section informing that Sun GEM cards aren't supported
so far.
Stylize:
o avoid using a global register variable.
o redefine struct ia64_tp as a union. We don't have to get to the
fields themselves. We just need it to be of the right size with
the right alignment.
marius [Fri, 1 Sep 2006 20:41:59 +0000 (20:41 +0000)]
- Use full name of the Sun PGX64 cards and add the Sun part number
in order to simplify matters for people who are looking for a video
card supported by FreeBSD/sparc64.
- Add Sun PGX to the list of known working cards.
The ucontext is 16-byte aligned, which means that struct tcb is
16-byte aligned. Consequently, struct tcb is a multiple of 16
bytes in size. We need to make sure there's no padding after
struct ppc32_tp. We do this by explicitly adding the necessary
padding in front of it.