summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add missing words.brueffer2008-02-251-2/+2
| | | | MFC after: 3 days
* Fix some off-by-1 errors.bde2008-02-253-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e_rem_pio2.c: Float and double precision didn't work because init_jk[] was 1 too small. It needs to be 2 larger than you might expect, and 1 larger than it was for these precisions, since its test for recomputing needs a margin of 47 bits (almost 2 24-bit units). init_jk[] seems to be barely enough for extended and quad precisions. This hasn't been completely verified. Callers now get about 24 bits of extra precision for float, and about 19 for double, but only about 8 for extended and quad. 8 is not enough for callers that want to produce extra-precision results, but current callers have rounding errors of at least 0.8 ulps, so another 1/2**8 ulps of error from the reduction won't affect them much. Add a comment about some of the magic for init_jk[]. e_rem_pio2.c: Double precision worked in practice because of a compensating off-by-1 error here. Extended precision was asked for, and it executed exactly the same code as the unbroken double precision. e_rem_pio2f.c: Float precision worked in practice because of a compensating off-by-1 error here. Double precision was asked for, and was almost needed, since the cosf() and sinf() callers want to produce extra-precision results, at least internally so that their error is only 0.5009 ulps. However, the extra precision provided by unbroken float precision is enough, and the double-precision code has extra overheads, so the off-by-1 error cost about 5% in efficiency on amd64 and i386.
* Decrease ping6's minimum allowed intervalsilby2008-02-251-3/+3
| | | | | | | | | | from .01 to .000001. Note that due to the architecture of ping6, you are still limited to kern.hz pings per second. MFC after: 2 weeks
* unbreak printing 802.11 tx/rx ratessam2008-02-251-2/+2
| | | | MFC after: 3 days
* Teach PowerPC CPU identification routines to recognize e500 cores. Fix styleraj2008-02-253-93/+117
| | | | | | | issues in this area. Approved by: cognet (mentor) MFp4: e500
* Bump .Dd for revisions 1.83 and 1.84.ceri2008-02-241-1/+1
|
* Tag -ilname and -lname as GNU extensions.imp2008-02-241-1/+4
| | | | | Correct their descriptions to indicate that it is the contents of the symbolic link that are matched.
* Let PowerPC world optionally build with -msoft-float. For FPU-less PowerPCraj2008-02-249-2/+23
| | | | | | | | | variations (e500 currently), this provides a gcc-level FPU emulation and is an alternative approach to the recently introduced kernel-level emulation (FPU_EMU). Approved by: cognet (mentor) MFp4: e500
* style(9) whitespace fix: A space is mandated after keyword 'return'.kaiw2008-02-241-5/+5
| | | | | Submitted by: jkoshy Approved by: jkoshy (mentor)
* Since the program is installed as 'bsdranlib', we need tokaiw2008-02-241-1/+2
| | | | | | | | | check if it is invoked as 'bsdranlib'. Reported by: Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net> Reviewed by: Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net> Reviewed by: jkoshy Approved by: jkoshy (mentor)
* Correct a long-standing error in vm_object_deallocate(). Specifically,alc2008-02-241-1/+4
| | | | | | | | | | | | | | | | | | | | only anonymous default (OBJT_DEFAULT) and swap (OBJT_SWAP) objects should ever have OBJ_ONEMAPPING set. However, vm_object_deallocate() was setting it on device (OBJT_DEVICE) objects. As a result, vm_object_page_remove() could be called on a device object and if that occurred pmap_remove_all() would be called on the device object's pages. However, a device object's pages are fictitious, and fictitious pages do not have an initialized pv list (struct md_page). To date, fictitious pages have been allocated from zeroed memory, effectively hiding this problem. Now, however, the conversion of rotting diagnostics to invariants in the amd64 and i386 pmaps has revealed the problem. Specifically, assertion failures have occurred during the initialization phase of the X server on some hardware. MFC after: 1 week Discussed with: Kostik Belousov Reported by: Michiel Boland
* Handle properly when insert zero size objects into the archive:kaiw2008-02-241-3/+9
| | | | | | | | | | | | | | | | Do not mmap 0-size objects and do not try to extract symbol from 0-size objects, but do treat 0-size objects as qualified objects and accept them as an archive member. (A member with only the header part) Note that GNU binutils ar on FreeBSD ignores 0-size objects, but on Linux it accepts them. [1] But, since this is a rare usage, we can safely ignore the compatibility issue. Reported by: Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net> Pointed out by: Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net> [1] Reviewed by: Michael Plass <mfp49_freebsd [AT] plass-family [DOT] net> Reviewed by: jkoshy Approved by: jkoshy (mentor)
* Don't define DEBUG. No debugging required.marcel2008-02-241-2/+0
| | | | Pointy hat: marcel
* Forced commit to fix message:stefanf2008-02-240-0/+0
| | | | Add a regression test for cd.c's revision 1.36.
* Add a regression test for cd.c's revision 1.35.stefanf2008-02-241-0/+17
|
* Split updatepwd() into two smaller functions. The first one, findpwd(),stefanf2008-02-241-38/+45
| | | | | | | | | | computes the new path and the second one, updatepwd(), updates the variables PWD, OLDPWD and the path used for the pwd builtin according to the new directory. For a logical directory change, chdir() is now called between those two functions, no longer causing wrong values to be stored in PWD etc. if it fails. PR: 64990, 101316, 120571
* Introduce some functions in the vnode locks namespace and in the ffsattilio2008-02-2412-21/+27
| | | | | | | | | | | | | | | namespace in order to handle lockmgr fields in a controlled way instead than spreading all around bogus stubs: - VN_LOCK_AREC() allows lock recursion for a specified vnode - VN_LOCK_ASHARE() allows lock sharing for a specified vnode In FFS land: - BUF_AREC() allows lock recursion for a specified buffer lock - BUF_NOREC() disallows recursion for a specified buffer lock Side note: union_subr.c::unionfs_node_update() is the only other function directly handling lockmgr fields. As this is not simple to fix, it has been left behind as "sole" exception.
* Currently, smb_co_init() uses the same lock name for the mutex interlockattilio2008-02-241-8/+9
| | | | | | and the lockmgr. Use different names in order to avoid WITNESS conflicts. Reported by: Bryan Venteicher <bryanv at daemoninthecloset dot org>
* Add table/tablearg support to ipfw's nat.piso2008-02-243-12/+10
| | | | MFC After: 1 week
* o Add module event handler.akiyama2008-02-241-2/+19
| | | | | | | | Now ucom kernel module can unload properly. o Update copyright year. PR: usb/88966 MFC after: 1 week
* Fix shutdown bug made by previous commit.mav2008-02-241-0/+1
|
* Fix namespace collision with sparc macrokmacy2008-02-242-6/+6
|
* Change FreeBSD 7 so that it returns TCP options insilby2008-02-241-2/+5
| | | | | | | | | | | | | | | | | | | | | | the same order that FreeBSD 6 and before did. Doug White and the other bloodhounds at ISC discovered that while FreeBSD 7's ordering of options was more efficient, it caused some cable modem routers to ignore the SYN-ACKs ordered in this fashion. The placement of sackOK after the timestamp option seems to be the critical difference: FreeBSD 6: <mss 1460,nop,wscale 1,nop,nop,timestamp 3512155768 0,sackOK,eol> FreeBSD 7.0: <mss 1460,nop,wscale 3,sackOK,timestamp 1370692577 0> FreeBSD 7.0 + this change: <mss 1460,nop,wscale 3,nop,nop,timestamp 7371813 0,sackOK,eol> MFC after: 1 week
* Resolve warnings exposed by LINT.marcel2008-02-245-26/+5
| | | | | o Put prototypes in a single header only. o Fix printf format specifiers.
* After finishing sending file data in sendfile(2), don't forget to sendcperciva2008-02-241-1/+3
| | | | | | | | | the provided trailers. This has been broken since revision 1.240. Submitted by: Dan Nelson PR: kern/120948 "sounds ok to me" from: phk MFC after: 3 days
* The matching in -lname and -ilname are on the contents of the linkimp2008-02-241-5/+10
| | | | | | | | itself, not on the type of the file. As such, do a readlink to get the symbolic link's contents and fail to match if the path isn't a symbolic link. Pointed out by: des@
* Add prototype for __cmpd2().marcel2008-02-231-0/+1
|
* Add FPU_EMU.marcel2008-02-231-0/+2
|
* remove call to kdb_backtrace()kmacy2008-02-231-1/+0
|
* Hook-up the FPU emulator. It's optional upon FPU_EMU.marcel2008-02-232-0/+12
|
* Bring back (without advertising clause) cmpdi2.c. It's needed on PowerPCmarcel2008-02-231-0/+54
| | | | when the FP emulator is compiled-in.
* Add a floating-point emulator so that a single userland or single ABImarcel2008-02-2313-0/+3880
| | | | | | | | | | can run on processors that don't have a FPU. This is typically the case for Book E processors. While a tuned system will probably want to use soft-float (or use a processor that has a FPU if the usage is FP intensive enough), allowing hard-float on FPU-less systems gives great portability and flexibility. Obtained from: NetBSD
* o Build and install the U-Boot loader as ubldr.marcel2008-02-232-10/+6
| | | | | | o Don't build/install the manual pages or configuration files that are already installed by the OFW loader. o Hook the U-Boot loader to the build.
* style(9) commit.marcel2008-02-231-211/+218
|
* Bump the default .Os version to FreeBSD 8.0.ru2008-02-231-1/+1
|
* Setup the new bootinfo structure.marcel2008-02-231-36/+99
| | | | While here, make local function static and update copyright.
* o Keep running on U-Boot's stack.marcel2008-02-231-21/+23
| | | | | | | | | | o Disable interrupts while not running U-Boot code. We clobber registers that the U-Boot interrupt handlers assume to be fixed as per the U-Boot register usage. At this time this only applies to r14. U-Boot uses r2 now for what they used r29 for. After we restore r14 in preparation of doing the syscall, we re-enable interrupts. When we return from the syscall, we disable interrupts and restore the callee-saved r14.
* The NFS file system support is conditional upon LOADER_NFS_SUPPORT,marcel2008-02-231-1/+1
| | | | not LOADER_NET_SUPPORT.
* Add __elfN(relocation_offset). It holds the offset between the virtualmarcel2008-02-232-2/+30
| | | | | | | | | | (link) address and the physical (load) address. Ideally, the mapping between link and load addresses should be abstracted by the copyin(), copyout() and readin() functions, so that we don't have to add kluges in __elfN(loadimage)(). Then, we could also have paged virtual memory for the kernel. This can be important under EFI, where you need to allocate physical memory form the firmware if you want to work in all scenarios.
* Define the bootinfo structure for FreeBSD. It is not used onmarcel2008-02-232-73/+56
| | | | AIM, but it's used for BookE.
* o Include glue.hmarcel2008-02-231-12/+10
| | | | o Support multiple memory regions.
* o Build libuboot with -msoft-float like everything else.marcel2008-02-233-50/+88
| | | | | | | o Move the API prototypes to a separate header (glue.h) o Allow the platform to hint libuboot about where to look for the API signature. The uboot_address variable is expected to be defined by the platform.
* Add the appropriate license information. This file is doublemarcel2008-02-231-1/+55
| | | | | | licensed under GPL and BSD. Thanks to: raj@
* We build ficl and libofw with -msoft-float. Build the loadermarcel2008-02-231-1/+1
| | | | with -msoft-float too.
* Implement a number of primaries present in GNU find, but not presentimp2008-02-235-5/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in our find. The following are nops because they aren't relevant to our find: -ignore_readdir_race -noignore_readdir_race -noleaf The following aliaes were created: -gid -> -group [2] -uid -> -user [2] -wholename -> -path -iwholename -> ipath -mount -> -xdev -d -> -depth [1] The following new primaries were created: -lname like -name, but matches symbolic links only) -ilname like -lname but case insensitive -quit exit(0) -samefile returns true for hard links to the specified file -true Always true I changed one primary to match GNU find since I think our use of it violates POLA -false Always false (was an alias for -not!) Also, document the '+' modifier for -execdir, as well as all of the above. This was previously implemented. Document the remaining 7 primaries that are in GNU find, but aren't yet implemented in find(1) [1] This was done in GNU find for compatibility with FreeBSD, yet they mixed up command line args and primary args. [2] -uid/-gid in GNU find ONLY takes a numeric arg, but that arg does the normal range thing that. GNU find -user and -uid also take a numberic arg, but don't do the range processing. find(1) does both for -user and -group, so making -uid and -gid aliases is compatible for all non-error cases used in GNU find. While not perfect emulation, this seems a reasonable thing for us.
* Fix typo.brueffer2008-02-231-1/+1
|
* Optimize the 9pi/2 < |x| <= 2**19pi/2 case some more by avoiding anbde2008-02-232-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | fabs(), a conditional branch, and sign adjustments of 3 variables for x < 0 when the branch is taken. In double precision, even when the branch is perfectly predicted, this saves about 10 cycles or 10% on amd64 (A64) and i386 (A64) for the negative half of the range, but makes little difference for the positive half of the range. In float precision, it also saves about 4 cycles for the positive half of the range on i386, and many more cycles in both halves on amd64 (28 in the negative half and 11 in the positive half for tanf), but the amd64 times for float precision are anomalously slow so the larger improvement is only a side effect. Previous commits arranged for the x < 0 case to be handled simply: - one part of the rounding method uses the magic number 0x1.8p52 instead of the usual 0x1.0p52. The latter is required for large |x|, but it doesn't work for negative x and we don't need it for large |x|. - another part of the rounding method no longer needs to add `half'. It would have needed to add -half for negative x. - removing the "quick check no cancellation" in the double precision case removed the need to take the absolute value of the quadrant number. Add my noncopyright in e_rem_pio2.c
* Fix tinderbox by removing call to kdb_backtracekmacy2008-02-231-1/+0
| | | | MFC after: 3 days
* Add the groupmod '-d' option to pw to allow the deletion of existing usersscf2008-02-233-16/+92
| | | | | | | | | | from a group without the need to perform the same operation by replacing the existing list via the '-M' option. The '-M' option requires someone to fetch the existing members with pw, deleting the undesired members from the list and sending the altered list back to pw. Approved by: wes (mentor) MFC after: 5 days
* style(9) (verified no object changes)scf2008-02-232-3/+2
| | | | | Approved by: wes (mentor) MFC after: 5 days
OpenPOWER on IntegriCloud