60077 Commits

Author SHA1 Message Date
Jung-uk Kim
98935c581c Explicitly set v3 mode only when it is requested. Don't bother otherwise. 2006-08-11 19:16:50 +00:00
Pawel Jakub Dawidek
2bd4ade694 Before using byte offset for IV creation, covert it to little endian.
This way one will be able to use provider encrypted on eg. i386 on
eg. sparc64. This doesn't really buy us much today, because UFS isn't
endian agnostic.

We retain backward compatibility by setting G_ELI_FLAG_NATIVE_BYTE_ORDER
flag on devices with version number less than 2 and not converting the
offset.
2006-08-11 19:09:12 +00:00
Pawel Jakub Dawidek
d04c304ddf Forgot to bump version number after G_ELI_FLAG_READONLY flag addition. 2006-08-11 18:39:58 +00:00
Alan Cox
25017df472 Ensure that the page's new field for object-synchronized flags is always
initialized to zero.

Call vm_page_sleep_if_busy() instead of duplicating its implementation in
vm_page_grab().
2006-08-11 17:18:58 +00:00
Dag-Erling Smørgrav
819b32eea5 Raise the quality of the HPET timer to 2000 so it will be the preferred
choice on systems which support it.

No objection by:	phk
2006-08-11 17:12:16 +00:00
Yaroslav Tykhiy
f6e5e0ad77 Optionally pad outgoing frames to the minimum of 60 bytes (excl. FCS)
before tagging them.  This can help to work around brain-damage in some
switches that fail to pad a frame after untagging it if its length drops
below the minimum.  This option is blessed by IEEE Std 802.1Q (2003 Ed.),
paragraph C.4.4.3.b.  It's controlled by sysctl net.link.vlan.soft_pad.

Idea by:	az
MFC after:	1 week
2006-08-11 17:09:27 +00:00
Gleb Smirnoff
0d2a3b0c47 Merge in new driver from Intel, version 6.1.4. It adds support for
82571EB quad port copper NIC and has few minor fixes.

Details:
  - if_em.c. Merged manually, viewing diff between new vendor
    driver and previous one.
  - if_em_hw.c. Dropped in from vendor, and then restored
    revision 1.15.
2006-08-11 10:58:24 +00:00
Alexander Leidinger
50e422f056 Add some more errno mappings (bsd -> linux) and a comment about the status..
Submitted by:	"Intron" <mag@intron.ac>
2006-08-10 22:05:25 +00:00
Warner Losh
100d8ed79b MFp4: Integrate a boatload of bug fixes from p4. We're right on the
8k boundary with this program still.

   text    data     bss     dec     hex filename
   7925       4    4476   12405    3075 bootiic.out

so we have like 293 bytes left before we have to play games.  There
may be ways to reduce that somewhat, but they start to be very board
specific.
2006-08-10 19:55:52 +00:00
Warner Losh
8440b5885d MFp4:
Reach over into the arm tree to grab some at91 definitions.
Better warnings
Lots of build tweaks
2006-08-10 18:22:56 +00:00
Warner Losh
20311a8e46 MFp4: remove obsolete files 2006-08-10 18:19:45 +00:00
Warner Losh
87ad01e6e3 MFp4:
Remove obsolete files in list
	Add spi flash reading routines
2006-08-10 18:14:35 +00:00
Warner Losh
d4a46cca62 MFp4: Numerous changes from p4 to try to improve tftp downloading,
reduce code footprint, etc.  While some problems still remain, the
reliability of tftp is much improved.
2006-08-10 18:11:22 +00:00
Warner Losh
cabd3e547a MFp4: consolidate #include files down to lib.h 2006-08-10 18:07:49 +00:00
Warner Losh
592c5848a6 MFp4: These will migrate to the boot specific directories because they
are too hard to share between the different boot loaders.
2006-08-10 18:07:01 +00:00
Warner Losh
98de821987 MFp4: Make it clearer that the address passed to the eeprom routines is
really an offset within the eeprom device, and not a IIC address.
2006-08-10 18:03:50 +00:00
Warner Losh
7492b55513 MFp4: Catchup with migration of some defines. 2006-08-10 18:02:27 +00:00
Warner Losh
5c35a13adf MFp4: Tweaks for our board. 2006-08-10 17:59:22 +00:00
Warner Losh
b51b3172ba MFp4: Increase character timeout to 10. Make it a #define for easier
changes in the future.  This helps with getting started and to
overcome the really sucky level of granuality this timeout has in
getc.  A timeout of 1 means 'wait until top of next second' rather
than 'wait for at least a second'.
2006-08-10 17:54:51 +00:00
Sam Leffler
6bf62dd1de o add noise floor to stats
o include current tx rate in stats so athstats gets a consistent
  snapshot and doesn't have to make an extra ioctl
o record tx rate for raw frames

MFC after:	3 weeks
2006-08-10 16:31:37 +00:00
Bruno Ducrot
48411a171a Improve the way we'll detect video devices as per ACPI 3.0.
PR:		100271
Requested by:	john AT utzweb DOT net
Submitted by:	hrs
Reviewed by:	njl
Approved by:	njl
MFC after:	3 days
2006-08-10 13:18:02 +00:00
Gleb Smirnoff
f366efa96f Some perfectionizm against last revision.
Submitted by:	ru
2006-08-10 11:07:11 +00:00
Pawel Jakub Dawidek
04d9e255df getnewvnode() can be called with NULL mp.
Found by:	Coverity Prevent (tm)
Coverity ID:	1521
Confirmed by:	phk
2006-08-10 08:56:03 +00:00
Warner Losh
a1f26cebf0 Don't need to special case arm here anymore 2006-08-10 06:29:43 +00:00
Warner Losh
2e6c020cf2 Add a dummy makefile to keep build happy 2006-08-10 06:29:15 +00:00
Sam Leffler
d1c85dae69 More statistics fixups:
o change rssi to be signed in ieee80211_nodestats
o add noise floor in ieee80211_nodestats (use an implicit hole to
  preserve layout); return it as zero until we can update the api's
  so the driver can provide noise floor data
o add a bandaid so IEEE80211_IOC_STA_STATS works for sta mode; when
  all nodes are in the station table this will no longer be needed
o fix braino in IEEE80211_IOC_STA_INFO implementation; was supposed
  to take a mac address and return info for that sta or all stations
  if ff:ff:ff:ff:ff was supplied--but somehow this didn't get implemented;
  implement the intended semantics and leave a compat shim at the old
  ioctl number for the previous api

Reviewed by:	mlaier
MFC after:	3 weeks
2006-08-10 06:04:00 +00:00
Sam Leffler
06efa2f0eb minor fixups:
o add some missing stats to the global stat structure
o move accounting work for data frame rx into ieee80211_deliver_data
o add per-sta stats for rx ucast/mcast frames
o set rcvif in ieee80211_deliver_data so callers don't need to

MFC after:	2 weeks
2006-08-10 05:54:36 +00:00
Sam Leffler
b6e9b119a2 add per-sta ucast/mcast stats
MFC after:	1 week
2006-08-10 05:37:49 +00:00
Alan Cox
75db2abb2e Change vm_page_cowfault() so that it doesn't allocate a pre-busied page. 2006-08-10 04:48:29 +00:00
Warner Losh
ddebcb409b Eliminate one set of XBOX #ifdefs. The Xbox code just needs to set a
different TIMER_FREQ value than default.  Accomplish this via the
config file rather than via an #ifdef.
2006-08-09 23:47:38 +00:00
Warner Losh
f5190c1277 Minor style(9) nit. 2006-08-09 23:37:30 +00:00
Warner Losh
27e13f2b3e Hook into the watchdog device, if present. Also, turn off the
watchdog timer stuff when we boot because the boot blocks are turning
it on...
2006-08-09 20:58:55 +00:00
Marcel Moolenaar
f56b5a43dc Strengthen the check for a PMBR:
o PMBR partitions count to the number of partitions on the disk, which
  means that if a PMBR entry is invalid we will not treat the MBR as a
  PMBR by virtue of it not describing any partitions.
  Previously the checks were inconsistent in that an invalid PMBR entry
  would be harmless when no other partitions exist (we would treat the
  MBR as a PMBR by virtue of it being empty), but it would be fatal when
  there is at least one other partition.
o The partition size of a PMBR partition is one less than the media size
  because the GPT starts at the second sector (LBA 1) and extends to
  the end of the media. For backward bug-compatibility we accept a size
  that's exactly the media size (FreeBSD bug).
  Also, when the partition size can not be represented in a 32-bit
  integral, the partition size in the MBR is to be set to 0xFFFFFFFF.
  Accept this as a valid size, even if the size can be represented.
2006-08-09 20:53:01 +00:00
Prafulla Deuskar
c3b36c8f05 10/100 PHY shouldn't support gigabit media types.
Submitted by:	brad (brad@comstyle.com)
Obtained from:	OpenBSD
MFC after:	1 week
2006-08-09 20:10:35 +00:00
Warner Losh
c70759dcdd Add pc98 specific code to adjust the firmware geometry when it differs
from the actual geometry.  This enables support of disks larger than
~120GB on pc98 boxes.  They make great little network appliances.
I've been using these changes for the past year or so on my network
storage pc98 box :-).
2006-08-09 18:25:07 +00:00
Warner Losh
ab649fd4d2 Most platforms map the actual drive geometry to the firmware's notion
of geometry.  However, some platforms have a more complicated mapping
of the firmware values to the actual values.  pc98 is the only
platform that currently does this.  This mapping is necessary for
large disks connected to pc98 boxes, as the firmware labels require do
special hacks to the actual geometry for interoperability.  We cannot
do this all in the geom layer because of initialization issues (geom
looks for an already initialized pc98 label, but we need the geometry
information prior to initialization, classic chicken and egg problem).
We pass the disk and the device_t to this function because the
geometry mapping depends on what kind of controller is used.

This hook allows platforms that want to override things to do so, and
has 0 overhead on all other platforms.  These patches have been in use
locally for a long time, and received good feedback from the pc98
community and sos@ at various times during their development.

MFC After: 1 week
2006-08-09 18:23:47 +00:00
Pawel Jakub Dawidek
850590166f Allow geli to operate on read-only providers.
Initial patch from:	vd
MFC after:		2 weeks
2006-08-09 18:11:14 +00:00
Alan Cox
5786be7cc7 Introduce a field to struct vm_page for storing flags that are
synchronized by the lock on the object containing the page.

Transition PG_WANTED and PG_SWAPINPROG to use the new field,
eliminating the need for holding the page queues lock when setting
or clearing these flags.  Rename PG_WANTED and PG_SWAPINPROG to
VPO_WANTED and VPO_SWAPINPROG, respectively.

Eliminate the assertion that the page queues lock is held in
vm_page_io_finish().

Eliminate the acquisition and release of the page queues lock
around calls to vm_page_io_finish() in kern_sendfile() and
vfs_unbusy_pages().
2006-08-09 17:43:27 +00:00
Robert Watson
a359443290 Since bpf_allocbufs() uses malloc() with M_WAITOK, don't check return
values for NULL or return an error state.  Assert that all three bpf
buffer pointers are NULL before starting.

MFC after:	1 week
2006-08-09 16:30:26 +00:00
Pawel Jakub Dawidek
13c85d339d Add a bandaid to avoid a deadlock in a situation, when we are trying to suspend
a file system, but need to obtain a vnode. We may not be able to do it, because
all vnodes could be already in use and other processes cannot release them,
because they are waiting in "suspfs" state.

In such situation, we allow to allocate a vnode anyway.

This is a temporary fix - there is no backpressure to free vnodes allocated in
those circumstances.

MFC after:	1 week
Reviewed by:	tegge
2006-08-09 12:47:30 +00:00
Gleb Smirnoff
b1ba28df1d Fix ng_pppoe(4) after turning off "autosrc feature" on ng_ether(4).
- Store the Ethernet header in node softc.
- Initialize header with dst addr and ethertype in node
  constructor method.
- In node connect method send NGM_ETHER_GET_ENADDR message
  downwards.
- If received reply from ng_ether(4) store the src addr
  in softc.
- Add NGM_PPPOE_SETENDADDR message that allows user to
  override the address with whatever he/she wants.
2006-08-09 09:56:58 +00:00
Pawel Jakub Dawidek
de6f1c7c6c Not only a request from us can be passed to g_{mirror,raid3}_worker()
function, but also a request to us, in which case checking bio_cflags
is wrong, because the class above us is controling it, not we.

MFC after:	1 week
2006-08-09 09:41:53 +00:00
Brooks Davis
a36aa44a85 Add a new kernel environment variable "boot.netif.mtu" which is used to
set the MTU prior to mounting root via NFS.  This is required if the
server supports a higher than default MTU because the client will not
see the responses otherwise.

MFC after:	3 weeks
2006-08-09 01:56:17 +00:00
Warner Losh
9500ad1d7d Thomas Wintergerst reports that when this tsleep went away, certain
cards stopped working.  Specifically the AVM B1 PCMCIA Card no longer
detected.  Its CIS chain read back as all FF's.  Putting the delay
back solves those problems.  I've opted to put in a much shorter delay
because as far as I can tell, no delay is really needed here.  We'll
see how well this works in practice.
2006-08-09 00:05:54 +00:00
Marcel Moolenaar
d1a5c5275c Fix a phase-ordering bug: check the mediasize and sectorsize after
we obtained access. It is possible that GPT gets to taste a disk
first, which means the disk has not been opened before and it will
not get opened until after we checked the mediasize and sectorsize.
However, since the mediasize and sectorsize are determined at open
and that happens when access is optained, checking the mediasize
and sectorsize before obtaining access may result in GPT rejecting
the disk.
2006-08-08 21:33:26 +00:00
Olivier Houchard
49953e11d7 Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it maps
whole the physical memory, cached, using 1MB section mappings. This reduces
the address space available for user processes a bit, but given the amount of
memory a typical arm machine has, it is not (yet) a big issue.
It then provides a uma_small_alloc() that works as it does for architectures
which have a direct mapping.
2006-08-08 20:59:38 +00:00
Robert Watson
ae476dd78f Add kqueue support to if_tun. Loosely based on if_tap changes.
Two almost identical patches based on the if_tap work were submitted
via GNATS; I started out with the patch in 100796 from David Gilbert,
but could have easily started with the patch from Vilmos Nebehaj which
I found only later.

MFC after:	1 week
PR:		93976, 100796
2006-08-08 19:22:25 +00:00
Sam Leffler
05680ab622 check return value of ath_tx_dmasetup
Noticed by:	yongari
2006-08-08 16:42:01 +00:00
Konstantin Belousov
1565bf54af Lock the vnode around the call to VOP_GETATTR. Move the locked code
and vn_fullpath (that call malloc(..., M_WAITOK)) from under the
vm object lock, since sleep is not allowed while holding the mutex.

Being there, wrap VOP_GETATTR call with conditional Giant aquire.
Currently this is (almost) noop because pseudofs is Giant-locked.

Tested by:	kris
Approved by:	pjd (mentor)
MFC after:	2 weeks
2006-08-08 12:29:26 +00:00
Alan Cox
ab83ac429d Reduce the scope of the page queues lock in vfs_busy_pages() now that
vm_page_sleep_if_busy() no longer requires the caller to hold the page
queues lock.
2006-08-08 06:00:49 +00:00