]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
13 years agoI broke periodic adc calibrations - so restore them to working order.
adrian [Fri, 25 Mar 2011 10:53:13 +0000 (10:53 +0000)]
I broke periodic adc calibrations - so restore them to working order.

13 years agoFix initialisation order with regard to debug prints.
hselasky [Fri, 25 Mar 2011 10:11:21 +0000 (10:11 +0000)]
Fix initialisation order with regard to debug prints.

Reported by: Luiz Otavio O Souza
MFC after: 14 days
Approved by: thompsa (mentor)

13 years agoFix panic while associating access point.
kevlo [Fri, 25 Mar 2011 05:01:13 +0000 (05:01 +0000)]
Fix panic while associating access point.
While here, add the SMC SMCWUSB-G

13 years agoRe-disable the setting of 2040/shortgi bits for now.
adrian [Fri, 25 Mar 2011 04:15:30 +0000 (04:15 +0000)]
Re-disable the setting of 2040/shortgi bits for now.

This seems to work fine for STA but not HT/20 AP mode.

Further discussion with net80211 people will need to take place
to ensure that the right flags are set based on the negotiated
capabilities of the remote peer, rather than whatever the local
parameters are.

Sending short-gi frames in 20mhz may work on some chips but
it certainly isn't supported on anything currently supported
by the HAL; and sending HT40 frames in HT20 mode just plain
won't work.

13 years agoAfter discussion with Felix Fietkau (nbd) about the ath9k Merlin LNA bit
adrian [Fri, 25 Mar 2011 00:45:24 +0000 (00:45 +0000)]
After discussion with Felix Fietkau (nbd) about the ath9k Merlin LNA bit
settings, it seems that our defines are backwards and don't match what
is in the EEPROM documentation or internal driver.

The ath9k code used to have a bitfield here, rather than a uint8_t, and
there were #defines used to swap the order based on the endian of the
platform - this wasn't because of nybble or bit ordering of the
underlying host but because of what the compiler was doing.

This may be the reason for the backwards field numbers, as ath9k had
similar issues.

13 years agoFlip ANI on for the AR5416 and later chips. I haven't verified it on
adrian [Fri, 25 Mar 2011 00:40:08 +0000 (00:40 +0000)]
Flip ANI on for the AR5416 and later chips. I haven't verified it on
the AR9285 so I'll leave it off for that.

Ath9k sources indiciate that one of the ANI modes interferes with
RIFS detection, so match ath9k and disable that.

13 years agoThe right commit - add a couple more AR_PCU_MISC_MODE2 register bits -
adrian [Fri, 25 Mar 2011 00:06:58 +0000 (00:06 +0000)]
The right commit - add a couple more AR_PCU_MISC_MODE2 register bits -
SOWL specific.

13 years agooops, commited the wrong file change.
adrian [Fri, 25 Mar 2011 00:06:19 +0000 (00:06 +0000)]
oops, commited the wrong file change.

13 years agoAdd some more AR_PCU_MISC_MODE2 register settings - these are SOWL or later.
adrian [Fri, 25 Mar 2011 00:05:26 +0000 (00:05 +0000)]
Add some more AR_PCU_MISC_MODE2 register settings - these are SOWL or later.

13 years agoBring over interrupt mitigation changes from ath9k.
adrian [Fri, 25 Mar 2011 00:03:21 +0000 (00:03 +0000)]
Bring over interrupt mitigation changes from ath9k.

* The existing interrupt mitigation code didn't mitigate anything - the
  per-packet TX/RX interrupts are still occuring. It's possible this
  worked for the AR5416 but not any later chipsets; I'll investigate and
  update as needed.

* Set both the RX and TX threshold registers whilst I'm at it.

This is verified to work on the AR9220 and AR9160. I'm leaving it off
by default in case it's truely broken, but I need to have it enabled
when doing 11n testing or interrupt loads exceed 10,000 interrupts/sec.

13 years agoMFgraid/head:
mav [Thu, 24 Mar 2011 21:31:32 +0000 (21:31 +0000)]
MFgraid/head:
Add new RAID GEOM class, that is going to replace ataraid(4) in supporting
various BIOS-based software RAIDs. Unlike ataraid(4) this implementation
does not depend on legacy ata(4) subsystem and can be used with any disk
drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4)
with `options ATA_CAM`). To make code more readable and extensible, this
implementation follows modular design, including core part and two sets
of modules, implementing support for different metadata formats and RAID
levels.

Support for such popular metadata formats is now implemented:
Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage.

Such RAID levels are now supported:
RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.

For any all of these RAID levels and metadata formats this class supports
full cycle of volume operations: reading, writing, creation, deletion,
disk removal and insertion, rebuilding, dirty shutdown detection
and resynchronization, bad sector recovery, faulty disks tracking,
hot-spare disks. For Intel and Promise formats there is support multiple
volumes per disk set.

Look graid(8) manual page for additional details.

Co-authored by: imp
Sponsored by: Cisco Systems, Inc. and iXsystems, Inc.

13 years agoChecking file access on size change is bogus. The checks are done earlier by
pjd [Thu, 24 Mar 2011 20:28:09 +0000 (20:28 +0000)]
Checking file access on size change is bogus. The checks are done earlier by
VFS where we know if this is truncate(2) or ftruncate(2). If this is the
latter we should depend on the mode the file was opened and not on the current
permission.

PR: standards/154873
Reported by: Mark Martinec <Mark.Martinec@ijs.si>
Discussed with: Eric Schrock <eric.schrock@delphix.com>
Discussed with: Mark Maybee <Mark.Maybee@Oracle.COM>
MFC after: 1 month

13 years agoAdd proper width calculation for time fields (time, cputime and usertime).
trasz [Thu, 24 Mar 2011 20:15:42 +0000 (20:15 +0000)]
Add proper width calculation for time fields (time, cputime and usertime).
This fixes the ugly overflow in "ps aux" output for "[idle]".

13 years agoMFgraid/head r218212, r218257:
mav [Thu, 24 Mar 2011 19:23:42 +0000 (19:23 +0000)]
MFgraid/head r218212, r218257:
Introduce new type of BIO_GETATTR -- GEOM::setstate, used to inform lower
GEOM about state of it's providers from the point of upper layers.
Make geom_disk use led(4) subsystem to illuminate states in such fashion:
FAILED - "1" (on), REBUILD - "f5" (slow blink), RESYNC - "f1" (fast blink),
ACTIVE - "0" (off).
LED name should be set for each disk via kern.geom.disk.%s.led sysctl.
Later disk API could be extended to allow disk driver to report this info
in custom way via it's own facilities.

13 years agoMFgraid/head r217014:
mav [Thu, 24 Mar 2011 19:11:05 +0000 (19:11 +0000)]
MFgraid/head r217014:
Make `geom XXX list` and `geom XXX status` outputs more consistent:
Add -a options to print all geoms, not only ones with providers.
Add -g option for `status` to report geom's names, not provider's.
Make `status` by default report provider's status (if present), not geom's.
Make `status` report consumer's statuses, not only "synchronized" field.

13 years agoFix some locking nits with the p_state field of struct proc:
jhb [Thu, 24 Mar 2011 18:40:11 +0000 (18:40 +0000)]
Fix some locking nits with the p_state field of struct proc:
- Hold the proc lock while changing the state from PRS_NEW to PRS_NORMAL
  in fork to honor the locking requirements.  While here, expand the scope
  of the PROC_LOCK() on the new process (p2) to avoid some LORs.  Previously
  the code was locking the new child process (p2) after it had locked the
  parent process (p1).  However, when locking two processes, the safe order
  is to lock the child first, then the parent.
- Fix various places that were checking p_state against PRS_NEW without
  having the process locked to use PROC_LOCK().  Every place was already
  locking the process, just after the PRS_NEW check.
- Remove or reduce the use of PROC_SLOCK() for places that were checking
  p_state against PRS_NEW.  The PROC_LOCK() alone is sufficient for reading
  the current state.
- Reorder fill_kinfo_proc() slightly so it only acquires PROC_SLOCK() once.

MFC after: 1 week

13 years agoMake "LOGIN" and "CLASS" columns width scale properly instead of wasting space.
trasz [Thu, 24 Mar 2011 17:20:24 +0000 (17:20 +0000)]
Make "LOGIN" and "CLASS" columns width scale properly instead of wasting space.

13 years agoAdd missing resource limits:
pluknet [Thu, 24 Mar 2011 16:06:57 +0000 (16:06 +0000)]
Add missing resource limits:
- RLIMIT_NPTS
- RLIMIT_SWAP

MFC after: 1 week

13 years agoFlip back HT/40 and Short-GI (for 40mhz operation). These are now verified to work.
adrian [Thu, 24 Mar 2011 16:06:54 +0000 (16:06 +0000)]
Flip back HT/40 and Short-GI (for 40mhz operation). These are now verified to work.

13 years agoFix a WME corner case found by the FreeBSD 802.11n testing crew.
adrian [Thu, 24 Mar 2011 15:27:15 +0000 (15:27 +0000)]
Fix a WME corner case found by the FreeBSD 802.11n testing crew.

The symptom: sometimes 11n (and non-11n) throughput is great.
Sometimes it isn't. Much teeth gnashing occured, and much kernel
bisecting happened, until someone figured out it was the order
of which things were rebooted, not the kernel versions.
(Which was great news to me, it meant that I hadn't broken if_ath.)

What we found was that sometimes the WME parameters for the best-effort
queue had a burst window ("txop") in which the station would be allowed
to TX as many packets as it could fit inside that particular burst
window. This improved throughput.

After initially thinking it was a bug - the WME parameters for the
best-effort queue -should- have a txop of 0, Bernard and I discovered
"aggressive mode" in net80211 - where the WME BE queue parameters
are changed if there's not a lot of high priority traffic going on.
The WME parameters announced in the association response and beacon
frames just "change" based on what the current traffic levels are.
So in fact yes, the STA was acutally supposed to be doing this higher
throughput stuff as it's just meant to be configuring things based on
the WME parameters - but it wasn't.

What was eventually happening was this:

* at startup, the wme qosinfo count field would be 0;
* it'd be parsed in ieee80211_parse_wmeparams();
* and it would be bumped (to say 10);
* .. and the WME queue parameters would be correctly parsed and set.

But then, when you restarted the assocation (eg hostap goes away and
comes back with the same qosinfo count field of 10, or if you
destroy the sta VIF and re-create it), the WME qosinfo count field -
which is associated not to the VIF, but to the main interface -
wouldn't be cleared, so the queue default parameters would be used
(which include no burst setting for the BE queue) and would remain
that way until the hostap qosinfo count field changed, or the STA
was actually rebooted.

This fix simply cleares the wme capability field (which has the count
field) to 0, forcing it to be reset by the next received beacon.

Thanks go to Milu for finding it and helping me track down what was
going on, and Bernard Schmidt for working through the net80211 and
WME specific magic.

13 years agoMFi386: the part of 219452
nyan [Thu, 24 Mar 2011 15:09:36 +0000 (15:09 +0000)]
MFi386: the part of 219452

  - bunch of variables are turned into uint8_t.
  - the setting and reading of "fmt" in load() is removed.
  - buf in printf() is made static to save space.

13 years agoProperly print characters larger than 127.
pjd [Thu, 24 Mar 2011 14:12:41 +0000 (14:12 +0000)]
Properly print characters larger than 127.

Submitted by: noordsij <noordsij@cs.helsinki.fi>
Reviewed by: Eric Schrock <eric.schrock@delphix.com>
MFC after: 1 month

13 years agoDiscourage from using "cp -r".
ru [Thu, 24 Mar 2011 13:52:59 +0000 (13:52 +0000)]
Discourage from using "cp -r".

13 years agoReally fix the confusion, sorry for noise
bapt [Thu, 24 Mar 2011 12:35:59 +0000 (12:35 +0000)]
Really fix the confusion, sorry for noise

Submitted by: avg
Approved by: cognet

13 years agoIt's possible to unmount multiple items at once, make it clear.
ru [Thu, 24 Mar 2011 12:35:09 +0000 (12:35 +0000)]
It's possible to unmount multiple items at once, make it clear.

13 years agoFix confusion between a-characters and d-characters
bapt [Thu, 24 Mar 2011 12:04:42 +0000 (12:04 +0000)]
Fix confusion between a-characters and d-characters

Submitted by: avg
Approved by: cognet

13 years agoMFgraid/head r218174:
mav [Thu, 24 Mar 2011 08:56:12 +0000 (08:56 +0000)]
MFgraid/head r218174:
Add simple in-kernel API for controlling leds.

13 years agoMFgraid/head r217827:
mav [Thu, 24 Mar 2011 08:37:48 +0000 (08:37 +0000)]
MFgraid/head r217827:
Change BIO_GETATTR("GEOM::kerneldump") API to make set_dumper() called by
consumer (geom_dev) instead of provider (geom_disk). This allows any geom
insert it's code into the dump call chain, implementing more sophisticated
functionality then just disk partitioning.

13 years agoFix typo.
hselasky [Thu, 24 Mar 2011 07:59:21 +0000 (07:59 +0000)]
Fix typo.

Reported by: Garrett Cooper
MFC after: 14 days
Approved by: thompsa (mentor)

13 years agoFix a completely wrong variable reference.
adrian [Thu, 24 Mar 2011 04:57:35 +0000 (04:57 +0000)]
Fix a completely wrong variable reference.

13 years agot3_free_sge_resources should be given the number of qsets it needs to free.
np [Thu, 24 Mar 2011 01:16:48 +0000 (01:16 +0000)]
t3_free_sge_resources should be given the number of qsets it needs to free.

MFC after: 1 week

13 years agoT3C initialization should setup the parity fence too.
np [Thu, 24 Mar 2011 01:13:28 +0000 (01:13 +0000)]
T3C initialization should setup the parity fence too.

MFC after: 1 week

13 years agoDo not over-allocate MSI interrupts for the case where each ingress
np [Thu, 24 Mar 2011 01:03:01 +0000 (01:03 +0000)]
Do not over-allocate MSI interrupts for the case where each ingress
queue has its own interrupt.  If the exact number that we need is not a
power of 2 and we're using MSI, then switch to interrupt multiplexing.

While here, replace the magic numbers with something more readable.

MFC after: 3 days

13 years agoMake the ar2133ForceBias() call controllable at runtime.
adrian [Wed, 23 Mar 2011 23:48:44 +0000 (23:48 +0000)]
Make the ar2133ForceBias() call controllable at runtime.

At least one AR5416 user has reported measurable throughput drops
with this option. For now, disable it and make it a run-time
twiddle. It won't take affect until the next radio programming
trip though (eg channel scan, channel change.)

13 years agohumanize_number(3) multiply the input number by 100, which could cause an
delphij [Wed, 23 Mar 2011 22:08:01 +0000 (22:08 +0000)]
humanize_number(3) multiply the input number by 100, which could cause an
integer overflow when the input is very large (for example, 100 Pi would
become about 10 Ei which exceeded signed int64_t).

Solve this issue by splitting the division into two parts and avoid the
multiplication.

PR: bin/146205
Reviewed by: arundel
MFC after: 1 month

13 years agoRemove unused DMA map/tag in softc.
yongari [Wed, 23 Mar 2011 22:06:09 +0000 (22:06 +0000)]
Remove unused DMA map/tag in softc.

13 years agoPlease welcome the Brazilian calendar in the FreeBSD base.
edwin [Wed, 23 Mar 2011 21:22:03 +0000 (21:22 +0000)]
Please welcome the Brazilian calendar in the FreeBSD base.

For now, calendar.brazilian points to pt_BR.ISO8859-1

Submitted by: Renato Tambellini <rtsanch@gmail.com>
MFC after: 1 week

13 years agoComply with style(9).
hselasky [Wed, 23 Mar 2011 19:41:44 +0000 (19:41 +0000)]
Comply with style(9).

Reported by: gavin
MFC after: 14 days
Approved by: thompsa (mentor)

13 years agoRecognize "ro", "rdonly", "norw", "rw" and "noro" as equal options in
jh [Wed, 23 Mar 2011 17:56:38 +0000 (17:56 +0000)]
Recognize "ro", "rdonly", "norw", "rw" and "noro" as equal options in
vfs_equalopts(). This allows vfs_sanitizeopts() to filter redundant
occurrences of these options. It was possible that for example both "ro"
and "rw" options became active concurrently.

PR: kern/133614
Discussed on: freebsd-hackers
MFC after: 1 month

13 years agoModestly increase the maximum allowed size of the kmem map on i386.
alc [Wed, 23 Mar 2011 16:38:29 +0000 (16:38 +0000)]
Modestly increase the maximum allowed size of the kmem map on i386.
Also, express this new maximum as a fraction of the kernel's address
space size rather than a constant so that increasing KVA_PAGES will
automatically increase this maximum.  As a side-effect of this change,
kern.maxvnodes will automatically increase by a proportional amount.

While I'm here ensure that this change doesn't result in an unintended
increase in maxpipekva on i386.  Calculate maxpipekva based upon the
size of the kernel address space and the amount of physical memory
instead of the size of the kmem map.  The memory backing pipes is not
allocated from the kmem map.  It is allocated from its own submap of
the kernel map.  In short, it has no real connection to the kmem map.
(In fact, the commit messages for the maxpipekva auto-sizing talk
about using the kernel map size, cf. r117325 and r117391, even though
the implementation actually used the kmem map size.)  Although the
calculation is now done differently, the resulting value for
maxpipekva should remain almost the same on i386.  However, on amd64,
the value will be reduced by 2/3.  This is intentional.  The recent
change to VM_KMEM_SIZE_SCALE on amd64 for the benefit of ZFS also had
the unnecessary side-effect of increasing maxpipekva.  This change is
effectively restoring maxpipekva on amd64 to its prior value.

Eliminate init_param3() since it is no longer used.

13 years agoAdd support for memstick generation on PowerPC. This is a little suboptimal
nwhitehorn [Wed, 23 Mar 2011 16:22:08 +0000 (16:22 +0000)]
Add support for memstick generation on PowerPC. This is a little suboptimal
since glabel doesn't know about APM partitioning yet, but works well enough.

13 years agoUpdate a comment. The kernel stopped using the S* process state constants
jhb [Wed, 23 Mar 2011 13:46:17 +0000 (13:46 +0000)]
Update a comment.  The kernel stopped using the S* process state constants
a long time ago.

13 years agoSmall style fix.
jhb [Wed, 23 Mar 2011 13:44:32 +0000 (13:44 +0000)]
Small style fix.

13 years agoFix SYNOPSIS.
glebius [Wed, 23 Mar 2011 13:44:09 +0000 (13:44 +0000)]
Fix SYNOPSIS.

13 years agoMark any distfiles with no checksum entries in the manifest "Skipped"
nwhitehorn [Wed, 23 Mar 2011 13:43:56 +0000 (13:43 +0000)]
Mark any distfiles with no checksum entries in the manifest "Skipped"
instead of "Passed".

13 years agoDo a sweep of the tree replacing calls to pci_find_extcap() with calls to
jhb [Wed, 23 Mar 2011 13:10:15 +0000 (13:10 +0000)]
Do a sweep of the tree replacing calls to pci_find_extcap() with calls to
pci_find_cap() instead.

13 years agoOops, fix badness i must've introduced earlier.
adrian [Wed, 23 Mar 2011 11:16:06 +0000 (11:16 +0000)]
Oops, fix badness i must've introduced earlier.

13 years agoDon't create socketpair for connection forwarding between parent and secondary.
pjd [Wed, 23 Mar 2011 11:09:04 +0000 (11:09 +0000)]
Don't create socketpair for connection forwarding between parent and secondary.
Secondary doesn't need to connect anywhere.

MFC after: 1 week

13 years agoAdd support for displaying newfs flags for SU+J and TRIM.
jmallett [Wed, 23 Mar 2011 08:33:12 +0000 (08:33 +0000)]
Add support for displaying newfs flags for SU+J and TRIM.

13 years ago - Move ofed modules into the i386 and amd64 specific sections to fix
jeff [Wed, 23 Mar 2011 08:27:57 +0000 (08:27 +0000)]
 - Move ofed modules into the i386 and amd64 specific sections to fix
   universe on other architectures.

13 years agoAdd retry code analogous to the block allocation retry code
mckusick [Wed, 23 Mar 2011 05:13:54 +0000 (05:13 +0000)]
Add retry code analogous to the block allocation retry code
to avoid running out of inodes.

Reported by: Peter Holm

13 years agoThe AR5416+ chips all have MIB counters (which the AR5416 ANI code assumes)
adrian [Wed, 23 Mar 2011 03:58:55 +0000 (03:58 +0000)]
The AR5416+ chips all have MIB counters (which the AR5416 ANI code assumes)
so there's no need to enable the RX of invalid frames just to do ANI.

The if_ath code and AR5212 ANI code setup the RX filter bits to enable
receiving OFDM/CCK errors if the device doesn't have the hardware
MIB counters. It isn't initialising it for the AR5416+ because all of
those chips have hardware MIB counters.

This fixes the odd (and performance affecting!) situation where if ani
is enabled (via sysctl dev.ath.X.intmit) then suddenly there's be a very
large volume of phy errors - which is good to track, but not what was
intended. Since each PHY error is a received (0 length) frame, it can
significantly tie up the RX side of things.

13 years ago - Correct the vlan filter programming. The device filter is built in
jeff [Wed, 23 Mar 2011 02:47:04 +0000 (02:47 +0000)]
 - Correct the vlan filter programming.  The device filter is built in
   reverse order.
 - Name the cq taskqueues according to whether they handle rx or tx.
 - Default LRO to on.

13 years agoAllow setting of parameters for file systems (e.g. softupdates), turn on
nwhitehorn [Wed, 23 Mar 2011 01:26:21 +0000 (01:26 +0000)]
Allow setting of parameters for file systems (e.g. softupdates), turn on
SUJ by default, and allow creation and mounting of FAT filesystems from
the installer.

13 years agoEnable setting the MCS rate bit for ast_tx_rate.
adrian [Tue, 22 Mar 2011 22:59:09 +0000 (22:59 +0000)]
Enable setting the MCS rate bit for ast_tx_rate.

This allows ath_stats to print the MCS rate when TX'ing.

13 years agoAdd my copyright.
pjd [Tue, 22 Mar 2011 21:19:51 +0000 (21:19 +0000)]
Add my copyright.

MFC after: 1 week

13 years agoForgot to commit this as part of r219873.
pjd [Tue, 22 Mar 2011 21:11:36 +0000 (21:11 +0000)]
Forgot to commit this as part of r219873.

MFC after: 1 week

13 years agoFix an error while constructing the table that maps context id -> egress
np [Tue, 22 Mar 2011 21:05:56 +0000 (21:05 +0000)]
Fix an error while constructing the table that maps context id -> egress
queue.

MFC after: 1 day

13 years agoAfter synchronization is complete we should make primary counters be
trociny [Tue, 22 Mar 2011 20:27:26 +0000 (20:27 +0000)]
After synchronization is complete we should make primary counters be
equal to secondary counters:

  primary_localcnt = secondary_remotecnt
  primary_remotecnt = secondary_localcnt

Previously it was done wrong and split-brain was observed after
primary had synchronized up-to-date data from secondary.

Approved by: pjd (mentor)
MFC after: 1 week

13 years agoMake UFS use PSARC/2010/029 NFSv4 ACL semantics by default, bringing
trasz [Tue, 22 Mar 2011 19:52:29 +0000 (19:52 +0000)]
Make UFS use PSARC/2010/029 NFSv4 ACL semantics by default, bringing
it in line with ZFSv28.

X-MFC-After: ZFSv28.

13 years agoFor requests that are sent only to remote component use the
trociny [Tue, 22 Mar 2011 19:49:27 +0000 (19:49 +0000)]
For requests that are sent only to remote component use the
error from remote.
Approved by: pjd (mentor)
MFC after: 1 week

13 years agoMove the code around so that libc behaviour does not depend on a variable
trasz [Tue, 22 Mar 2011 17:44:07 +0000 (17:44 +0000)]
Move the code around so that libc behaviour does not depend on a variable
that was supposed to be kernel-only.  There should be no functional changes.

13 years agoAdd test for acl_is_trivial_np(3).
trasz [Tue, 22 Mar 2011 17:26:56 +0000 (17:26 +0000)]
Add test for acl_is_trivial_np(3).

13 years agoChange the load address from offset 0 in region 1 to offset 4G in region 0.
marcel [Tue, 22 Mar 2011 17:19:35 +0000 (17:19 +0000)]
Change the load address from offset 0 in region 1 to offset 4G in region 0.
This (almost) gives us the address space back (at the bottom) that we lost
at the top.

Region 0 has traditionally been reserved for IA-32 emulation, which has not
been of great interest. By starting 64-bit processes at the 4G boundary we
at least preserve some of the advantages:
1.  Any invalid pointer cast (from int to pointer and back) will still
    always fail and not only when more than 4GB of memory is in use.
2.  Memory sharing between 64-bit and 32-bit processes is still possibly
    by using addresses < 4G.

13 years agoBranch from contrib/binutils/ld/emulparams/elf64_ia64_fbsd.s so that
marcel [Tue, 22 Mar 2011 17:02:33 +0000 (17:02 +0000)]
Branch from contrib/binutils/ld/emulparams/elf64_ia64_fbsd.s so that
we can modify it.

13 years agoThe proto API is a general purpose API, so don't use 'hast' in structures or
pjd [Tue, 22 Mar 2011 16:21:11 +0000 (16:21 +0000)]
The proto API is a general purpose API, so don't use 'hast' in structures or
function names. It can now be used outside of HAST.

MFC after: 1 week

13 years agoClean up setting the short preamble bit in the rate - this way it
adrian [Tue, 22 Mar 2011 13:39:00 +0000 (13:39 +0000)]
Clean up setting the short preamble bit in the rate - this way it
is very obvious (and cleanly so) that it occurs for non-11n rates.

13 years agoFlip this over to be a configurable option for people who wish to play with it.
adrian [Tue, 22 Mar 2011 13:35:56 +0000 (13:35 +0000)]
Flip this over to be a configurable option for people who wish to play with it.

It's still not ready for prime-time - there's some TX niggles with these 11n
cards that I'm still trying to wrap my head around, and AMPDU-TX is just not
implemented so things will come to a crashing halt if you're not careful.

13 years agoThis isn't actually needed any longer, A-MPDU frames work fine if only tagged for...
adrian [Tue, 22 Mar 2011 13:20:11 +0000 (13:20 +0000)]
This isn't actually needed any longer, A-MPDU frames work fine if only tagged for 11n nodes.

13 years agoRename pci_find_extcap() to pci_find_cap(). PCI now uses the term
jhb [Tue, 22 Mar 2011 12:05:49 +0000 (12:05 +0000)]
Rename pci_find_extcap() to pci_find_cap().  PCI now uses the term
"extended capabilities" to refer to the new set of capability structures
starting at offset 0x100 in config space for PCI-express devices.  For now
both function names will still work.  I will merge this to older branches
to ease driver portability, but 9.0 will ship with a new pci_find_extcap()
function that locates extended capabilities instead.

Reviewed by: imp
MFC after: 1 week

13 years agoWhite space cleanups.
pjd [Tue, 22 Mar 2011 10:39:34 +0000 (10:39 +0000)]
White space cleanups.

MFC after: 1 week

13 years agoBring over an XPA (external power amplifer) bias fix for the AR9160.
adrian [Tue, 22 Mar 2011 10:29:36 +0000 (10:29 +0000)]
Bring over an XPA (external power amplifer) bias fix for the AR9160.

This fix modifies the const addac initval array, rather than modifying
a local copy. It means that running >1 AR9160 on a board may prove to
be unpredictable.

The AR5416 init path also does something similar, so supporting
>1 AR5416 of different revisions could cause problems.

The later fix will be to create a private copy of the Addac data
for the AR5416, AR9160 (and AR9100 when it's merged in) and then
modify that as needed.

Obtained From: Linux ath9k

13 years agoFix OFDM ANI statistics gathering for the AR5416 and later chips.
adrian [Tue, 22 Mar 2011 07:19:49 +0000 (07:19 +0000)]
Fix OFDM ANI statistics gathering for the AR5416 and later chips.

I found this when trying to figure out why the RX PHY error count
didn't match the OFDM error count ANI was using. It turns out
there was two problems:

* What this commit addresses - using the wrong mask for OFDM errors,
  and
* The RX filter is set incorrectly after a channel scan (at least)
  even if interference mitigation is enabled by default.

ANI is still disabled by default for the AR5416 and later chips.

13 years agoSet the "right" CCA register.
adrian [Tue, 22 Mar 2011 05:47:48 +0000 (05:47 +0000)]
Set the "right" CCA register.

Obtained From: ath9k

13 years ago - Don't use a separate set of rx queues for UDP, hash them into the same
jeff [Tue, 22 Mar 2011 04:50:47 +0000 (04:50 +0000)]
 - Don't use a separate set of rx queues for UDP, hash them into the same
   set as TCP.
 - Eliminate the fully linear non-scatter/gather rx path, there is no
   harm in using arrays of clusters for both TCP and UDP.
 - Implement support for enabling/disabling per-vlan priority pause and
   queues via sysctl.

13 years agoGive better URL to the list of available CVSup mirrors.
glebius [Tue, 22 Mar 2011 04:31:35 +0000 (04:31 +0000)]
Give better URL to the list of available CVSup mirrors.

13 years agoUpdate release(7) and build(7) to reflect new release infrastructure for
nwhitehorn [Tue, 22 Mar 2011 01:21:51 +0000 (01:21 +0000)]
Update release(7) and build(7) to reflect new release infrastructure for
the new installer.

13 years agoUse labels to find release media instead of hard-coded device paths. This
nwhitehorn [Tue, 22 Mar 2011 01:14:53 +0000 (01:14 +0000)]
Use labels to find release media instead of hard-coded device paths. This
makes booting more reliable (and working at all on USB sticks). While here,
move responsibility for setting up fstab into the various platform mk-*.sh
scripts.

Suggested by: many

13 years agoBreak out the RF mode setup into ar5416SetRfMode(), mirroring what ath9k does.
adrian [Tue, 22 Mar 2011 00:52:44 +0000 (00:52 +0000)]
Break out the RF mode setup into ar5416SetRfMode(), mirroring what ath9k does.

13 years agoDo a bit of spring cleaning in the board setup code, just to
adrian [Tue, 22 Mar 2011 00:43:58 +0000 (00:43 +0000)]
Do a bit of spring cleaning in the board setup code, just to
bring it in line with the rest of the register initialisation.

I've verified that the 2/5ghz board values written to the
chip match what was previously written.

13 years agoBring over a few queue changes from ath9k:
adrian [Tue, 22 Mar 2011 00:14:17 +0000 (00:14 +0000)]
Bring over a few queue changes from ath9k:

* add pspoll/uapsd queue setup defaults;
* enable the exponential backoff window rather than the random
  backoff window when doing TX contention management.

13 years agoEven though it's very unlikely the misc mode register setting at -attach-
adrian [Tue, 22 Mar 2011 00:12:26 +0000 (00:12 +0000)]
Even though it's very unlikely the misc mode register setting at -attach-
would be a problem, make sure it isn't overwritten by whatever is in
there at cold reset.

This brings the > ar5416 init path treatment of AR_MISC_MODE.

13 years agoRemove the merlin delay workaround here, it isn't appropriate for
adrian [Tue, 22 Mar 2011 00:11:04 +0000 (00:11 +0000)]
Remove the merlin delay workaround here, it isn't appropriate for
the analog bank writes as Merlin never does them.

13 years agos/buffer/buf as is used in the code.
gjb [Mon, 21 Mar 2011 23:59:20 +0000 (23:59 +0000)]
s/buffer/buf as is used in the code.

Submitted by: arundel (via doc@)
MFC after: 3 days

13 years ago - For now, disable ofed module build unless MK_OFED is set.
jeff [Mon, 21 Mar 2011 21:35:19 +0000 (21:35 +0000)]
 - For now, disable ofed module build unless MK_OFED is set.

13 years ago- Do not output the trailing newline to the HID
hselasky [Mon, 21 Mar 2011 21:34:12 +0000 (21:34 +0000)]
- Do not output the trailing newline to the HID
  report descriptor information, sysctl utility
  will show it for us.
- Modify sysctl node description to make it more
  understanable.

Found by: Alexander Best <arundel@freebsd.org>
Submitted by: Eygene Ryabinkin <rea@freebsd.org>
MFC after: 14 days
Approved by: thompsa (mentor)

13 years agoWhen dropping privileges prefer capsicum over chroot+setgid+setuid.
pjd [Mon, 21 Mar 2011 21:31:50 +0000 (21:31 +0000)]
When dropping privileges prefer capsicum over chroot+setgid+setuid.
We can use capsicum for secondary worker processes and hastctl.
When working as primary we drop privileges using chroot+setgid+setuid
still as we need to send ioctl(2)s to ggate device, for which capsicum
doesn't allow (yet).

X-MFC after: capsicum is merged to stable/8

13 years agoAllow the ofed modules to be compiled on i386.
kib [Mon, 21 Mar 2011 21:16:40 +0000 (21:16 +0000)]
Allow the ofed modules to be compiled on i386.

Reviewed by: jeff

13 years ago- Bugfix: Fix a EHCI hardware race, where the hardware computed data toggle
hselasky [Mon, 21 Mar 2011 21:16:25 +0000 (21:16 +0000)]
- Bugfix: Fix a EHCI hardware race, where the hardware computed data toggle
value is updated after that we read it in the queue-head. This patch can
fix problems with BULK timeouts. The issue was found on a Nvidia chipset.

MFC after: 14 days
Approved by: thompsa (mentor)

13 years agoInitialize localcnt on first write. This fixes assertion when we create
pjd [Mon, 21 Mar 2011 21:16:12 +0000 (21:16 +0000)]
Initialize localcnt on first write. This fixes assertion when we create
resource, set role to primary, do no writes, then sent it to secondary
and accept connection from primary.

MFC after: 1 week

13 years agoFix typo.
pjd [Mon, 21 Mar 2011 21:14:07 +0000 (21:14 +0000)]
Fix typo.

MFC after: 1 week

13 years agoFix switching to physical mode as part of calling into EFI runtime
marcel [Mon, 21 Mar 2011 18:20:53 +0000 (18:20 +0000)]
Fix switching to physical mode as part of calling into EFI runtime
services or PAL procedures. The new implementation is based on
specific functions that are known to be called in certain scenarios
only. This in particular fixes the PAL call to obtain information
about translation registers. In general, the new implementation does
not bank on virtual addresses being direct-mapped and will work when
the kernel uses PBVM.

When new scenarios need to be supported, new functions are added if
the existing functions cannot be changed to handle the new scenario.
If a single generic implementation is possible, it will become clear
in due time.

While here, change bootinfo to a pointer type in anticipation of
future development.

13 years agoBack that commit out - something's broken, and I need to figure out
adrian [Mon, 21 Mar 2011 17:44:52 +0000 (17:44 +0000)]
Back that commit out - something's broken, and I need to figure out
what/why.

13 years agoThis CLKDRV workaround should only be for AR5416 v2.0/2.1;
adrian [Mon, 21 Mar 2011 17:12:03 +0000 (17:12 +0000)]
This CLKDRV workaround should only be for AR5416 v2.0/2.1;
the check was too strict and enabled it for all non AR5416-v2.2
chipsets - including later ones.

13 years agoBefore handling any events on descriptors check signals so we can update
pjd [Mon, 21 Mar 2011 15:29:20 +0000 (15:29 +0000)]
Before handling any events on descriptors check signals so we can update
our info about worker processes if any of them was terminated in the meantime.

This fixes the problem with 'hastctl status' running from a hook called on
split-brain:
1. Secondary calls a hooks and terminates.
2. Hook asks for resource status via 'hastctl status'.
3. The main hastd handles the status request by sending it to the secondary
   worker who is already dead, but because signals weren't checked yet he
   doesn't know that and we get EPIPE.

MFC after: 1 week

13 years agoBump date from previous commit.
gjb [Mon, 21 Mar 2011 15:17:02 +0000 (15:17 +0000)]
Bump date from previous commit.

13 years agoRemove stale comment. Yes, it is valid to set role back to init.
pjd [Mon, 21 Mar 2011 15:08:10 +0000 (15:08 +0000)]
Remove stale comment. Yes, it is valid to set role back to init.

MFC after: 1 week

13 years agoIncrease debug level of "Checking hooks." message.
pjd [Mon, 21 Mar 2011 14:53:27 +0000 (14:53 +0000)]
Increase debug level of "Checking hooks." message.

MFC after: 1 week

13 years agoBe pedantic and free nvout before exiting.
pjd [Mon, 21 Mar 2011 14:51:16 +0000 (14:51 +0000)]
Be pedantic and free nvout before exiting.

MFC after: 1 week

13 years agoDetect situation where resource internal identifier differs.
pjd [Mon, 21 Mar 2011 14:50:12 +0000 (14:50 +0000)]
Detect situation where resource internal identifier differs.
This means that both nodes have separately managed resources that don't
have the same data.

MFC after: 1 week