Commit Graph

107220 Commits

Author SHA1 Message Date
marcel
4a69030d00 s/ENTRY/ENTRY_NOPROFILE/g for particular functions that do not follow
the C calling convention or are otherwise not regular functions. This
allows us to boot a profiling kernel.
2004-08-30 01:32:28 +00:00
pjd
676a87c9ac Add a missing '\n'. 2004-08-30 01:10:20 +00:00
davidxu
650fed99d4 Only test return_instead if P_SINGLE_EXIT is set, otherwise a fork()
syscall can interrupt other thread's syscall in sleepq_catch_signals().
Current, all callers know thread_suspend_check may suspend thread
itself, so we need't to check return_instead for normal suspension
flags (no P_SINGLE_EXIT set).

Tested by: deischen
Reported by: Maarten L. Hekkelman <m.hekkelman@cmbi.kun.nl>
2004-08-29 23:10:02 +00:00
alc
0dc141e15d Move the acquisition and release of the lock on the object at the head of
the shadow chain outside of the loop in vm_object_madvise(), reducing the
number of times that this lock is acquired and released.
2004-08-29 20:14:10 +00:00
marcel
24bab9daef Put the ispfw.ko module on the EFI boot partition when creating a
bootable ISO. HP machines (like the rx2600) that (also) have isp(4)
may have a non-standard firmware on the controller. Our isp(4) driver
is not able to work with those and even panics. This makes installing
FreeBSD rather impossible. By adding the ispfw.ko module, we give the
user a chance to upload a certified firmware onto the card and so make
it possible to either use the isp(4) successfully or otherwise avoid
the panic.
2004-08-29 19:52:33 +00:00
des
ff465de13a Add -c option to preserve comments from GENERIC in the output. 2004-08-29 19:45:50 +00:00
des
b19763a3ea Remove the last remnants of HW_WDOG (no, really!) 2004-08-29 19:19:38 +00:00
marcel
a94ef50b1f In alpha_pci_alloc_resource(), when allocating a memory resource,
do not set the virtual address to the bus address when the bus
doesn't have either of the PCI_RF_DENSE or PCI_RF_BWX flags set.
The TGA driver uses the virtual address to access the registers,
which on some machines can cause a memory management fault.  Map
the bus address as K0SEG virtual memory instead. Note that with
some hardware combinations involving the TGA2 adapter this change
merely results that the memory management fault is replaced by a
machine check.
2004-08-29 19:07:14 +00:00
obrien
1c315f997f Start the de-orbital burn of our previous FreeBSD version compat libs
living in usr/src.  We need to use them from ports to record dependencies.

Discussed with:	re(scottl)
2004-08-29 18:27:00 +00:00
imp
5bc031c873 Initial support (disabled) for rebidding devices. I've been running
this in my tree for a while and in its disabled state there are no
issues.  It isn't enabled yet because some drivers (in acpi) have side
effects in their probe routines that need to be resolved in some
manner before this can be turned on.  The consensus at the last
developer's summit was to provide a static method for each driver
class that will return characteristics of the driver, one of which is
if can be reprobed idempotently.
2004-08-29 18:25:21 +00:00
imp
890b511bba MFp4: Merge in the patches, submitted long ago by someone whose email
address I've lost, that move the location information to the atttach
routine as well.  While one could use devinfo to get this data, that
is difficult and error prone and subject to races for short lived
devices.

Would make a good MT5 candidate.
2004-08-29 18:11:10 +00:00
ru
d76b12ed0f Finish the removal of the HW_WDOG option.
Hopefully, we'll finally have the compilable LINT kernels again.  ;)
2004-08-29 15:03:06 +00:00
kensmith
0da56f8f1e Protect the command flags set in the rc.conf files in case they're
more than one word, adding some quotes.

Advice from:	mtm (my first attempt wasn't quite right)
Reviewed by:	mtm
MFC after:	3 days
2004-08-29 15:02:43 +00:00
pjd
3bedfb04b2 GCC, ehh. 2004-08-29 14:29:30 +00:00
simokawa
e39d364e96 Remove an unused variable. 2004-08-29 13:45:55 +00:00
des
87ca321004 Back out previous commit, ichwd is i386-only. 2004-08-29 11:26:36 +00:00
des
334e9f9ebe According to mdoc(7), HISTORY comes before AUTHORS.
MFC after:	3 days
2004-08-29 11:19:35 +00:00
des
63e4700dc5 Add a section for hardware watchdog timers, initially populated by ichwd.
MFC after:	3 days
2004-08-29 11:11:31 +00:00
des
431e20a6fe Remove the HW_WDOG option; it serves no purpose.
MFC after:	3 days
2004-08-29 11:10:09 +00:00
des
afdf24de11 Back out the two previous commits; ichwd is i386-only. 2004-08-29 10:52:39 +00:00
obrien
8c2466fe7e Enable more modules on AMD64:
ciss em ext2fs i2c ida iir ips lnc mly safe scsi_low smbfs sppp twa
2004-08-29 10:05:00 +00:00
obrien
8ca0ccb481 Enable sound modules. 2004-08-29 09:14:18 +00:00
maxim
d003e4e10f o Restore a historical ipfw1 logamount behaviour: rules with 'log'
keyword but without 'logamount' limit the amount of their log messages
by net.inet.ip.fw.verbose_limit sysctl value.

RELENG_5 candidate.

PR:		kern/46080
Submitted by:	Dan Pelleg
MFC after:	1 week
2004-08-29 08:25:02 +00:00
ru
e2eb730c5f Fixed the module name (macros don't work here). 2004-08-29 07:49:53 +00:00
tjr
e6b28daa66 Add cross-reference to ftw(3). 2004-08-29 06:39:58 +00:00
iedowse
1a0ea0b85b Add an entry for ichwd to hopefully unbreak the LINT build. 2004-08-29 03:59:49 +00:00
marcel
88ca7e6487 Do not match TGA2 adapters. They are not compatible with TGA adapters,
nor are they 3D accelarators as the description would like us to
believe. Since the TGA2 adapter has a VGA mode (unlike the TGA adapter),
one can use the VGA driver instead.

This fixes GENERIC kernels on alpha with TGA2 adapters.
2004-08-29 02:53:07 +00:00
iedowse
661cf4b00d Fix two cases where a successful return from usbd_transfer() would
be treated as an error and cause a transfer to be freed twice. This
can probably only happen at boot time when transfers are processed
synchronously.
2004-08-29 02:35:59 +00:00
iedowse
06cb17630f Unconditionally add `-fno-omit-frame-pointer' to CFLAGS when building
modules on the amd64 platform. Without this, ddb stack traces cannot
follow module function calls, which makes debugging very difficult.
2004-08-29 02:00:50 +00:00
iedowse
23b0458914 Add support for completing the installation of ELF relocatable
object format modules that were read in by the loader. Loading
modules via the loader should now work on the amd64 platform.
2004-08-29 01:21:51 +00:00
iedowse
e97493a743 Prevent vm_page_zero_idle_wakeup() from attempting to wake up the
page zeroing thread before it has been created. It was possible for
calls to free() very early in the boot process to panic here because
the sleep queues were not yet initialised. Specifically, sysinit_add()
running at SI_SUB_KLD would trigger this if the array of pointers
became big enough to require uma_large_alloc() allocations.

Submitted by:	peter
2004-08-29 01:02:33 +00:00
iedowse
0d52a8d8ca Add the loader side of support for preloading ELF relocatable object
format modules, which are currently only used on the amd64 platform.
This initial implementation just parses enough of the module to
allow it to extract dependencies and load all the bits into the
right place in memory, so the kernel must still do the full relocation
and linking. The details of the loaded sections are passed to the
kernel by supplying a copy of the ELF section header table as module
metadata with the MODINFOMD_SHDR tag.
2004-08-29 00:48:42 +00:00
iedowse
95dd728f5c Separate out the ELF relocation code from the ELF loader, and add
better relocation support for the amd64 and i386 platforms. This
should not result in any change in functionality, but moves a step
towards supporting the relocatable object file modules on amd64.

The same hack/trick as load_elf*.c uses is used here to simultaneously
support both elf32 and elf64 on amd64 and i386.
2004-08-28 23:03:05 +00:00
wilko
a5fd037085 Stop pretending: TurboLaser support is really broken
MFC after:	2 days
2004-08-28 21:47:24 +00:00
wilko
89351d44d2 Stop pretending: TurboLaser support is really broken.
MFC after:	2 days
2004-08-28 21:42:15 +00:00
wilko
eca2426b49 Now that I discovered that 164SX SRM recognises Intel 8255x NICs and allows
them to be net booted lets document that fact.
2004-08-28 21:11:52 +00:00
alc
32ef6c848e Eliminate unnecessary indirection. 2004-08-28 20:27:12 +00:00
ru
00752fa08f Fixed untested change. 2004-08-28 19:40:03 +00:00
iedowse
d0d1e68e58 Explicitly pass in the relocation base and data offset into ef_reloc()
rather than relying on a trick that happens to work for the current
relocation schemes. Also add some comments and improve variable
naming.
2004-08-28 19:31:10 +00:00
rwatson
c409ad7413 Correct typo in printf() warning.
Submitted by:	Pawel Worach <pawel.worach at telia.com>
2004-08-28 19:27:25 +00:00
hrs
fbcd8de47e In 5.x, a device hint is used instead of a device flag
and UserConfig.

Submitted by:	Gavin Atkinson (gavin.atkinson at ury dot york dot ac dot uk)
PR:		docs/66980
MFC after:	2 days
2004-08-28 19:04:43 +00:00
rwatson
25e168c12a Add an updating entry for the recent change in network stack locking
default for debug.mpsafenet, pointing at the recent announcement and
things to try if instability is experienced.
2004-08-28 17:08:30 +00:00
netchild
d3d8616424 Add the Intel ICH watchdog timer driver.
Approved by:	des
2004-08-28 15:41:31 +00:00
rwatson
289252d030 Mark Netgraph TTY, KAME IPSEC, and IPX/SPX as requiring Giant for correct
operation using NET_NEEDS_GIANT().  This will result in a boot-time
restoration of Giant-enabled network operation, or run-time warning on
dynamic load (applicable only to the Netgraph component).  Additional
components will likely need to be marked with this in the future.
2004-08-28 15:24:53 +00:00
simon
fc8849df2f Remove the listing for the Seagate ST01/02 and the Future Domain 8xx/950
SCSI controllers.  The driver was removed before FreeBSD 3.0, so it is
probably time to remove from the Hardware Notes... :-).

Historical clue by:	Josh Paetzel <josh@tcbug.org>
MFC after:		3 days
2004-08-28 15:14:03 +00:00
rwatson
69e658ec5a Change the default disposition of debug.mpsafenet from 0 to 1, which
will cause the network stack to operate without the Giant lock by
default.  This change has the potential to improve performance by
increasing parallelism and decreasing latency in network processing.

Due to the potential exposure of existing or new bugs, the following
compatibility functionality is maintained:

- It is still possible to disable Giant-free operation by setting
  debug.mpsafenet to 0 in loader.conf.

- Add "options NET_WITH_GIANT", which will restore the default value of
  debug.mpsafenet to 0, and is intended for use on systems compiled with
  known unsafe components, or where a more conservative configuration is
  desired.

- Add a new declaration, NET_NEEDS_GIANT("componentname"), which permits
  kernel components to declare dependence on Giant over the network
  stack.  If the declaration is made by a preloaded module or a compiled
  in component, the disposition of debug.mpsafenet will be set to 0 and
  a warning concerning performance degraded operation printed to the
  console.  If it is declared by a loadable kernel module after boot, a
  warning is displayed but the disposition cannot be changed.  This is
  implemented by defining a new SYSINIT() value, SI_SUB_SETTINGS, which
  is intended for the processing of configuration choices after tunables
  are read in and the console is available to generate errors, but
  before much else gets going.

This compatibility behavior will go away when we've finished the last
of the locking work and are confident that operation is correct.
2004-08-28 15:11:13 +00:00
rwatson
bb60ef0927 Tag a last set of PCI network interfaces as IFF_NEEDSGIANT until they
are either locked down or demonstrated MPSAFE.
2004-08-28 15:10:35 +00:00
iedowse
1057ee343c Add a few helper functions for zeroing kernel space and reading
from specified file offsets. Make use of these in load_elf.c.
2004-08-28 14:57:34 +00:00
mtm
d4a1defb39 Also, match the full path to the special nologin shell.
Previously, it would recognize it as a valid shell only
if the basename (nologin) was specified. Now, it will
recognize both the basename and the full path.

NOTE: The full path as adduser(8) understands it is /usr/sbin/nologin.
      There is a symlink, /sbin/nologin, but that's deprecated and
      only there for backwards compatibility.
2004-08-28 14:32:10 +00:00
des
044539800a Add genericize, a Perl script that converts a kernel config into something
more easily diffable against GENERIC.
2004-08-28 13:36:16 +00:00