Commit Graph

74494 Commits

Author SHA1 Message Date
Marius Strobl
b4aa1acbfb MFC: r200482, r200485
o Properly support M5229 revision 0xc7 and 0xc8:
  - These revisions no longer have cable detection capability.
  - The UDMA support bit of register 0x4b has been dropped without an
    replacement.
  - According to Linux it's crucial for working ATAPI DMA support to
    also set the reserved bit 1 of regsiter 0x53 with these revisions.
o Only set ATA_CHECKS_CABLE for chip versions that actually support
  cable detection, i.e. neither for ALI_OLD nor for ALI_NEW revisions
  >= 0xc7.
2009-12-20 01:44:47 +00:00
Marius Strobl
3759df8ec6 MFC: r200481
Specify the capability and media bits of the capabilities page in
native, i.e. big-endian, format and convert as appropriate like we
also do with the multibyte fields of the other pages. This fixes
the output of acd_describe() to match reality on big-endian machines
without breaking it on little-endian ones. While at it, also convert
the remaining multibyte fields of the pages read although they are
currently unused for consistency and in order to prevent possible
similar bugs in the future.
2009-12-20 01:38:01 +00:00
Konstantin Belousov
fb70e2f700 MFC r199355:
Add SI_KERNEL.

MFC r199418:
Fix pgsignal() call after signature change in r199355.
2009-12-19 12:06:12 +00:00
Konstantin Belousov
0ae9845d9b Regen 2009-12-19 11:50:04 +00:00
Konstantin Belousov
7e76751181 MFC r198508, r198509:
Reimplement pselect() in kernel, making change of sigmask and sleep atomic.

MFC r198538:
Move pselect(3) man page to section 2.
2009-12-19 11:47:00 +00:00
Konstantin Belousov
43ba78037b MFC r198507:
Use kern_sigprocmask() instead of direct manipulation of td_sigmask to
reschedule newly blocked signals.

MFC r198590:
Trapsignal() calls kern_sigprocmask() when delivering catched signal
with proc lock held.

MFC r198670:
For trapsignal() and postsig(), kern_sigprocmask() is called with
both process lock and curproc->p_sigacts->ps_mtx locked. Prevent lock
recursion on ps_mtx in reschedule_signals().
2009-12-19 11:31:28 +00:00
Konstantin Belousov
3134e1153f MFC r198506:
In kern_sigsuspend(), manipulate thread signal mask using
kern_sigprocmask(). Also, do cursig/postsig loop immediately after
waiting for signal, repeating the wait if wakeup was spurious due to
race with other thread fetching signal from the process queue before us.

MFC r199136:
Use cpu_set_syscall_retval(9) to set syscall result, and return
EJUSTRETURN from kern_sigsuspend() to prevent syscall return code from
modifying wrong frame.
Take care of possibility that pending SIGCONT might be cancelled by
SIGSTOP, causing postsig() not to deliver any catched signal.
2009-12-19 11:13:59 +00:00
Andriy Gapon
4f1d01f565 MFC r200053,200091: ichsmb: drop default attachment to generic smbus hw
Note that r200091 completely overrides r200053 and the merge of the
former is recorded for bookkeeping only.
r200091 won't be merged to 'more stable' branche(s) because of the POLA.
2009-12-19 11:05:42 +00:00
Konstantin Belousov
6ddf1cd240 MFC r197963:
Put process-directed signals to the process queue unconditionally,
selecting the thread to deliver the signal only by the thread returning
to usermode.
Change cursig() and postsig() to look both into the thread and process
signal queues.

MFC r197976:
Fix typo.

MFC r200082:
Remove wrong assertion. Debugee is allowed to lose a signal
2009-12-19 10:54:29 +00:00
Andriy Gapon
416d0d62ae MFC r200602: ichsmb: add another pci id 2009-12-19 10:52:32 +00:00
Andriy Gapon
176c4e5508 MFC r200064: mca: small enhancements related to cpu quirks 2009-12-19 10:44:26 +00:00
Andriy Gapon
c9ac7946d7 MFC r200033: mca: improve status checking, recording and reporting 2009-12-19 10:38:28 +00:00
Konstantin Belousov
39fb869679 MFC r200444:
For ia32 syscall(), call cpu_set_syscall_retval().
2009-12-19 10:28:24 +00:00
Yoshihiro Takahashi
a3ff6f1def MFC: r200254
MFi386: Use real mode instead of v86 mode.
2009-12-19 04:43:25 +00:00
Yoshihiro Takahashi
abe32331b6 MFC: r200253 and r200255
Reduce diffs against i386.
2009-12-19 04:25:19 +00:00
John Baldwin
823e5012b0 MFC 200357:
Don't warn about an RSDP with a corrupt checksum.  The kernel does a better
job about warning about these things later and this message can be
confusing.
2009-12-18 22:23:27 +00:00
John Baldwin
f70478c04d MFC 200310:
Fix a confusing typo in the EDD packet structure used in gptboot and
gptzfsboot.  I got the segment and offset fields reversed in the structure,
but I also succeeded in crossing the assignments so the actual EDD packet
ended up correct.
2009-12-18 21:21:14 +00:00
John Baldwin
5e05dbe9bd MFC 200309:
- Port bios_getmem() from libi386 to {gpt,}zfsboot() and use it to
  safely allocate a heap region above 1MB.  This enables {gpt,}zfsboot()
  to allocate much larger buffers than before.
- Use a larger buffer (1MB instead of 128K) for temporary ZFS buffers.  This
  allows more reliable reading of compressed files in a raidz/raidz2 pool.
2009-12-18 21:01:56 +00:00
John Baldwin
5f0cb0c9cd MFC 200216,200219:
- Various small whitespace and style fixes.
- Improve the algorithm the loader uses to choose a memory range for its
  heap when using a range above 1MB.
2009-12-18 20:28:04 +00:00
John Baldwin
f6007c0081 MFC 200084:
Properly return an error reply if an NFS remove or link operation fails.
Previously the failing operation would allocate an mbuf and construct an
error reply, but because the function did not return 0, the NFS server
assumed it had failed to generate a reply and would leak the reply mbuf as
well as not sending the reply to the NFS client.
2009-12-18 19:43:44 +00:00
John Baldwin
5fe2bb8a58 MFC 200037:
ndis_scan_results() can sleep if the scan results are not ready when
ndis_scan() is called.  However, ndis_scan() is invoked from softclock()
and cannot sleep.  Move ndis_scan_results() to the ndis driver's scan_end
hook instead.
2009-12-18 18:30:49 +00:00
Konstantin Belousov
1eea4693c3 MFC r199829:
Implement rtld part of the support for -z nodlopen (see ld(1)).

MFC r199877:
Allow to load not-openable dso when tracing. This fixes ldd on such dso or
dso linked to non-openable object.
Remove '\n' at the end of error message.
End comments with dot.
2009-12-17 19:53:16 +00:00
Ivan Voras
2f3d68cd09 MFC r199764: Make ULE process usage (%CPU) accounting usable again
Approved by:	gnn (mentor) (implicitly)
2009-12-16 21:48:27 +00:00
Marius Strobl
23c703cfc8 MFC: r200459
Unbreak the ata_atapi() usage. Since r200171 (MFC'ed in r200432) the
mode setting functions get a ata_device type device passed instead of
a ata_channel one, thus ata_atapi() has to be adjusted accordingly.

Reviewed by:	mav
2009-12-16 18:39:32 +00:00
Alexander Motin
2750344277 MFC r200607:
Large I/Os on Promise controllers reported to cause UDMA ICRC errors and
subsequent timeouts. Restore previous limit for now, at least until
I will have hardware to experiment.

PR:             kern/141438
2009-12-16 17:48:26 +00:00
Marius Strobl
b7fc89b74b MFC: r200272
Add additional checks of the kernel stack addresses in order to
ensure we don't overrun the beginning of the call chain.
2009-12-15 20:00:34 +00:00
Stanislav Sedov
8e11fcdb91 MFC r198318:
- On entrance to the rx_eof sync RX rings maps with POSTWRITE flag
    instead of POSTREAD: the hardware do not touch this memory (CPU
    updates it).  It is already synchronized as PREWRITE after the
    processing is done.
2009-12-15 10:16:57 +00:00
Stanislav Sedov
abc1e8de6c - MFC r197832, r197834, r197837:
- Add support for new BGE chips (5761, 5784 and 57780).  These chips uses new
    BGE_PCI_PRODID_ASICREV register to store the chip identifier and its revision.
  - Add new grouping macro for 7575+ chips (BGE_IS_5755_PLUS).
  - Add IDs for Fujitsu-branded Broadcom adapters.
2009-12-15 10:00:00 +00:00
Luigi Rizzo
b16d0f5d50 MFC: expose only bio_cmd and bio_flags values to userland 2009-12-15 07:32:08 +00:00
Xin LI
205c44d9cd MFC r200287:
Allow using IPv6 in nfsrvd_sentcache() callback.

PR:		kern/141289
Submitted by:	Petr Lampa <lampa fit vutbr cz>
2009-12-15 01:14:33 +00:00
Marcel Moolenaar
e88e64d392 MFC rev 200397:
Fix interrupt handling.

PR:		kern/140947
2009-12-14 17:42:40 +00:00
Robert Watson
d9adc7058d Merge r199798 from head to stable/8:
Fix comment typo.

  Submitted by: Marc Balmer <marc at msys.ch>
2009-12-14 13:23:33 +00:00
Robert Watson
f7000239aa Merge r197841 from head to stable/8:
Add a new errno, ENOTCAPABLE, to be returned when a process requests an
  operation on a file descriptor that is not authorized by the descriptor's
  capability flags.

  Sponsored by:	Google
2009-12-14 13:13:43 +00:00
Robert Watson
1120ce6b69 Merge r198438 from head to stable/8:
Correct spelling typo in ip_input comment.

  Pointed out by:       N.J. Mann <njm at njm.me.uk>,
                John Nielsen <john at jnielsen.net>, julian (!), lstewart
2009-12-14 11:53:02 +00:00
Robert Watson
19c576c8b2 Merge r198417 from head to stable/8:
Remove unneeded blank line from bpf_drvinit().
2009-12-14 11:45:53 +00:00
Robert Watson
ec610c212b Merge r198393 from head to stable/8:
Improve grammar in ip_input comment while attempting to maintain what
  might be its meaning.

(Note, merge of the revision correcting a spelling error in this commit
will follow as well!)
2009-12-14 11:15:47 +00:00
Robert Watson
7078509346 Merge r197720 from head to stable/8:
Don't comment on stream socket handling in sosend_dgram, since that's
  not handled.
2009-12-14 10:48:19 +00:00
Robert Watson
a43ee308b5 Regenerate sysent files after r200491. 2009-12-14 00:20:48 +00:00
Robert Watson
304e9b147b Merge r197636 from head to stable/8:
Reserve system call numbers for Capsicum security framework capabilities,
  capability mode, and process descriptors: cap_new, cap_getrights, cap_enter,
  cap_getmode, pdfork, pdkill, pdgetpid, and pdwait.

  Obtained from:	TrustedBSD Project
  Sponsored by:		Google
2009-12-14 00:19:31 +00:00
Robert Watson
8c7e8169eb Merge r197624 from head to stable/8:
Add audit events for process descriptor system calls, which will appear in
  a future OpenBSM release.

  Sponsored by:		Google
  Obtained from:	TrustedBSD Project
2009-12-14 00:15:56 +00:00
Robert Noland
cb9f09f873 MFC r198694,r198697
Some general cleanup of scatter/gather memory allocation

     - We don't need to check malloc return values with M_WAITOK
     - remove variables that we don't really need
     - cleanup the error paths by just calling drm_sg_cleanup()
     - fix drm_sg_cleanup() to be safe to call at any time
2009-12-13 15:03:54 +00:00
Robert Noland
5cba3b218f MFC 198332
Check pointer for NULL before dereferencing it, not after.

Originally committed by:	brueffer
2009-12-13 14:55:50 +00:00
Marius Strobl
084c5269a8 MFC: r200215
Add <machine/pcb.h> missed in r199135 (MFC'ed in r200443).
2009-12-12 20:24:12 +00:00
Konstantin Belousov
f0087a7a3c MFC r199135:
Extract the code that records syscall results in the frame into MD
function cpu_set_syscall_retval().
2009-12-12 20:06:25 +00:00
Konstantin Belousov
9562e7e533 MFC r200162:
Change VOP_FSYNC for zfs vnode from VOP_PANIC to zfs_freebsd_fsync().
2009-12-12 14:44:04 +00:00
Antoine Brodin
59cdac432f MFC r199193 to stable/8:
- Remove trailing ";" after if statement
  - Remove #if 0 section that was never needed/used
  Reviewed by:	raj@
2009-12-12 12:36:41 +00:00
Antoine Brodin
a329f4db8a MFC r199187 to stable/8:
Remove trailing ";" in struct ieee80211_beacon_offsets declaration
  Found by:	phk's FlexeLint in September
  Reviewed by:	rpaulo@
2009-12-12 12:34:20 +00:00
Antoine Brodin
1488409373 MFC r199186 to stable/8:
Fix off by one in ieee80211_send_action_register
  Found by:	phk's FlexeLint in September
  Reviewed by:	rpaulo@
2009-12-12 12:31:11 +00:00
Alexander Motin
71e7360ed9 MFC r200171, r200182, r200275, r200295, r200359:
Introduce ATA_CAM kernel option, turning ata(4) controller drivers into
cam(4) interface modules. When enabled, this option deprecates all ata(4)
peripheral drivers (ad, acd, ...) and interfaces and allows cam(4) drivers
(ada, cd, ...) and interfaces to be natively used instead.

As side effect of this, ata(4) mode setting code was completely rewritten
to make controller API more strict and permit above change. While doing
this, SATA revision was separated from PATA mode. It allows DMA-incapable
SATA devices to operate and makes hw.ata.(ata|atapi)_dma tunable work again.

Also allow ata(4) controller drivers (except some specific or broken ones)
to handle larger data transfers. Previous constraint of 64K was artificial
and is not really required by PCI ATA BM specification or hardware.

Submitted by:   nwitehorn (powerpc part)
2009-12-12 10:37:31 +00:00
Marcel Moolenaar
5b574e433f MFC rev 199893, 199941, 200200 and 200207:
o   Eliminate MAXCPU.
o   Revamp the PCPU structure.
2009-12-12 05:14:40 +00:00