170340 Commits

Author SHA1 Message Date
dchagin
bd20f71621 Slightly rewrite linux_fork:
1) Remove bogus error checking.
2) A new process exit from kernel through fork_trampoline(),
   so remove bogus check.
2011-02-12 20:16:25 +00:00
dchagin
9cf49ae032 Remove bogus include <machine/frame.h> 2011-02-12 19:14:57 +00:00
dchagin
9f708ad0aa Move linux_clone(), linux_fork(), linux_vfork() to a MI path. 2011-02-12 18:17:12 +00:00
dchagin
a999d3553b In preparation for moving linux_clone() to a MI path
introduce linux_set_upcall_kse().
2011-02-12 16:33:00 +00:00
dchagin
8b4a007006 In preparation for moving linux_clone () to a MI path
move the TLS code in a separate function.

Use function parameter instead of direct using register.
2011-02-12 15:50:21 +00:00
dchagin
8abe7e237a Regen for r218610. 2011-02-12 15:36:25 +00:00
dchagin
6803575cba The fourth argument of linux_clone is a pointer to the TLS. Change clone syscall definition to match actual linux one. 2011-02-12 15:33:25 +00:00
dchagin
1fac210451 Remove unused since r134586 thr_exit1() declaration. 2011-02-12 15:24:52 +00:00
mav
4df7e87e2c Restore DH89xxCC/Patsburg chip IDs accentally dropped at r218596. 2011-02-12 13:28:50 +00:00
kib
656df90df1 In checker, read journal by sectors.
Due to UFS insistence to pretend that device sector size is 512 bytes,
sector size is obtained from ioctl(DIOCGSECTORSIZE) for real devices,
and from the label otherwise. The file images without label have to
be made with 512 sector size.

In collaboration with:	pho
Reviewed by:	jeff
Tested by:	bz, pho
2011-02-12 13:17:14 +00:00
kib
4cc560baba When creating a directory entry for the journal, always read at least
the fragment, and write the full block. Reading less might not work
due to device sector size bigger then size of direntries in the
last directory fragment.

Reported by:	bz
In collaboration with:	pho
Reviewed by:	jeff
Tested by:	bz, pho
2011-02-12 13:12:45 +00:00
kib
c95c81bfad Use the native sector size of the device backing the UFS volume for SU+J
journal blocks, instead of hard coding 512 byte sector size. Journal need
to atomically write the block, that can only be guaranteed at the device
sector size, not larger. Attempt to write less then sector size results in
driver errors.

Note that this is the first structure in UFS that depends on the
sector size. Other elements are written in the units of fragments.

In collaboration with:	pho
Reviewed by:	jeff
Tested by:	bz, pho
2011-02-12 12:52:12 +00:00
kib
abc49a2c3b Replace ERROR() macro with inline function. In-tree gcc cannot tolerate
the construct like printf("%\s", NULL) resulting from macroexpand of
ERROR(u, NULL), making it impossible to use LIBUFS_DEBUGGING.

With inline function, compiler cannot detect the NULL argument to
known function and does not try to convert it into puts().

In collaboration with:	pho
2011-02-12 12:46:00 +00:00
mav
419b2b4687 Disable NCQ for multiport Marvell 88SX61XX SATA controllers. Simultaneous
active I/O to several disks (copying large file on ZFS) causes timeout after
just a few seconds of run. Single port 88SX6111 seems like not affected.

Skip reading transferred bytes count for these controllers. It works for
88SX6111, but 88SX6145 always returns zero there. Haven't tested others,
but better to be safe.
2011-02-12 07:06:40 +00:00
nyan
f7adb385d3 Fix build. 2011-02-12 06:22:23 +00:00
jmallett
dc1138bc7d The Lanner MR-730 uses the first two MACs at its MAC base for the 10/100
management ports, and gigabit ports start at an offset of 2 from the MAC
base.
2011-02-12 02:41:33 +00:00
adrian
8f9934fd6b The current code used the fields in ath_set11nratescenario() . Use them
correctly:

* pass in whether to allow the hardware to override the duration field
  in the main data frame (durupdate_en) - PS_POLL frames in particular
  don't have the duration bit overriden;
* there's no rts/cts duration here; that's done elsehwere
2011-02-12 02:14:19 +00:00
jmallett
77919e089a Use CPU_FOREACH rather than expecting CPUs 0 through mp_ncpus-1 to be present.
Don't micro-optimize the uniprocessor case; use the same loop there.

Submitted by:	Bhanu Prakash
Reviewed by:	kib, jhb
2011-02-12 02:10:08 +00:00
jmallett
43ee1f2df3 Allow the platform code to return a bitmask of running cores rather than just
a number of cores, this allows for a sparse set of CPUs.  Implement support
for sparse core masks on Octeon.

XXX jeff@ suggests that all_cpus should include cores that are offline or
    running other applications/OSes, so the platform API should be further
    extended to allow us to set all_cpus to include all cores that are
    physically-present as opposed to only those that are running FreeBSD.

Submitted by:	Bhanu Prakash (with modifications)
Reviewed by:	jchandra
Glanced at by:	kib, jeff, jhb
2011-02-12 02:08:24 +00:00
jkim
f74b693166 Merge ACPICA 20110211. 2011-02-12 01:03:15 +00:00
alc
060dcf42aa Retire VFS_BIO_DEBUG. Convert those checks that were still valid into
KASSERT()s and eliminate the rest.

Replace excessive printf()s and a panic() in bufdone_finish() with a
KASSERT() in vm_page_io_finish().

Reviewed by:	kib
2011-02-12 01:00:00 +00:00
jfv
5d74a0ea29 Fix the shared code to be consistent with Intel-internal,
and now build.
2011-02-12 00:07:40 +00:00
dougb
ad537faab0 Restore 2 prototypes that seem to have been mistakenly removed in r218582.
I've manually twiddled the whitespace for e1000_commit_fc_settings_generic
to match the others in the file.

Submitted by:	dim
Tested by:	me
2011-02-11 23:08:34 +00:00
jkim
6636ac3533 Import ACPICA 20110211. 2011-02-11 22:56:14 +00:00
jmallett
96da23f472 With smp_topo_none, set cg_mask to all_cpus rather than setting the mp_ncpus
low bits.

Submitted by:	Bhanu Prakash
Reviewed by:	jeffr
2011-02-11 22:43:10 +00:00
jfv
a2a1f19028 Somehow the RX ring depletion fix got partially removed,
replace the missing pieces.
2011-02-11 19:49:07 +00:00
jfv
012ede3a73 Revert changes made here, they will cause a conflict
later on with our shared code.
2011-02-11 19:03:00 +00:00
jfv
a4f4d263c1 Inconsistencies in the updated igb shared code and the older
em/lem, breaking the build, correcting that.
2011-02-11 17:18:42 +00:00
mm
3d28f79783 Add release notes for xz update to 5.0.0. 2011-02-11 14:55:17 +00:00
bz
1289b7e264 Mfp4 CH=177255:
Resort the CURVNET_SET* macros in the non-VNET_DEBUG case to match
  the call order of the VNET_DEBUG case.

  Add the VNET_ASSERT() to the non-VNET_DEBUG case as well so that
  INVARIANTS will still catch problems.

  Sponsored by: The FreeBSD Foundation
  Sponsored by: CK Software GmbH
  Reviewed by:  jhb

MFC after:	2 weeks
2011-02-11 14:17:58 +00:00
adrian
cdb2fb57b7 .. how'd this compile before I commit it and then not now?
Fixed.
2011-02-11 14:07:27 +00:00
bz
aad842be85 Mfp4 CH=177255:
Make VNET_ASSERT() available with either VNET_DEBUG or INVARIANTS.

  Change the syntax to match KASSERT() to allow more flexible panic
  messages rather than having a printf with hardcoded arguments
  before panic.

  Adjust the few assertions we have to the new format (and enhance
  the output).

  Sponsored by: The FreeBSD Foundation
  Sponsored by: CK Software GmbH
  Reviewed by:	jhb

MFC after:	2 weeks
2011-02-11 13:27:00 +00:00
nyan
a893333629 Add support to write boot menu. 2011-02-11 13:18:00 +00:00
nyan
a4ec536f4b Add the pc98boot image which concatenates boot0 and boot0.5.
It's required by the gpart to write bootcode.
2011-02-11 13:14:17 +00:00
adrian
6866468085 The last parameter to ath_computedur_ht() is short-GI, not short-preamble. 2011-02-11 13:05:15 +00:00
bz
3bac00c1ca Mfp4 CH=177255:
Use __func__ rather than __FUNCTION__.

MFC after:	2 weeks
2011-02-11 12:56:05 +00:00
kib
ccf9967338 For UIO_NOCOPY case of reading request on zfs vnode, which has vm object
attached, activate the page after the successful read, and free the page
if read was unsuccessfull.

Freshly allocated page is not on any queue yet, and not activating (or
deactivating) the page leaves it on no queue, excluding the page from
pagedaemon scans and making the memory disappeared until the vnode
reclaimed.

Reviewed by:	avg
MFC after:	1 week
2011-02-11 10:46:15 +00:00
bz
f7bc6ac842 After r218530 export several functions which are no longer private to
e1000_mac.c but part of the e1000_api.

X-MFC with: 218530 by jfv
2011-02-11 09:58:38 +00:00
lstewart
f7710268a2 Add an example Khelp module, which will be referenced in the forthcoming Khelp
documentation.

Sponsored by:	FreeBSD Foundation
Discussed with:	David Hayes <dahayes at swin edu au>
MFC after:	5 weeks
X-MFC with:	r216615
2011-02-11 07:26:17 +00:00
imp
febdd2ffbc Generate MACHINE= and MACHINE_ARCH= lines based on the machine
directive.  Once this is MFC'd, we can move these out of the template
files where they are (incosnsitently) defined.

MFC after:	1 week
2011-02-11 06:35:53 +00:00
imp
a3b3e248db whitespace nit. 2011-02-11 05:50:28 +00:00
dougb
05202850ff Synthesize the change from NetBSD's 1.33:
"Do not crash if a date cannot be represented (localtime returning
NULL), use the Epoch value instead."

Obtained from:  njoly@NetBSD.org
2011-02-11 05:33:35 +00:00
imp
9d26fecad6 Hmmm, specifying TARGET and TARGET_ARCH in the environment doesn't
seem to work when building xdev anymore (most likely my changes lately
moving the TARGET guessing stuff to Makefile from Makefile.inc1, but I
really don't grok why).  Fix make xdev by putting them on the command
line.  This will work either way while I try to figure it out.
2011-02-11 04:03:39 +00:00
imp
a5adf9c2c6 CPUTYPE is now a required define for calling Makefile.inc1 diretly, so
make sure we define it for the xdev stuff.

Move xdev stuff to be last again in this file.

# xdev-build works now, but xdev-install appears to be broken though.
2011-02-11 02:37:47 +00:00
imp
dcd87e72a9 Revert last commit: CPUTYPE will be defined here 2011-02-11 02:34:26 +00:00
imp
290cb0908c Don't require CPUTYPE to be defined for ARM, but use it if it is. 2011-02-11 02:24:04 +00:00
jfv
869db2f9c7 Add support for the new I350 family of 1G interfaces.
- this also includes virtualization support on these devices

Correct some vlan issues we were seeing in test, jumbo frames on vlans
did not work correctly, this was all due to confused logic around HW
filters, the new code should now work for all uses.

Important fix: when mbuf resources are depeleted, it was possible to
completely empty the RX ring, and then the RX engine would stall
forever. This is fixed by a flag being set whenever the refresh code
fails due to an mbuf shortage, also the local timer now makes sure
that all queues get an interrupt when it runs, the interrupt code
will then always call rxeof, and in that routine the first thing done
is now to check the refresh flag and call refresh_mbufs. This has been
verified to fix this type 'hang'. Similar code will follow in the other
drivers.

Finally, sync up shared code for the I350 support.

Thanks to everyone that has been reporting issues, and helping in the
debug/test process!!
2011-02-11 01:00:26 +00:00
davidch
9bbe414a1e - Updated firmware which improves small packet performance.
MFC after:	2 weeks
2011-02-11 00:41:49 +00:00
imp
32d5960531 Add 'generic' flash images. This is for projects producing generic
images that are of a certain size.  The geometery is bogus, but that
doesn't matter since the new packet mode onviates the need to get the
geometry right.
2011-02-10 23:36:39 +00:00
davidch
6bdddc88cd - Added error checking to nvram read functions.
- Minor style updates.

Submitted by:	gcooper@freebsd.org
MFC after:	2 weeks
2011-02-10 22:36:23 +00:00