]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
15 years agoUp the scale of the SPX loopback check a bit: use much larger data sizes
rwatson [Sat, 20 Jun 2009 18:13:20 +0000 (18:13 +0000)]
Up the scale of the SPX loopback check a bit: use much larger data sizes
so that we need to do segmentation.

15 years agoInvoke the MAC Framework's mac_socket_create_mbuf() entry point when
rwatson [Sat, 20 Jun 2009 17:44:04 +0000 (17:44 +0000)]
Invoke the MAC Framework's mac_socket_create_mbuf() entry point when
generating IPX output for SPX sockets.

Obtained from: TrustedBSD Project

15 years agoInvoke the MAC Framework's mac_socket_create_mbuf() entry point when
rwatson [Sat, 20 Jun 2009 17:42:53 +0000 (17:42 +0000)]
Invoke the MAC Framework's mac_socket_create_mbuf() entry point when
generating IPX output for raw and datagram IPX sockets.

Obtained from: TrustedBSD Project

15 years agoDon't lock sockets around calls to mac_socket_create_mbuf() -- policies
rwatson [Sat, 20 Jun 2009 17:28:38 +0000 (17:28 +0000)]
Don't lock sockets around calls to mac_socket_create_mbuf() -- policies
are now expected to acquire the socket lock if they require them.

Obtained from: TrustedBSD Project

15 years agoDelete the declaration of an unused variable so that it will build.
rmacklem [Sat, 20 Jun 2009 17:16:29 +0000 (17:16 +0000)]
Delete the declaration of an unused variable so that it will build.

Approved by: rwatson (mentor)

15 years agoReplace RPCAUTH_UNIXGIDS with NFS_MAXGRPS so that nfscbd.c will build.
rmacklem [Sat, 20 Jun 2009 17:11:07 +0000 (17:11 +0000)]
Replace RPCAUTH_UNIXGIDS with NFS_MAXGRPS so that nfscbd.c will build.

Approved by: kib (mentor)

15 years agoThe G45 docs indicate that all G4X chips use the new framecount register.
rnoland [Sat, 20 Jun 2009 16:45:14 +0000 (16:45 +0000)]
The G45 docs indicate that all G4X chips use the new framecount register.

Intel agrees with my reading of the docs, make it so for all G4X chips.

The new register also has a 32 bit width as opposed to 24 bits.  Fix
things up so that the counters roll over properly.

MFC after: 3 days

15 years agorealloc() behaves identically to malloc when passed a NULL object pointer
rnoland [Sat, 20 Jun 2009 16:40:48 +0000 (16:40 +0000)]
realloc() behaves identically to malloc when passed a NULL object pointer

If an error does occur we would have left max_context with an incorrect
value.

MFC after: 3 days

15 years agoAdd placeholder to prevent reuse of privilege 254.
ed [Sat, 20 Jun 2009 16:39:25 +0000 (16:39 +0000)]
Add placeholder to prevent reuse of privilege 254.

Requested by: rwatson

15 years agoDon't panic if drm_rmmap is called with a NULL map pointer.
rnoland [Sat, 20 Jun 2009 16:37:24 +0000 (16:37 +0000)]
Don't panic if drm_rmmap is called with a NULL map pointer.

MFC after: 3 days

15 years agoImprove sentence and add reference to openpty(3). Add missing newlines.
ed [Sat, 20 Jun 2009 16:30:32 +0000 (16:30 +0000)]
Improve sentence and add reference to openpty(3). Add missing newlines.

15 years agoChase the removal of PRIV_TTY_PRISON in the mac(9) modules.
ed [Sat, 20 Jun 2009 15:54:35 +0000 (15:54 +0000)]
Chase the removal of PRIV_TTY_PRISON in the mac(9) modules.

Reported by: kib
Pointy hat to: me

15 years agoImprove nested jail awareness of devfs by handling credentials.
ed [Sat, 20 Jun 2009 14:50:32 +0000 (14:50 +0000)]
Improve nested jail awareness of devfs by handling credentials.

Now that we start to use credentials on character devices more often
(because of MPSAFE TTY), move the prison-checks that are in place in the
TTY code into devfs.

Instead of strictly comparing the prisons, use the more common
prison_check() function to compare credentials. This means that
pseudo-terminals are only visible in devfs by processes within the same
jail and parent jails.

Even though regular users in parent jails can now interact with
pseudo-terminals from child jails, this seems to be the right approach.
These processes are also capable of interacting with the jailed
processes anyway, through signals for example.

Reviewed by: kib, rwatson (older version)

15 years agoAllow order of initialization of loaded shared objects to be
kan [Sat, 20 Jun 2009 14:16:41 +0000 (14:16 +0000)]
Allow order of initialization of loaded shared objects to be
altered through their .init code. This might happen if init
vector calls dlopen on its own and that dlopen causes some not
yet initialized object to be initialized earlier as part of that
dlopened DAG.

Do not reset module reference counts to zero on final fini vector
run when process is exiting. Just add an additional parameter to
force fini vector invocation regardless of current reference count
value if object was not destructed yet. This allows dlclose called
from fini vector to proceed normally instead of failing with handle
validation error.

Reviewed by: kib
Reported by: venki kaps

15 years agoRewrap; this was getting painful. Translators can ignore this.
des [Sat, 20 Jun 2009 10:09:59 +0000 (10:09 +0000)]
Rewrap; this was getting painful.  Translators can ignore this.

MFC after: 1 week

15 years agoReword.
des [Sat, 20 Jun 2009 10:06:10 +0000 (10:06 +0000)]
Reword.

MFC after: 1 week

15 years ago- Include rpcv2.h before other NFS includes. That allows nfscbd to
stas [Sat, 20 Jun 2009 08:46:40 +0000 (08:46 +0000)]
- Include rpcv2.h before other NFS includes. That allows nfscbd to
  compile.

15 years agoFix "tar --options=iso9660:joliet" and other uses
kientzle [Sat, 20 Jun 2009 06:02:21 +0000 (06:02 +0000)]
Fix "tar --options=iso9660:joliet" and other uses
of format-specific options.

15 years agoDrop the high FP state of an exiting thread in cpu_thread_exit() and
marcel [Sat, 20 Jun 2009 05:36:53 +0000 (05:36 +0000)]
Drop the high FP state of an exiting thread in cpu_thread_exit() and
not in cpu_exit(). The latter is called after td_md.md_highfp_mtx
has been destroyed, which results in a race condition when another
thread wants to use the high FP registers on the CPU that still has
the high FP registers in question.

15 years agoChange the size of the nfsc_groups[] array in the experimental nfs
rmacklem [Sat, 20 Jun 2009 00:54:57 +0000 (00:54 +0000)]
Change the size of the nfsc_groups[] array in the experimental nfs
client to RPCAUTH_UNIXGIDS + 1 (17), since that is what can go on
the wire for AUTH_SYS authentication.

Reviewed by: brooks
Approved by: kib (mentor)

15 years agoMake puc(4) aware of this 2 port serial card based on NetMos 9835:
np [Sat, 20 Jun 2009 00:04:48 +0000 (00:04 +0000)]
Make puc(4) aware of this 2 port serial card based on NetMos 9835:

puc0@pci0:4:1:0:       class=0x070002 card=0x00021000 chip=0x98359710 rev=0x01 hdr=0x00

Reviewed by: marcel@
Approved by: gnn (mentor)

15 years agoGreatly simplify cxgb by removing almost all of the custom mbuf management logic
kmacy [Fri, 19 Jun 2009 23:34:32 +0000 (23:34 +0000)]
Greatly simplify cxgb by removing almost all of the custom mbuf management logic

- remove mbuf iovec - useful, but adds too much complexity when isolated to
   the driver

- remove driver private caching - insufficient benefit over UMA to justify
  the added complexity and maintenance overhead

- remove separate logic for managing multiple transmit queues, with the
  new drbr routines the control flow can be made to much more closely resemble
  legacy drivers

- remove dedicated service threads, with per-cpu callouts one can get the same
  benefit much more simply by registering a callout 1 tick in the future if there
  are still buffered packets

- remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated
  greatly reducing the overhead of using kernel APIs for reference counting
  clusters

- add hysteresis to descriptor coalescing logic

- add coalesce threshold sysctls to allow users to decide at run-time
  between optimizing for forwarding / UDP or optimizing for TCP

- add once per second watchdog to effectively close the very rare races
  occurring from coalescing

- incorporate Navdeep's changes to the initialization path required to
  convert port and adapter locks back to ordinary mutexes (silencing BPF
  LOR complaints)

- enable prefetches in get_packet and tx cleaning

Reviewed by: navdeep@
MFC after: 2 weeks

15 years agoadd helper function for flushing software queues
kmacy [Fri, 19 Jun 2009 23:11:20 +0000 (23:11 +0000)]
add helper function for flushing software queues

15 years agoAdd tests for r194406 and r194516.
jilles [Fri, 19 Jun 2009 22:15:59 +0000 (22:15 +0000)]
Add tests for r194406 and r194516.

Approved by: ed (mentor)

15 years agoFix some issues with quoted output and shorten it in some cases.
jilles [Fri, 19 Jun 2009 22:09:55 +0000 (22:09 +0000)]
Fix some issues with quoted output and shorten it in some cases.

Output quoted suitable for re-input to the shell occurs in
various cases such as 'set', 'trap'.

Bugfix: *, ? and [ must be quoted (except sole [)
Bugfix: ~ and # must be quoted (really only sometimes, but keep it simple)
Bugfix: space, tab and newline must always be quoted
Shortening: other IFS characters do not need quoting
Bugfix: send to correct output file, not hard-coded stdout
Shortening: avoid unnecessary '' with \'

Approved by: ed (mentor)

15 years agodefine helper routines for deferred mbuf initialization
kmacy [Fri, 19 Jun 2009 21:14:39 +0000 (21:14 +0000)]
define helper routines for deferred mbuf initialization

15 years agoMove setting of ports from NAT-T below key_getsah() and actually
bz [Fri, 19 Jun 2009 21:01:55 +0000 (21:01 +0000)]
Move setting of ports from NAT-T below key_getsah() and actually
below key_setsaval().
Without that, the lookup for the SA had failed as we were looking for
a SA with the new, updated port numbers instead of the old ones and
were comparing the ports in key_cmpsaidx().
This makes updating the remote -> local SA on the initiator work again.

Problem introduced with: p4 changeset 152114

15 years agoImplement the -z (zero counters) option for the various bpf counters.
csjp [Fri, 19 Jun 2009 20:31:44 +0000 (20:31 +0000)]
Implement the -z (zero counters) option for the various bpf counters.
Add necessary changes to the kernel for this (basically introduce a
bpf_zero_counters() function).  As well, update the man page.

MFC after: 1 month
Discussed with: rwatson

15 years agoTwo fixes for SMALL case when compiling with WARNS=6:
delphij [Fri, 19 Jun 2009 19:28:21 +0000 (19:28 +0000)]
Two fixes for SMALL case when compiling with WARNS=6:

 - Reduce scope where return value can be referenced.
 - Add a dummy access to timestamp to silence warning.

Submitted by: Mingyan Guo <guomingyan gmail com>

15 years agoDocument crcopysafe() and crsetgroups().
brooks [Fri, 19 Jun 2009 19:16:35 +0000 (19:16 +0000)]
Document crcopysafe() and crsetgroups().

Reminded by: julian

15 years agoRework the credential code to support larger values of NGROUPS and
brooks [Fri, 19 Jun 2009 17:10:35 +0000 (17:10 +0000)]
Rework the credential code to support larger values of NGROUPS and
NGROUPS_MAX, eliminate ABI dependencies on them, and raise the to 1024
and 1023 respectively.  (Previously they were equal, but under a close
reading of POSIX, NGROUPS_MAX was defined to be too large by 1 since it
is the number of supplemental groups, not total number of groups.)

The bulk of the change consists of converting the struct ucred member
cr_groups from a static array to a pointer.  Do the equivalent in
kinfo_proc.

Introduce new interfaces crcopysafe() and crsetgroups() for duplicating
a process credential before modifying it and for setting group lists
respectively.  Both interfaces take care for the details of allocating
groups array. crsetgroups() takes care of truncating the group list
to the current maximum (NGROUPS) if necessary.  In the future,
crsetgroups() may be responsible for insuring invariants such as sorting
the supplemental groups to allow groupmember() to be implemented as a
binary search.

Because we can not change struct xucred without breaking application
ABIs, we leave it alone and introduce a new XU_NGROUPS value which is
always 16 and is to be used or NGRPS as appropriate for things such as
NFS which need to use no more than 16 groups.  When feasible, truncate
the group list rather than generating an error.

Minor changes:
  - Reduce the number of hand rolled versions of groupmember().
  - Do not assign to both cr_gid and cr_groups[0].
  - Modify ipfw to cache ucreds instead of part of their contents since
    they are immutable once referenced by more than one entity.

Submitted by: Isilon Systems (initial implementation)
X-MFC after: never
PR: bin/113398 kern/133867

15 years agoWhen running pkg_add -r, check & install our dependencies for each
brian [Fri, 19 Jun 2009 17:07:38 +0000 (17:07 +0000)]
When running pkg_add -r, check & install our dependencies for each
package rather than expecting our top level package to get all of
the dependencies correct.

Previously, the code depended on the top level package having all
of the pkgdep lines in +CONTENTS correct and in the right order,
but that doesn't always happen due to code such as this (in
security/gnutls/Makefile):

    .if (defined(WITH_LZO) || exists(${LOCALBASE}/lib/liblzo2.so)) && !defined(WITHOUT_LZO)
    LIB_DEPENDS+=           lzo2:${PORTSDIR}/archivers/lzo2
    ....

With such conditional dependencies, my 'sophox-packages' package won't
install.  The dependency tree looks like this:

    sophox-packages
      ...
      x11/gnome2
        x11/gnome-applets
          net/libgweather
            devel/libsoup
              security/gnutls
                security/libgcrypt
                  security/libgpg-error
      ...
      x11/gnome2
        archivers/file-roller
          archivers/gtar
            archivers/lzop
              archivers/lzo2
      ...

gnutls doesn't depend on lzo2 initially, but lzo2 is dragged into the
mix via other dependencies and is built by the initial 'make'.  The
subsequent package generation for gnutls adds a pkgdep line for lzo2
to gnutls' +CONTENTS but the pkgdeps in sophox-packages' +CONTENTS
has gnutls *before* lzo2.

As a result, sophox-packages cannot install; gnutls fails because lzo2
is missing, 82 more packages fail because gnutls is missing and the
whole thing spirals into a super-confusing mess!

MFC after: 3 weeks

15 years agoIn preparation for raising NGROUPS and NGROUPS_MAX, change base
brooks [Fri, 19 Jun 2009 15:58:24 +0000 (15:58 +0000)]
In preparation for raising NGROUPS and NGROUPS_MAX, change base
system callers of getgroups(), getgrouplist(), and setgroups() to
allocate buffers dynamically.  Specifically, allocate a buffer of size
sysconf(_SC_NGROUPS_MAX)+1 (+2 in a few cases to allow for overflow).

This (or similar gymnastics) is required for the code to actually follow
the POSIX.1-2008 specification where {NGROUPS_MAX} may differ at runtime
and where getgroups may return {NGROUPS_MAX}+1 results on systems like
FreeBSD which include the primary group.

In id(1), don't pointlessly add the primary group to the list of all
groups, it is always the first result from getgroups().  In principle
the old code was more portable, but this was only done in one of the two
places where getgroups() was called to the overall effect was pointless.

Document the actual POSIX requirements in the getgroups(2) and
setgroups(2) manpages.  We do not yet support a dynamic NGROUPS, but we
may in the future.

MFC after: 2 weeks

15 years agoWhen checking if we can write to a file, use access() instead of a
brooks [Fri, 19 Jun 2009 15:52:35 +0000 (15:52 +0000)]
When checking if we can write to a file, use access() instead of a
manual permission check based on stat output.  Also, get rid of the
executability check since it is not used.

MFC after: 2 weeks

15 years agoMFV of r194480
edwin [Fri, 19 Jun 2009 11:52:07 +0000 (11:52 +0000)]
MFV of r194480

- Official start of Bangladesh DST.

15 years agoThe "original" PR said that there were two issues with the motd
edwin [Fri, 19 Jun 2009 07:18:45 +0000 (07:18 +0000)]
The "original" PR said that there were two issues with the motd
(Eyes of the daemon not synced and the motd not displayed properly
on black-on-white screens): The first one was not valid anymore
since the text and logo were swapped already, the second one is
fixed by resetting the whole colourscheme instead of only the
background colour.

(also removed svn:keywords from motd since it doesn't have the
 string $FreeBSD$ in it)

PR: misc/15876
Submitted by: peter.jeremy@ALCATEL.COM.AU
MFC after: 1 week

15 years agoieee80211_dwds_mcast(): check the correct mbuf ptr after encap.
rpaulo [Thu, 18 Jun 2009 21:15:41 +0000 (21:15 +0000)]
ieee80211_dwds_mcast(): check the correct mbuf ptr after encap.

15 years agoFix a deadlock in the getpeername() method for UNIX domain sockets.
jhb [Thu, 18 Jun 2009 20:56:22 +0000 (20:56 +0000)]
Fix a deadlock in the getpeername() method for UNIX domain sockets.
Instead of locking the local unp followed by the remote unp, use the same
locking model as accept() and read lock the global link lock followed by
the remote unp while fetching the remote sockaddr.

Reported by: Mel Flynn  mel.flynn of mailing.thruhere.net
Reviewed by: rwatson
MFC after: 1 week

15 years agoTrack the kernel mapping of a physical page by a new entry in vm_page
thompsa [Thu, 18 Jun 2009 20:42:37 +0000 (20:42 +0000)]
Track the kernel mapping of a physical page by a new entry in vm_page
structure. When the page is shared, the kernel mapping becomes a special
type of managed page to force the cache off the page mappings. This is
needed to avoid stale entries on all ARM VIVT caches, and VIPT caches
with cache color issue.

Submitted by: Mark Tinguely
Reviewed by: alc
Tested by: Grzegorz Bernacki, thompsa

15 years agoUtilize the new function kmem_alloc_contig() to implement the UMA back-end
alc [Thu, 18 Jun 2009 17:59:04 +0000 (17:59 +0000)]
Utilize the new function kmem_alloc_contig() to implement the UMA back-end
allocator for the jumbo frames zones.  This change has two benefits: (1) a
custom back-end deallocator is no longer required.  UMA's standard
deallocator suffices. (2) It eliminates a potentially confusing artifact
of using contigmalloc(): The malloc(9) statistics contain bogus information
about the usage of jumbo frames.  Specifically, the malloc(9) statistics
report all jumbo frames in use whereas the UMA zone statistics report the
"truth" about the number in use vs. the number free.

15 years agoRe-do r192913 in less intrusive way. Only do IP_RECVDSTADDR/IP_SENDSRCADDR
kan [Thu, 18 Jun 2009 17:10:43 +0000 (17:10 +0000)]
Re-do r192913 in less intrusive way. Only do IP_RECVDSTADDR/IP_SENDSRCADDR
dace for UPDv4 sockets bound to INADDR_ANY. Move the code to set
IP_RECVDSTADDR/IP_SENDSRCADDR into svc_dg.c, so that both TLI and non-TLI
users will be using it.

Back out my previous commit to mountd. Turns out the problem was affecting
more than one binary so it needs to me addressed in generic rpc code in
libc in order to fix them all.

Reported by: lstewart
Tested by: lstewart

15 years agoSince the width is always 2, it is enough to put just one
ume [Thu, 18 Jun 2009 16:40:00 +0000 (16:40 +0000)]
Since the width is always 2, it is enough to put just one
trailing space is enough.

MFC after: 1 week

15 years ago- Don't hard code _.disk.full. Use the variable.
n_hibma [Thu, 18 Jun 2009 13:56:10 +0000 (13:56 +0000)]
- Don't hard code _.disk.full. Use the variable.
- _.bk should be created in MAKEOBJDIRPREFIX as well
- Remove a misplaced and unnecessary message.

15 years agoReverse some stuff I accidentally committed in the previous commit:
n_hibma [Thu, 18 Jun 2009 11:35:29 +0000 (11:35 +0000)]
Reverse some stuff I accidentally committed in the previous commit:

- creation of sparse files to speed up the build process. This was
  discussed with phk 2 years ago and he disagreed with this change.
- handling of negative data partition sizes.

Can I have the ... green pointy hat, please?

15 years agoFix tabs, slightly improve comments.
ivoras [Thu, 18 Jun 2009 11:12:11 +0000 (11:12 +0000)]
Fix tabs, slightly improve comments.

Approved by: gnn (mentor) (original)
Noticed by: stas

15 years agoReplace use of ic->ic_flags with vap->iv_flags to operate on per-vap flags
cokane [Thu, 18 Jun 2009 11:12:10 +0000 (11:12 +0000)]
Replace use of ic->ic_flags with vap->iv_flags to operate on per-vap flags
for ndis 802.11 work.

Submitted by: Paul B. Mahol <onemda@gmail.com>

15 years agoAllow building world into a separate dir (for reuse in multiple images):
n_hibma [Thu, 18 Jun 2009 10:39:08 +0000 (10:39 +0000)]
Allow building world into a separate dir (for reuse in multiple images):
- buildworld and buildkernel are built into MAKEOBJDIRPREFIX
- installworld and installkernel are performed on NANO_OBJ.

No change of functionality if MAKEOBJDIRPREFIX is not set. If it is sea,t
clean_world deletes NANO_OBJ instead of NANO_WORLDDIR. By starting nanobsd.sh
with the -b option the existing world can be reused to build a new world
reducing time and disk space considerably.

While there:
- Fix two cases where (in comments) MAKEOBJDIRPREFIX should have been
  NANO_DISKIMGDIR.
- Simplify an 'if (not wrong); then true; else action; fi' into
  'if wrong; then action; fi'. 'if ! false; then echo hello; fi' produces hello.

Note: Make sure you use NANO_OBJ were you use MAKEOBJDIRPREFIX now in your
nanobsd.conf files if you want to split out.

15 years agoAdd support for UMA_SLAB_KERNEL to page_free(). (While I'm here remove an
alc [Thu, 18 Jun 2009 07:27:11 +0000 (07:27 +0000)]
Add support for UMA_SLAB_KERNEL to page_free().  (While I'm here remove an
unnecessary newline character from the end of two panic messages.)

15 years agoFix some of the style errors in *getpages().
alc [Thu, 18 Jun 2009 05:56:24 +0000 (05:56 +0000)]
Fix some of the style errors in *getpages().

15 years agoAdd the SVC_RELEASE(xprt), as required by r194407.
rmacklem [Wed, 17 Jun 2009 22:55:59 +0000 (22:55 +0000)]
Add the SVC_RELEASE(xprt), as required by r194407.

Approved by: kib (mentor)

15 years agoSince svc_[dg|vc|tli|tp]_create() did not hold a reference count on the
rmacklem [Wed, 17 Jun 2009 22:50:26 +0000 (22:50 +0000)]
Since svc_[dg|vc|tli|tp]_create() did not hold a reference count on the
SVCXPTR structure returned by them, it was possible for the structure
to be free'd before svc_reg() had been completed using the structure.
This patch acquires a reference count on the newly created structure
that is returned by svc_[dg|vc|tli|tp]_create(). It also
adds the appropriate SVC_RELEASE() calls to the callers, except the
experimental nfs subsystem. The latter will be committed separately.

Submitted by: dfr
Tested by: pho
Approved by: kib (mentor)

15 years agoProperly flush input after an error in backquotes in interactive mode.
jilles [Wed, 17 Jun 2009 21:58:32 +0000 (21:58 +0000)]
Properly flush input after an error in backquotes in interactive mode.

For parsing an old-style backquote substitution (`...`),
a string "file" is used to store the contents of the
substitution (with the special backslash processing done).
If an error occurs, the shell cleans up all these files
(returning to the top level) and flush the top level
file. Erroneously, it first flushed the current file and
then cleaned up all extra files, so that the top level
file (i.e. the terminal) was not flushed.

Example (in interactive mode):
  echo `for` echo This should not be printed

Also noticeable in (in interactive mode):
  echo `(`
The old version prints an extraneous prompt.

Approved by: ed (mentor)

15 years agoEliminate unnecessary forward declarations.
alc [Wed, 17 Jun 2009 20:12:23 +0000 (20:12 +0000)]
Eliminate unnecessary forward declarations.

15 years agoRegen.
jhb [Wed, 17 Jun 2009 19:53:47 +0000 (19:53 +0000)]
Regen.

15 years agoRegen for added flags field.
jhb [Wed, 17 Jun 2009 19:53:20 +0000 (19:53 +0000)]
Regen for added flags field.

15 years ago- Add the ability to mix multiple flags seperated by pipe ('|') characters
jhb [Wed, 17 Jun 2009 19:50:38 +0000 (19:50 +0000)]
- Add the ability to mix multiple flags seperated by pipe ('|') characters
  in the type field of system call tables.  Specifically, one can now use
  the 'NO*' types as flags in addition to the 'COMPAT*' types.  For example,
  to tag 'COMPAT*' system calls as living in a KLD via NOSTD.  The COMPAT*
  type is required to be listed first in this case.
- Add new functions 'type()' and 'flag()' to the embedded awk script in
  makesyscalls.sh that return true if a requested flag is found in the
  type field ($3).  The flag() function checks all of the flags in the
  field, but type() only checks the first flag.  type() is meant to be
  used in the top-level "switch" statement and flag() should be used
  otherwise.
- Retire the CPT_NOA type, it is now replaced with "COMPAT|NOARGS" using
  the flags approach.
- Tweak the comment descriptions of COMPAT[46] system calls so that they
  say "freebsd[46] foo" rather than "old foo".
- Document the COMPAT6 type.
- Sync comments in compat32 syscall table with the master table.

15 years agoKeep dirhash tailq locked throughout the entirety of ufsdirhash_destroy() to fix
snb [Wed, 17 Jun 2009 18:55:29 +0000 (18:55 +0000)]
Keep dirhash tailq locked throughout the entirety of ufsdirhash_destroy() to fix
a potential race pointed out by pjd. Also use TAILQ_FOREACH_SAFE to iterate over
dirhashes in ufsdirhash_lowmem(), so that we can continue iterating even after a
dirhash is destroyed.

Suggested by: pjd
Tested by:      pho
Approved by: dwmalone (mentor)

15 years agoRetire the unused stub for the nfsclnt() system call.
jhb [Wed, 17 Jun 2009 18:52:42 +0000 (18:52 +0000)]
Retire the unused stub for the nfsclnt() system call.

15 years agoRemove the now-unused NOIMPL flag. It serves no useful purpose given the
jhb [Wed, 17 Jun 2009 18:46:14 +0000 (18:46 +0000)]
Remove the now-unused NOIMPL flag.  It serves no useful purpose given the
existing UNIMPL and NOSTD types.

15 years ago- NOSTD results in lkmressys being used instead of lkmssys.
jhb [Wed, 17 Jun 2009 18:44:15 +0000 (18:44 +0000)]
- NOSTD results in lkmressys being used instead of lkmssys.
- Mark nfsclnt as UNIMPL.  It should have been NOSTD instead of NOIMPL back
  when it lived in nfsclient.ko, but it was removed from that a long time
  ago.

15 years agoupdate usb config; the old stack is gone
sam [Wed, 17 Jun 2009 17:59:36 +0000 (17:59 +0000)]
update usb config; the old stack is gone

15 years agoenable npe-a now that it works
sam [Wed, 17 Jun 2009 17:58:18 +0000 (17:58 +0000)]
enable npe-a now that it works

15 years agoAdd workaround to get IXP435 NPE-A working: reseting NPE-A after NPE-C
sam [Wed, 17 Jun 2009 17:57:52 +0000 (17:57 +0000)]
Add workaround to get IXP435 NPE-A working: reseting NPE-A after NPE-C
causes both to become inoperative; this apparently was done by the original
IAL code as a workaround for IMEM parity errors which we've not seen so
just disable the reset.

Note this problem does not occur on IXP425 boards. The linux driver does
fuse-resets on each NPE but in the order NPE-A < NPE-B < NPE-C (when probing
for which NPE's are present/operational); we may want to switch to a similar
scheme but for now disable the resets until we see an issue.

15 years agoRefactor contigmalloc() into two functions: a simple front-end that deals
alc [Wed, 17 Jun 2009 17:19:48 +0000 (17:19 +0000)]
Refactor contigmalloc() into two functions: a simple front-end that deals
with the malloc tag and calls a new back-end, kmem_alloc_contig(), that
allocates the pages and maps them.

The motivations for this change are two-fold: (1) A cache mode parameter
will be added to kmem_alloc_contig().  In other words, kmem_alloc_contig()
will be extended to support the allocation of memory with caller-specified
caching. (2) The UMA allocation function that is used by the two jumbo
frames zones can use kmem_alloc_contig() in place of contigmalloc() and
thereby avoid having free jumbo frames held by the zone counted as live
malloc()ed memory.

15 years agoTeach cpu_est_clockrate() about the G5's slightly different PMC. This
nwhitehorn [Wed, 17 Jun 2009 16:34:40 +0000 (16:34 +0000)]
Teach cpu_est_clockrate() about the G5's slightly different PMC. This
allows the boot messages to include the CPU speed and makes possible
the forthcoming cpufreq support for the PPC 970.

15 years agoAdd explicit includes for jail.h to the files that need them and
bz [Wed, 17 Jun 2009 15:01:01 +0000 (15:01 +0000)]
Add explicit includes for jail.h to the files that need them and
remove the "hidden" one from vimage.h.

15 years agoFix column width of weekday names for multibyte locales.
ume [Wed, 17 Jun 2009 14:47:06 +0000 (14:47 +0000)]
Fix column width of weekday names for multibyte locales.

Noticed by: nyan
Discussed with: matusita, takawata
MFC after: 1 week

15 years agoUse the right jail parameters for -v (cpuset has changed to cpuset.id).
jamie [Wed, 17 Jun 2009 14:32:08 +0000 (14:32 +0000)]
Use the right jail parameters for -v (cpuset has changed to cpuset.id).

Reported by: netchild
Approved by: bz (mentor)

15 years agoFix handling of ".." in nfs_lookup() for the forced dismount case
rmacklem [Wed, 17 Jun 2009 14:10:18 +0000 (14:10 +0000)]
Fix handling of ".." in nfs_lookup() for the forced dismount case
by cribbing the change made to the regular nfs client in r194358.

Approved by: kib (mentor)

15 years agoFor dotdot lookup in nfs_lookup, inline the vn_vget_ino() to prevent
kib [Wed, 17 Jun 2009 12:47:27 +0000 (12:47 +0000)]
For dotdot lookup in nfs_lookup, inline the vn_vget_ino() to prevent
operating on the unmounted mount point and freed mount data in case of
forced unmount performed while dvp is unlocked to nget the target vnode.

Add missed calls to m_freem(mrep) there on error exits [1].

Submitted by: rmacklem [1]
Tested by: pho
MFC after: 2 weeks

15 years agoAdd the explicit include of vimage.h to another five .c files still
bz [Wed, 17 Jun 2009 12:44:11 +0000 (12:44 +0000)]
Add the explicit include of vimage.h to another five .c files still
missing it.

Remove the "hidden" kernel only include of vimage.h from ip_var.h added
with the very first Vimage commit r181803 to avoid further kernel poisoning.

15 years agoDecrement state->ls_threads when vnode appeared to be doomed.
kib [Wed, 17 Jun 2009 12:43:04 +0000 (12:43 +0000)]
Decrement state->ls_threads when vnode appeared to be doomed.

Reported and tested by: pho

15 years agoChanges to the NR-Sack code so that:
rrs [Wed, 17 Jun 2009 12:34:56 +0000 (12:34 +0000)]
Changes to the NR-Sack code so that:
1) All bit disappears
2) The two sets of gaps (nr and non-nr) are
   disjointed, you don't have gaps struck in
   both places.

This adjusts us to coorespond to the new draft. Still
to-do, cleanup the code so that there are only one set
of sack routines (original NR-Sack done by E cloned all
sack code).

15 years agoAdd a .cvsignore file and along with that put an svn:ignore proprty
bz [Wed, 17 Jun 2009 10:48:32 +0000 (10:48 +0000)]
Add a .cvsignore file and along with that put an svn:ignore proprty
on the directory like we have for all other target architectures.

Discussed with: imp (kind of)

15 years agoMake compile again using proper protoypes for
bz [Wed, 17 Jun 2009 10:26:37 +0000 (10:26 +0000)]
Make compile again using proper protoypes for
pcib_read/write_config DEVMETHOD.

15 years agoMake compile again using the correct prototype for the
bz [Wed, 17 Jun 2009 10:23:25 +0000 (10:23 +0000)]
Make compile again using the correct prototype for the
device shutdown method.

15 years agoPass the size of the mapping to contigmapping() as a "vm_size_t" rather
alc [Wed, 17 Jun 2009 07:11:38 +0000 (07:11 +0000)]
Pass the size of the mapping to contigmapping() as a "vm_size_t" rather
than a "vm_pindex_t".  A "vm_size_t" is more convenient for it to use.

15 years ago- Allow a higher value for the number of heads. Its better to do this and allow
lulf [Wed, 17 Jun 2009 06:47:05 +0000 (06:47 +0000)]
- Allow a higher value for the number of heads. Its better to do this and allow
  a few bad systems to run than to be completely strict about it.

15 years ago- Back out the previous change in order to maintain compatibility.
lulf [Wed, 17 Jun 2009 06:41:10 +0000 (06:41 +0000)]
- Back out the previous change in order to maintain compatibility.

15 years agoWhen copy+paste goes wrong... Remove duplicate "expr".
edwin [Wed, 17 Jun 2009 06:25:45 +0000 (06:25 +0000)]
When copy+paste goes wrong... Remove duplicate "expr".

Submitted by: danfe@

15 years agoMake the maintenance of a page's valid bits by contigmalloc() more like
alc [Wed, 17 Jun 2009 04:57:32 +0000 (04:57 +0000)]
Make the maintenance of a page's valid bits by contigmalloc() more like
kmem_alloc() and kmem_malloc().  Specifically, defer the setting of the
page's valid bits until contigmapping() when the mapping is known to be
successful.

15 years agoadds opt_inet6.h to fix a error during compiling wlan as a module.
weongyo [Wed, 17 Jun 2009 04:23:37 +0000 (04:23 +0000)]
adds opt_inet6.h to fix a error during compiling wlan as a module.

Reviewed by: sam

15 years agoreorders the sequence when the device is detached. After detaching the
weongyo [Wed, 17 Jun 2009 04:15:19 +0000 (04:15 +0000)]
reorders the sequence when the device is detached.  After detaching the
interface is completed then it'll process other parts to avoid a race
condition.

Pointed by: jhb

15 years agocorrect data/instruction memory sizes for non-ixp425 parts (these
sam [Wed, 17 Jun 2009 03:09:13 +0000 (03:09 +0000)]
correct data/instruction memory sizes for non-ixp425 parts (these
are only used to bounds-check writes when loading firmware)

15 years agoremove IAL vestige for defining the max data/instruction memory size;
sam [Wed, 17 Jun 2009 02:55:53 +0000 (02:55 +0000)]
remove IAL vestige for defining the max data/instruction memory size;
instead of defining them according to ixp46x add new defines so we can
do this at run time

15 years agoo correct default miibase for NPE-B and NPE-C; these values are
sam [Wed, 17 Jun 2009 02:53:05 +0000 (02:53 +0000)]
o correct default miibase for NPE-B and NPE-C; these values are
  normally taken from the hints file so this should have no effect
o set the port address "just in case"
o add NPE-A support to the tx done qmgr callback

15 years agoadd ixp4xx_write_feature_bits
sam [Wed, 17 Jun 2009 02:51:16 +0000 (02:51 +0000)]
add ixp4xx_write_feature_bits

15 years agoIntroduce support for adaptive spinning in lockmgr.
attilio [Wed, 17 Jun 2009 01:55:42 +0000 (01:55 +0000)]
Introduce support for adaptive spinning in lockmgr.
Actually, as it did receive few tuning, the support is disabled by
default, but it can opt-in with the option ADAPTIVE_LOCKMGRS.
Due to the nature of lockmgrs, adaptive spinning needs to be
selectively enabled for any interested lockmgr.
The support is bi-directional, or, in other ways, it will work in both
cases if the lock is held in read or write way.  In particular, the
read path is passible of further tunning using the sysctls
debug.lockmgr.retries and debug.lockmgr.loops .  Ideally, such sysctls
should be axed or compiled out before release.

Addictionally note that adaptive spinning doesn't cope well with
LK_SLEEPFAIL.  The reason is that many (and probabilly all) consumers
of LK_SLEEPFAIL are mainly interested in knowing if the interlock was
dropped or not in order to reacquire it and re-test initial conditions.
This directly interacts with adaptive spinning because lockmgr needs
to drop the interlock while spinning in order to avoid a deadlock
(further details in the comments inside the patch).

Final note: finding someone willing to help on tuning this with
relevant workloads would be either very important and appreciated.

Tested by: jeff, pho
Requested by: many

15 years agoFix a typo from the previous commit.
jkim [Tue, 16 Jun 2009 23:02:46 +0000 (23:02 +0000)]
Fix a typo from the previous commit.

15 years agoSync acpi(4) kld module Makefile with conf/options.
jkim [Tue, 16 Jun 2009 23:00:26 +0000 (23:00 +0000)]
Sync acpi(4) kld module Makefile with conf/options.

15 years agoiiin -> in
edwin [Tue, 16 Jun 2009 22:45:33 +0000 (22:45 +0000)]
iiin -> in

Submitted by:   "N.J. Mann" <njm@njm.me.uk>

15 years agoTrim extra sets of ()'s.
jhb [Tue, 16 Jun 2009 19:00:48 +0000 (19:00 +0000)]
Trim extra sets of ()'s.

Requested by: bde

15 years agoFix edge cases with ticks wrapping from INT_MAX to INT_MIN in the handling
jhb [Tue, 16 Jun 2009 19:00:12 +0000 (19:00 +0000)]
Fix edge cases with ticks wrapping from INT_MAX to INT_MIN in the handling
of the per-tcpcb t_badtrxtwin.

Submitted by: bde

15 years ago- Change members of tcpcb that cache values of ticks from int to u_int:
jhb [Tue, 16 Jun 2009 18:58:50 +0000 (18:58 +0000)]
- Change members of tcpcb that cache values of ticks from int to u_int:
  t_rcvtime, t_starttime, t_rtttime, t_bw_rtttime, ts_recent_age,
  t_badrxtwin.
- Change t_recent in struct timewait from u_long to u_int32_t to match
  the type of the field it shadows from tcpcb: ts_recent.
- Change t_starttime in struct timewait from u_long to u_int to match
  the t_starttime field in tcpcb.

Requested by: bde (1, 3)

15 years agoRemove confusing mergeinfo caused by renaming files.
jhb [Tue, 16 Jun 2009 17:48:08 +0000 (17:48 +0000)]
Remove confusing mergeinfo caused by renaming files.

15 years agoFreeBSD returns main object handle from dlopen(NULL, ...) calls.
kan [Tue, 16 Jun 2009 16:38:54 +0000 (16:38 +0000)]
FreeBSD returns main object handle from dlopen(NULL, ...) calls.
dlsym seaches using this handle are expected to look for symbol
definitions in all objects loaded at the program start time along
with all objects currently in RTLD_GLOBAL scope.

Discussed with: kib
Reported by: Maho NAKATA
MFC after: 2 weeks

15 years agoUse the closefrom(2) system call.
jhb [Tue, 16 Jun 2009 15:30:10 +0000 (15:30 +0000)]
Use the closefrom(2) system call.

Reviewed by: des

15 years agoDo not use casts (int *)0 and (struct thread *)0 for the arguments of
kib [Tue, 16 Jun 2009 15:13:45 +0000 (15:13 +0000)]
Do not use casts (int *)0 and (struct thread *)0 for the arguments of
vn_rdwr, use NULL.

Reviewed by: jhb
MFC after: 1 week

15 years agoMove (read|write)_cyrix_reg() inlines from specialreg.h to cpufunc.h.
jhb [Tue, 16 Jun 2009 15:13:18 +0000 (15:13 +0000)]
Move (read|write)_cyrix_reg() inlines from specialreg.h to cpufunc.h.
specialreg.h now consists solely of register-related macros.

15 years agoSmall fixes to Unicode handling:
ed [Tue, 16 Jun 2009 14:55:13 +0000 (14:55 +0000)]
Small fixes to Unicode handling:

- Add more mappings for Greek characters and the Euro sign.
- Print UTF-8 characters in the log file as hexadecimal.