117588 Commits

Author SHA1 Message Date
glebius
77f8347d23 MFC:
Define HAVE_KERNEL_OPTION_HEADERS when building kernel and when building
  modules along with kernel.

  After this change it is possible to embrace opt_*.h includes with ifdef
  HAVE_KERNEL_OPTION_HEADERS. And thus, avoid editing a lot of Makefiles
  in modules directory each time we introduce a new opt_xxx.h.

  Requested by:   bde

Approved by:	re (kensmith)
2005-10-07 13:55:58 +00:00
phk
01b0d42812 MFC:
make the kernels printf more paranoid about unknown %-formats

Approved by:	re@ (scottl)
2005-10-07 12:40:51 +00:00
thompsa
03bd7c8581 MFC r1.144
When bridging is enabled and an ARP request is recieved on a member interface,
 the arp code will search all local interfaces for a match. This triggers a
 kernel log if the bridge has been assigned an address.

 arp: ac🇩🇪48:18:83:3d is using my IP address 192.168.0.142!

 bridge0: flags=8041<UP,RUNNING,MULTICAST> mtu 1500
         inet 192.168.0.142 netmask 0xffffff00
         ether ac🇩🇪48:18:83:3d

 Silence this warning for 6.0 to stop unnecessary bug reports, the code will need
 to be reworked.

Approved by:	re (scottl)
2005-10-07 01:51:29 +00:00
imp
0fcbe9db41 MFC: if data is NULL, don't pass that to userland as (null)
Approved by: re@ (scottl)
2005-10-06 23:15:18 +00:00
imp
6e436f7dec MFC: if no device-name, look at subsystem
Approved by: re@ (scottl)
2005-10-06 23:12:05 +00:00
jkim
9acbd23179 MFC: Minor fixes and add amd64 support:
- Fix SMBIOS entry point structure.
- Add structure length sanity check.
- Fix revision number output.

Approved by:	re (kensmith)
2005-10-06 20:43:44 +00:00
thompsa
28e5001029 MFC: if_bridge.c r1.23
> Do not packet filter in the bridge_start() routine, locally generated packets
> are already filtered by the higher layers.

Approved by:	re (kensmith)
2005-10-06 20:43:24 +00:00
jhb
bdd96f31d9 MFC: Don't save and restore the ELCR across suspend and resume for a
particular Intel chipset.

Approved by:	re (scottl)
2005-10-06 20:21:03 +00:00
jhb
27ca7574b6 MFC: Minor fixups:
- Use if_printf() and device_printf().
- Don't zero the softc.
- Cleanup error handling in attach().
- Don't double init the callout handle.

Approved by:	re (scottl)
2005-10-06 20:20:12 +00:00
jhb
6f2511c92d MFC: Pin curthread longer during an interrupt so that we don't have to
ignore preemptions caused by fast interrupt handlers.

Approved by:	re (scottl)
2005-10-06 20:18:20 +00:00
jhb
8e6918f435 MFC: Fixup locking in rl(4) and re(4).
Approved by:	re (scottl)
2005-10-06 20:17:17 +00:00
jhb
54a8f31bcf MFC: Consolidate common code for assigning interrupts to PCI devices and
add a sledgehammer tunable to override PCI interrupt routing for any PCI
device.

Approved by:	re (scottl)
2005-10-06 20:05:04 +00:00
delphij
231bdbf078 MFC 1.280 (by des):
| Two minor optimizations of fdalloc():
|
|  - if minfd < fd_freefile (as is most often the case, since minfd is
|    usually 0), set it to fd_freefile.
|
|  - remove a call to fd_first_free() which duplicates work already done
|    by fdused().
|
| This change results in a small but measurable speedup for processes
| with large numbers (several thousands) of open files.
|
| PR:             kern/85176
| Submitted by:   Divacky Roman <xdivac02@stud.fit.vutbr.cz>
|
| Revision  Changes    Path
| 1.280     +3 -1      src/sys/kern/kern_descrip.c

Approved by:	re
2005-10-06 19:23:02 +00:00
delphij
fb3babf6c0 MFC (by alc):
| Handle vm_map_wire()'s failure.
|
| Revision  Changes    Path
| 1.89      +5 -1      src/sys/kern/link_elf_obj.c

Approved by:	re (scottl)
2005-10-06 19:01:42 +00:00
delphij
72b894b4dc MFC (by alc):
| Correctly handle vm_map_wire()'s failure.  (See also revisions 1.81 and
| 1.82.)
|
| Reviewed by:    tegge
|
| Revision  Changes    Path
| 1.84      +5 -1      src/sys/kern/link_elf.c

Approved by:	re (scottl)
2005-10-06 19:00:39 +00:00
delphij
26f805ee15 MFC (by alc):
| Eliminate an unneeded reference on a vm object.  If, in fact, the nearby
| vm_map_find() fails, then the excess reference causes the vm object to be
| leaked.
|
| Reviewed by:    tegge
|
| Revision  Changes    Path
| 1.83      +0 -2      src/sys/kern/link_elf.c
| 1.88      +0 -2      src/sys/kern/link_elf_obj.c

Approved by:	re (scottl)
2005-10-06 18:58:59 +00:00
delphij
3a4a006967 MFC 1.82:
| Revert the previous change for two reasons: (1) If vm_map_find() succeeds
| but vm_map_wire() fails, then a vm object, vm map entries, and kernel_map
| free space is leaked and (2) unwiring is handled automatically by
| vm_map_remove().
|
| Suggested by:   tegge
|
| Revision  Changes    Path
| 1.82      +10 -17    src/sys/kern/link_elf.c

Approved by:	re (scottl)
2005-10-06 18:57:13 +00:00
delphij
6bfe0c82cc Forced commit to note that the previous commit was to:
MFC: Hook up the hptmv driver for amd64.

| Revision  Changes    Path
| 1.442     +1 -0      src/sys/amd64/conf/GENERIC
| 1.42      +1 -1      src/sys/amd64/conf/NOTES
| 1.76      +10 -0     src/sys/conf/files.amd64
| 1.454     +1 -0      src/sys/modules/Makefile

Approved by:    re (scottl, implicitly)
2005-10-06 18:52:26 +00:00
delphij
e0c014b695 MFC Import of the new version of the HPTMV driver from Highpoint.
The major change here is the support for amd64, as well as possible
support for PAE.  Many thanks to Highpoint for continuing to support
FreeBSD.

Obtained from:  Steve Chang @ Highpoint

Merged revisions:

| 1.3      dev/hptmv/access601.h
| 1.1      dev/hptmv/amd64-elf.raid.o.uu
| 1.3      dev/hptmv/array.h
| 1.3      dev/hptmv/atapi.h
| 1.3      dev/hptmv/command.h
| 1.9+1.10 dev/hptmv/entry.c
| 1.4      dev/hptmv/global.h
| 1.5      dev/hptmv/gui_lib.c
| 1.3      dev/hptmv/hptintf.h
| 1.6      dev/hptmv/hptproc.c
| 1.5      dev/hptmv/i386-elf.raid.o.uu
| 1.5      dev/hptmv/ioctl.c
| 1.3      dev/hptmv/mv.c
| 1.4      dev/hptmv/mvOs.h
| 1.3      dev/hptmv/mvSata.h
| 1.4      dev/hptmv/mvStorageDev.h
| 1.5      dev/hptmv/osbsd.h
| 1.3      dev/hptmv/raid5n.h
| 1.3      dev/hptmv/readme.txt
| 1.3      dev/hptmv/vdevice.h
| 1.4      modules/hptmv/Makefile

Approved by:	re (scottl)
2005-10-06 18:47:58 +00:00
delphij
bf31c9b67e MFC 1.244 (by kbyanc)
| Make getsockopt(..., SOL_SOCKET, SO_ACCEPTCONN, ...) work per IEEE Std
| 1003.1 (POSIX).
|
| Revision  Changes    Path
| 1.244     +1 -0      src/sys/kern/uipc_socket.c

Approved by:	re (scottl)
2005-10-06 18:31:38 +00:00
delphij
86fd2c676c MFC 1.12 (by netchild)
| The resource_xxx routines in subr_hints.c are called before and after the
| kenv environment in kern_environment.c switches to dynamic kenv. The prior
| call sets the static variable hintp to the static hints in subr_hints.c
| (hintmode==0).
|
| However, changes to the environment are not detected by the resource_xxx
| lookups after the change to dynamic kernel environment, so the lookup
| routines only report the old stuff of hintmode==0, even after the change to
| the dynamic kenv. This causes kenv users to see a different environment than
| the kernel routines.
|
| This is a problem in the mixer.c code that looks up initial mixer volume
| settings from the hints: If the hints are dynamic and not from the
| device.hints file, mixer.c doesn't see them, but kenv does.
|
| The patch from the PR (modified to comply to the style of the function)
| solves this.
|
| PR:             83686
| Submitted by:   Harry Coin <harrycoin@qconline.com>

Approved by:	re (scottl)
2005-10-06 18:29:30 +00:00
delphij
ca8005b80c MFC 1.154 (by rodrigc)
|  In ext2_mountfs(), check that the superblock size, SBSIZE,
|  is aligned with the sectorsize value returned by GEOM, before
|  doing a bread() of the superblock.
|  This eliminates a panic when trying the following on an empty CD-ROM drive:
|  mount_ext2fs /dev/acd0 /mnt
|
|  Reviewed by:    phk
|
|  Revision  Changes    Path
|  1.154     +12 -0     src/sys/gnu/fs/ext2fs/ext2_vfsops.c

Approved by:	re (scottl)
2005-10-06 18:27:27 +00:00
delphij
64168ac065 Complete MFC of rev. 1.215:
Fix a LOR between sched_lock and sleep queue lock.

Approved by:	re (scottl)
2005-10-06 18:24:24 +00:00
pjd
2602cc468e MFC: sbin/geom/class/mirror/gmirror.8 1.17
Add a note in example as well, that last sector is used for metadata,
so it don't provoke confusions.

Noticed by:	Victor Sudakov <sudakov@sibptus.tomsk.ru>
Approved by:	re (scottl)
2005-10-06 18:19:13 +00:00
pjd
252b0c2081 MFC: sys/geom/eli/g_eli.h 1.4
Add a __packed keyword to g_eli_metadata struct definition, so
sizeof(struct g_eli_metadata) will return the exact number of bytes needed
for storing it on the disk.
Without this change GELI was unusable on amd64 (and probably other 64-bit
archs), because sizeof(struct g_eli_metadata) was greater than 512 bytes
and geli(8) was failing on assertion.

Reported by:	Michael Reifenberger <mike@Reifenberger.com>
Reminded by:	delphij
Approved by:	re (scottl)
2005-10-06 18:17:29 +00:00
jhb
ea58985c03 MFC: Add the simple refcount API.
Approved by:	re (scottl)
2005-10-06 18:13:19 +00:00
jhb
603cac3a99 MFC: Add atomic_fetchadd(9) operation for types int and 32.
Other small updates to atomic(9) include:
- Note that arm and ppc don't provide 64-bit atomic ops.
- Update sample code.

Approved by:	re (scottl)
2005-10-06 18:12:06 +00:00
ups
94034fc30c MFC: 1.176
Don't pretend to be thread0 when calling sync().
It confuses the lock manager since in some places thread0 is
then used for vnode locking while curthread is used for vnode unlocking.

Approved by:    re (scottl@)
2005-10-06 17:53:46 +00:00
imp
2edbd2e41a MFC: OLDCARD removal: don't build pccardd.
Approved by: re@ (scottl)
2005-10-06 16:56:45 +00:00
imp
3eeac112ca MFC: Remove references to OLDCARD
Approved by: re@ (scottl)
2005-10-06 16:36:31 +00:00
imp
9fc8aec782 MFC: Remove OLDCARD. It only panics on my pc98 laptop. I'll fix cbb to attach to isa.
Approved by: re (scottl)
2005-10-06 16:34:27 +00:00
phk
91cfbaebd1 MFC:
Make sure clonelists are correctly sorted.

Approved by:	re@ (scottl)
2005-10-06 15:17:41 +00:00
yar
70ec80eace MFC:
ifconfig.c 1.116

	For the sake of consistency and easier typing,
	introduce "-tunnel" as an alias for "deletetunnel".
	The latter is overly long and prone to typos,  but
	keep it for POLA since it costs nothing.

    ifvlan.c 1.8

	Deprecate the useless argument to -vlandev.

    ifconfig.8 1.102-1.105

	Document the above changes.
	Logically group vlan- and tunnel-related parameters.

Approved by:	re (scottl)
2005-10-06 15:01:56 +00:00
rwatson
9b0bec60c7 Merge db_command.c:1.62 from HEAD to RELENG_6:
Add a DDB "traceall" function, which stack traces all known process
  threads.  This is quite useful if generating a debug log for post-mortem
  by another developer, in which case the person at the console may not
  know which threads are of interest.  The output of this can be quite
  long.

  Discussed with: kris

Approved by:	re (scottl)
2005-10-06 13:15:21 +00:00
joel
79d0dbdda0 MFC:
pcm.4           1.41-1.42
snd_cmi.4       1.5
snd_csa.4       1.14
snd_emu10k1.4   1.6
snd_es137x.4    1.6
snd_sbc.4       1.15

Approved by:    re (scottl)
2005-10-06 10:58:16 +00:00
marius
dd23c6a3d3 MFC: if_gem.c 1.31 + 1.35, if_gem_pci.c 1.20, if_gemvar.h 1.11
- In gem_ioctl() move the call to ether_ioctl() to the default case of
  the switch statement in order to make this driver more like other
  Ethernet NIC drivers.
- In gem_attach() call gem_stop() in addition to gem_reset() to make
  sure the chip actually is stopped and not just reset.
- In gem_stop() also stop the gem_rint_timeout() callout in case the
  driver is compiled with GEM_RINT_TIMEOUT defined.
- Remove NOP spl*() calls and add locking (making gem(4) MPSAFE).

This MFC actually brings the RELENG_6 gem(4) in line with HEAD which
means that it additionally includes a comment update regarding the
IFF_OACTIVE -> IFF_DRV_OACTIVE rename which was part of if_gem.c 1.33
but missed in the respective MFC in 1.29.2.2.

Requested by:	thompsa
Approved by:	re (scottl)
2005-10-05 22:08:17 +00:00
marius
41d82ccbf1 MFC: 1.21
Fix an endianness issue in pnp_eisaformat().

Approved by:	re (scottl)
2005-10-05 21:53:17 +00:00
marius
8218f98610 MFC: creator.c 1.9, fbreg.h 1.19, gfb.c 1.8, machfb.c 1.4,
ofw_syscons.c 1.9, s3_pci.c 1.10, scgfbrndr.c 1.23, scmouse.c 1.40,
	scvgarndr.c 1.20, scvidctl.c 1.37, syscons.c 1.439, syscons.h 1.85,
	tga.c 1.8, vesa.c 1.52, vga.c 1.35

Add a font width argument to vi_load_font_t, vi_save_font_t and vi_putm_t
and do some preparations for handling 12x22 fonts (currently lots of code
implies and/or hardcodes a font width of 8 pixels). This will be required
on sparc64 which uses a default font size of 12x22 in order to add font
loading and saving support as well as to use a syscons(4)-supplied mouse
pointer image.

Approved by:	re (scottl)
2005-10-05 21:48:03 +00:00
avatar
0146d33484 MFC: (1.193) fixing WEP bustage in hostap mode.
Approved by:	re (scottl)
2005-10-05 13:16:29 +00:00
avatar
8c198e614a MFC: (1.27) fixing WEP bustage in hostap mode.
Approved by:	re (scottl)
2005-10-05 13:13:46 +00:00
rwatson
9e61878b2e Merge netisr.c:1.16 from HEAD to RELENG_6:
Rename net.isr.enable to net.isr.direct.

  No compatibility code is provided, as this will be the production name
  as of 6.0.  Previously this has been an experimental and unsupported
  feature.

  Requested by:	scottl

Approved by:	re (kensmith)
2005-10-05 12:32:23 +00:00
rwatson
830970b177 Merge init_main.c:1.258, mac_vfs.c:1.110, mac_biba.c:1.89,
mac_lomac.c:1.37, mac_mls.c:1.74, mac_stub.c:1.55, mac_test.c:1.62,
mac.h:1.69, mac_policy.h:1.70 from HEAD to RELENG_6:

  Remove mac_create_root_mount() and mpo_create_root_mount(), which
  provided access to the root file system before the start of the
  init process.  This was used briefly by SEBSD before it knew about
  preloading data in the loader, and using that method to gain
  access to data earlier results in fewer inconsistencies in the
  approach.  Policy modules still have access to the root file system
  creation event through the mac_create_mount() entry point.

  Removed now, and will be removed from RELENG_6, in order to gain
  third party policy dependencies on the entry point for the lifetime
  of the 6.x branch.

  Obtained from: TrustedBSD Project
  Submitted by:  Chris Vance <Christopher dot Vance at SPARTA dot com>

Approved by:	re (scottl)
2005-10-05 10:31:05 +00:00
avatar
7962ea5458 MFC: (1.192) honouring ic->ic_dtim_period.
Approved by:	re (scottl)
2005-10-05 06:54:12 +00:00
truckman
e2399e0b9d MFC kern_proc.c - fix locking in sysctl_kern_proc()
Original commit message:

  FreeBSD src repository

  Modified files:
    sys/kern             kern_proc.c
  Log:
  Always wire the sysctl output buffer in sysctl_kern_proc() before
  calling sysctl_out_proc().  -- fix from jhb

  Move the code in fill_kinfo_thread() that gathers data from struct proc
  into the new function fill_kinfo_proc_only().

  Change all callers of fill_kinfo_thread() to call both
  fill_kinfo_proc_only() and fill_kinfo() thread.  When gathering
  data from a multi-threaded process, fill_kinfo_proc_only() only needs
  to be called once.

  Grab sched_lock before accessing the process thread list or calling
  fill_kinfo_thread().

PR:		kern/84684
Approved by:	re (scottl)
2005-10-05 05:30:24 +00:00
truckman
7267aabbe1 MFC ffs_alloc.c 1.135 - clear i_flag field in recycled inodes
Original commit message:

  FreeBSD src repository

  Modified files:
    sys/ufs/ffs          ffs_alloc.c
  Log:
  Initialize the inode i_flag field in ffs_valloc() to clean up any
  stale flag bits left over from before the inode was recycled.

  Without this change, a leftover IN_SPACECOUNTED flag could prevent
  softdep_freefile() and softdep_releasefile() from incrementing
  fs_pendinginodes.  Because handle_workitem_freefile() unconditionally
  decrements fs_pendinginodes, a negative value could be reported at
  file system unmount time with a message like:
          unmount pending error: blocks 0 files -3
  The pending block count in fs_pendingblocks could also be negative
  for similar reasons.  These errors can cause the data returned by
  statfs() to be slightly incorrect.  Some other cleanup code in
  softdep_releasefile() could also be incorrectly bypassed.

Reviewed by:	tegge
Approved by:	re (scottl)
2005-10-05 05:24:53 +00:00
cvs2svn
abab8b0378 This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-10-05 05:21:08 +00:00
rodrigc
e4cf6785ef MFC 1.53
Fix so that color changes are not lost when the video mode changes.

PR:             bin/83553
Submitted by:   Dan Lukes <dan at obluda dot cz>
Approved by:	re (scottl)
Reminded by:	delphij
2005-10-05 04:29:59 +00:00
rodrigc
7d90e26485 MFC 1.81
Call gctl_free() to free resource allocated with gctl_get_handle().

PR:		bin/84664
Submitted by:	Daan Vreeken <Danovitsch at Vitsch dot net>
Approved by:	re (scottl)
2005-10-05 01:16:39 +00:00
davidxu
d6ef43f59f MFC kern/kern_thread.c revision 1.217
kern/kern_kse.c     revision 1.218

Fix scheduler and sleep queue LOR.

Approved by: re (scottl)
2005-10-04 22:53:56 +00:00
rse
6635211f80 MFC to RELENG_6:
| Fix system shutdown timeout handling by again supporting longer running
| shutdown procedures (which have a duration of more than 120 seconds).
|
| We have two user-space affecting shutdown timeouts: a "soft" one in
| /etc/rc.shutdown and a "hard" one in init(8). The first one can be
| configured via /etc/rc.conf variable "rcshutdown_timeout" and defaults
| to 30 seconds. The second one was originally (in 1998) intended to be
| configured via sysctl(8) variable "kern.shutdown_timeout" and defaults
| to 120 seconds.
|
| Unfortunately, the "kern.shutdown_timeout" was declared "unused" in 1999
| (as it obviously is actually not used within the kernel itself) and
| hence was intentionally but misleadingly removed in revision 1.107 from
| init_main.c. Kernel sysctl(8) variables are certainly a wrong way to
| control user-space processes in general, but in this particular case the
| sysctl(8) variable should have remained as it supports init(8), which
| isn't passed command line flags (which in turn could have been set via
| /etc/rc.conf), etc.
|
| As there is already a similar "kern.init_path" sysctl(8) variable which
| directly affects init(8), resurrect the init(8) shutdown timeout under
| sysctl(8) variable "kern.init_shutdown_timeout". But this time document
| it as being intentionally unused within the kernel and used by init(8).
| Also document it in the manpages init(8) and rc.conf(5).
|
| Reviewed by: phk
| MFC after: 2 weeks
|
| Revision  Changes    Path
| 1.48      +7 -1      src/sbin/init/init.8
| 1.61      +1 -1      src/sbin/init/init.c
| 1.264     +16 -1     src/share/man/man5/rc.conf.5
| 1.257     +11 -0     src/sys/kern/init_main.c

Approved by: re (scottl)
2005-10-04 17:29:00 +00:00