summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove all the checks on curthread != NULL with the exception of some MDattilio2012-09-138-24/+4
| | | | | | | | | | | trap checks (eg. printtrap()). Generally this check is not needed anymore, as there is not a legitimate case where curthread != NULL, after pcpu 0 area has been properly initialized. Reviewed by: bde, jhb MFC after: 1 week
* - Denote PCI-e endpoints that support FLR.jhb2012-09-132-4/+72
| | | | | | | | | - Make parsing of PCI-e extended capabilities assume that future version numbers are backwards compatible. - Add new AER error descriptions. - Add descriptions for more PCI-e extended capabilities. MFC after: 1 week
* - Add some registers defined in PCI 3.0 including new AER bits.jhb2012-09-131-11/+68
| | | | | | | | | | - Add constants for the rest of the fields in the PCI-express device capability and control registers. - Tweak some of the recently added PCI-e capability constants (always use hex for offsets in config space, and include a shortened version of the relevant register in the name of field constants). MFC after: 1 week
* Don't use AR_PHY_MODE to setup half/quarter rate.adrian2012-09-132-13/+4
| | | | | | | | | | | | | | | | I'm not sure where in the deep, distant past I found the AR_PHY_MODE registers for half/quarter rate mode, but unfortunately that doesn't seem to work "right" for non-AR9280 chips. Specifically: * don't touch AR_PHY_MODE * set the PLL bits when configuring half/quarter rate I've verified this on the AR9280 (5ghz fast clock) and the AR5416. The AR9280 works in both half/quarter rate; the AR5416 unfortunately only currently works at half rate. It fails to calibrate on quarter rate.
* Remove scripts and tools which only functioned when src was using CVSeadler2012-09-1311-1080/+0
| | | | | Approved by: cperciva MFC after: 1 week
* Minor mdoc fix.joel2012-09-131-4/+4
|
* Introduce a new make variable COMPILER_TYPE that specifies whatbrooks2012-09-137-24/+59
| | | | | | | | | | | | | | | | | | | | type of compiler is being used (currently clang or gcc). COMPILER_TYPE is set in the new bsd.compiler.mk file based on the value of the CC variable or, should it prove informative, by running ${CC} --version and examining the output. To avoid negative performance impacts in the default case and correct value for COMPILER_TYPE type is determined and passed in the environment of submake instances while building world. Replace adhoc attempts at determining the compiler type by examining CC or MK_CLANG_IS_CC with checks of COMPILER_TYPE. This eliminates bootstrapping complications when first setting WITH_CLANG_IS_CC. Sponsored by: DARPA, AFRL Reviewed by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>, imp, linimon (with some modifications post review) MFC after: 2 weeks
* Ignore stop and continue signals sent to an exiting process. Stop signalsjhb2012-09-132-2/+13
| | | | | | | | | | | set p_xstat to the signal that triggered the stop, but p_xstat is also used to hold the exit status of an exiting process. Without this change, a stop signal that arrived after a process was marked P_WEXIT but before it was marked a zombie would overwrite the exit status with the stop signal number. Reviewed by: kib MFC after: 1 week
* Define missing DEBUGOUT# macros. DEBUGOUT[45] are not yet used but areeadler2012-09-131-0/+5
| | | | | | | | | being defined pre-emptively to avoid future build breakage PR: kern/168967 Submitted by: fuzhli <fuzl@arraynetworks.com.cn> Approved by: cperciva MFC after: 1 week
* Add global and per-module sysctls/tunables to enable/disable metadata taste.mav2012-09-1314-32/+75
| | | | | | | That should help to handle some cases when disk has some RAID metadata that should be ignored, especially during boot. MFC after: 3 days
* The deadfs VOPs for vop_ioctl and vop_bmap call itself recursively,kib2012-09-131-41/+2
| | | | | | | | | | | | | | | which is an elaborate way to cause kernel panic. Change the VOPs implementation to return EBADF for a reclaimed vnode. While the calls to vop_bmap should not reach deadfs, it is indeed possible for vop_ioctl, because the VOP locking protocol is to pass the vnode to VOP unlocked. The actual panic was observed when ioctl was called on procfs filedescriptor which pointed to an exited process. Reported by: zont Tested by: pho MFC after: 1 week
* - Fix a typo in debug message.zont2012-09-131-1/+1
| | | | | Approved by: kib (mentor) MFC after: 3 days
* Document the *_chroot, *_user, *_group and *_nice knobs for services startedivoras2012-09-131-0/+16
| | | | | | by rcng. Reviewed by: wblock, dougb
* MFV of 240454, tzdata2012fedwin2012-09-1315-136/+267
| | | | | | | | | | | | - Pacific/Fiji will go into DST from 21 October 2012 till 20 January 2013. - Fix offset for Pacific/Tokelau. - Gaza and West Bank had DST from 29 March to 28 September 2012. - Syria has DST from April till October - Morocco had DST from April to September 2012 except for 20 July to 20 August. - Cuba changed to DST from 1 April 2012 only. - Haiti has DST between 8 March and 1 November in 2012. Obtained from: ftp://ftp.iana.org/tz/releases/
* Rename the IVY_RNG option to RDRAND_RNG.kib2012-09-138-9/+9
| | | | | Based on submission by: Arthur Mesh <arthurmesh@gmail.com> MFC after: 2 weeks
* Install interrupt handlers early, during attach, for the reasonnp2012-09-131-41/+67
| | | | | | explained in r239913 by jhb. MFC after: 1 week
* Use native FreeBSD facilities everywhere except the shared code in common/np2012-09-134-32/+27
| | | | MFC after: 1 week
* Allow cxgbe to be built into a kernel with "device cxgbe."np2012-09-132-0/+35
| | | | MFC after: 1 week
* Rename __member2struct() to __containerof().ed2012-09-133-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | Compared to __member2struct(), this macro has the following advantages: - It ensures that the type of the pointer is compatible with the member field of the structure (or a void pointer). - It works properly in combination with volatile and const, though unfortunately it drops these qualifiers from the returned value. mdf@ proposed to add the container_of() macro, just like Linux has. Eventually I decided against this, as <sys/param.h> is included all over the place. It seems container_of() on Linux is specific to the kernel, not userspace. I'd rather not pollute userspace with this. I also thought about adding __container_of(), but this would have two advantages. Xorg seems to already have a __container_of(), which is not compatible with this version. Also, the underscore in the middle conflicts with our existing macros (__offsetof, __rangeof, etc). I'm changing member2struct() to use its old code, as the extra strictness of this new macro conflicts with existing code (read: cxgb). MFC after: 1 month
* Enable fractional 5G mode on half/quarter rate channels.adrian2012-09-131-1/+11
| | | | Obtained from: Linux ath9k
* Flip on half/quarter rate support.adrian2012-09-131-3/+3
| | | | | | | | | | | | | | | | | No, this isn't HT/5 and HT/10 support. This is the 11a half/quarter rate support primarily used by the 4.9GHz and GSM band regulatory domains. This is definitely a work in progress. TODO: * everything in the last commit; * lots more interoperability testing with the AR5212 half/quarter rate support for the relevant chips; * Do some interop testing on half/quarter rate support between _all_ the 11n chips - AR5416, AR9160, AR9280 (and AR9285/AR9287 when 2GHz half/quarter rate support is coded up.)
* Introduce an AR5416 flavour of the IFS and mac usec/timing configurationadrian2012-09-131-1/+140
| | | | | | | | | | | | | | | | | | | | | | | used when running the chips in half/quarter rate. This sets up some default parameters which are then overridden by the driver (which manually configures things like slot timing at interface start time.) Although this is a copy-and-modify from the AR5212 HAL, I did peek at the reference HAL and the ath9k driver to see what they did. Ath9k in particular doesn't hard-code this - instead, their version of ar5416InitUserSettings() does all of the relevant math. TODO: * do the math, not hard code things! * fix the mac clock calculation for the AR9287; since it runs the MAC clock at a higher rate, requiring all the duration calculations to change; * Do a whole lot more validation for half/quarter rates. Obtained from: Qualcomm Atheros, Linux ath9k
* Call the ar5212SetCoverageClass() function for now.adrian2012-09-131-1/+2
| | | | | | Some of the math is a little wrong thanks to clocks in 11a mode running at 44MHz when in fast clock mode (rather than 40MHz, which the chips before AR9280 ran 11a in). That'll have to be addressed in a future commit.
* Add register defintions for the AR5416 TX/RX latency fields.adrian2012-09-131-0/+6
| | | | Obtained from: Qualcomm Atheros
* Compensate for half/quarter rate differences in MAC clock speed.adrian2012-09-131-0/+7
| | | | | | | This fixes the incorrect slot (and likely ACK/RTS timeout) values which I see when enabling half/quarter rate support on the AR9280. The resulting math matches the expected calculated default values.
* Update interface to firmware 1.6.2 and include the firmware in the driver.np2012-09-134-22/+7706
| | | | | Obtained from: Chelsio MFC after: 1 week
* Simplify the kernel pmap locking in pmap_enter_pv(). While I'm here, tidyalc2012-09-131-17/+10
| | | | | | up the comments and whitespace. Tested by: cognet
* No need to leak these into the includer's namespace.grehan2012-09-131-0/+6
| | | | Submitted by: Bryan Venteicher bryanv at daemoninthecloset org
* Relax requirement of certain mb()sgrehan2012-09-131-2/+2
| | | | Submitted by: Bryan Venteicher bryanv at daemoninthecloset org
* Correctness: use __member2struct() on the correct fields.ed2012-09-121-2/+2
| | | | | | | | | | | | | | The prev-pointers point to the next-pointers of the previous element -- not the ENTRY structure. The next-pointers are stored in the ENTRY structures first, so the code would already work correctly. Still, it is more accurate to use the next-fields. To prevent misuse of __member2struct() in the future, I've got a patch that requires the pointer to be passed to this macro to be compatible with the member of the structure. I'll commit this patch after I've tested it properly. MFC after: 1 month.
* Switch batch to an SLIST.ed2012-09-121-11/+9
| | | | This code requires none of the features of LIST.
* Improve check coverage about idle threads.attilio2012-09-126-1/+41
| | | | | | | | | | | | Idle threads are not allowed to acquire any lock but spinlocks. Deny any attempt to do so by panicing at the locking operation when INVARIANTS is on. Then, remove the check on blocking on a turnstile. The check in sleepqueues is left because they are not allowed to use tsleep() either which could happen still. Reviewed by: bde, jhb, kib MFC after: 1 week
* Tweak the commit message in case of panic for sleeping from threadsattilio2012-09-121-1/+2
| | | | | | | | | | | | with TDP_NOSLEEPING on. The current message has no informations on the thread and wchan involed, which may be useful in case where dumps have mangled dwarf informations. Reported by: kib Reviewed by: bde, jhb, kib MFC after: 1 week
* Implement LIST_PREV().ed2012-09-125-9/+35
| | | | | | | | | | | | | | | | | | | | | | | Regular LISTs have been implemented in such a way that the prev-pointer does not point to the previous element, but to the next-pointer stored in the previous element. This is done to simplify LIST_REMOVE(). This macro can be implemented without knowing the address of the list head. Unfortunately this makes it harder to implement LIST_PREV(), which is why this macro was never here. Still, it is possible to implement this macro. If the prev-pointer points to the list head, we return NULL. Otherwise we simply subtract the offset of the prev-pointer within the structure. It's not as efficient as traversing forward of course, but in practice it shouldn't be that bad. In almost all use cases, people will want to compare the value returned by LIST_PREV() against NULL, so an optimizing compiler will not emit code that does more branching than TAILQs. While there, make the code a bit more readable by introducing __member2struct(). This makes STAILQ_LAST() far more readable. MFC after: 1 month
* Make pxe device in lsdev really include device name, looking like this:mav2012-09-122-20/+4
| | | | | | pxe0: 192.168.3.1:/storage/nfsroot/amd64 , instead of confusing and less useful: 192.168.3.1:pxeboot
* Remove some trailing whitespace.jimharris2012-09-123-4/+4
|
* Fix TX FIFO sizes. Correct FIFO handling in Host mode.hselasky2012-09-122-66/+84
|
* Merge recent zfs vendor changes, sync code and adjust userland DEBUG.mm2012-09-1243-667/+699
| | | | | | | | | | | | | | | | | | | | | Illumos issued covered: 1884 Empty "used" field for zfs *space commands 3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument is zero 3028 zfs {group,user}space -n prints (null) instead of numeric GID/UID 3048 zfs {user,group}space [-s|-S] is broken 3049 zfs {user,group}space -t doesn't really filter the results 3060 zfs {user,group}space -H output isn't tab-delimited 3061 zfs {user,group}space -o doesn't use specified fields order 3064 usr/src/cmd/zpool/zpool_main.c misspells "successful" 3093 zfs {user,group}space's -i is noop 3098 zfs userspace/groupspace fail without saying why when run as non-root References: https://www.illumos.org/issues/ + [issue_id] Obtained from: illumos (vendor/illumos, vendor/illumos-sys) MFC after: 2 weeks
* According to a clarification at http://austingroupbugs.net/view.php?id=503emaste2012-09-122-4/+3
| | | | | | | ptsname may set errno, so avoid saving and restoring errno across the function. PR: standards/171572
* Avoid mapping ENOENT to ENOTDIR for non-existent path components.emaste2012-09-121-2/+0
| | | | | | | | | | | | | | | The ENOTDIR mapping was introduced in r235266 for kern/128933 based on an interpretation of the somewhat ambiguous language in the POSIX realpath specification. The interpretation is inconsistent with Solaris and Linux, a regression from 9.0, and does not appear to be permitted by the description of ENOTDIR: 20 ENOTDIR Not a directory. A component of the specified pathname existed, but it was not a directory, when a directory was expected. PR: standards/171577 MFC after: 3 days
* Add documentation for IPv6 supporteadler2012-09-121-1/+9
| | | | | | | | | PR: docs/171580 Submitted by: bdrewery Reviewed by: wblock Approved by: gjb MFC after: 1 month X-MFC-With: r240389
* Remove needless (int) casts of write(2)'s 3rd argument.obrien2012-09-122-5/+5
| | | | | Also change blwrite() 'size' parameter to a ssize_t to better match write(2).
* Simply printf-like strings and outdent strings so that it is easy to seeobrien2012-09-121-20/+18
| | | | if they fit on a standard terminal.
* Add MK_KDUMP.obrien2012-09-122-2/+9
|
* Not all Pmake derivatives silently handle empty shell output, so ensure thereobrien2012-09-122-2/+2
| | | | | | is something for make(1) to consume. Bmake gives output such as: "warning: Couldn't read shell's output for "/bin/sh -c true" Note we parted from traditional Pmake behavior in r18864 / r18255.
* Remove duplication and centralize testing of various config(8)ed features.obrien2012-09-124-6/+5
|
* Not all Pmake derived makes quietly tolerate assignment from shell commandsobrien2012-09-123-5/+5
| | | | | | | with no output. Add "echo" at the end these shell commands whose output is assigned to a variable's value to ensure there is some output. Submitted by: John Van Horne <jvanhorne@juniper.net>
* Replace a bare use of 'objcopy' with ${OBJCOPY} for easier cross compilationobrien2012-09-122-2/+2
| | | | | | in environments where 'objcopy' is spelled differently. Submitted by: John Van Horne <jvanhorne@juniper.net>
* - Fix detaching under some circumstances.zont2012-09-123-14/+37
| | | | | | | | | | | | | | | | | | | | | When truss is detaching from very active process it is possible to hang on waitpid(2) in restore_proc() forever, because ptrace(PT_SYSCALL) must be called before detaching, to allow the debugging process to continue execution. Also when truss called with '-c' argument, it does not print anything after detach, because it immediately exits from restore_proc(). To fix these two problems make detaching deferred, but then it is impossible to detach from a process which does not do any system call. To fix this issue use sigaction(2) instead of signal(3) to disable SA_RESTART flag for waitpid(2) that makes it non-restartable. Remove global variable child_pid, because now detaching is handled in context where child's pid is known. Reported by: mjg Tested by: mjg, swills Approved by: kib (mentor) MFC after: 2 weeks
* In NAT-T transport mode, allow a client to open a new connection just aftervanhu2012-09-121-3/+5
| | | | | | | | closing another. It worked only in tunnel mode before. Submitted by: Andreas Longwitz <longwitz@incore.de> MFC after: 1M
OpenPOWER on IntegriCloud