summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Integrate the new MPSAFE TTY layer to the FreeBSD operating system.ed2008-08-20110-6960/+6143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last half year I've been working on a replacement TTY layer for the FreeBSD kernel. The new TTY layer was designed to improve the following: - Improved driver model: The old TTY layer has a driver model that is not abstract enough to make it friendly to use. A good example is the output path, where the device drivers directly access the output buffers. This means that an in-kernel PPP implementation must always convert network buffers into TTY buffers. If a PPP implementation would be built on top of the new TTY layer (still needs a hooks layer, though), it would allow the PPP implementation to directly hand the data to the TTY driver. - Improved hotplugging: With the old TTY layer, it isn't entirely safe to destroy TTY's from the system. This implementation has a two-step destructing design, where the driver first abandons the TTY. After all threads have left the TTY, the TTY layer calls a routine in the driver, which can be used to free resources (unit numbers, etc). The pts(4) driver also implements this feature, which means posix_openpt() will now return PTY's that are created on the fly. - Improved performance: One of the major improvements is the per-TTY mutex, which is expected to improve scalability when compared to the old Giant locking. Another change is the unbuffered copying to userspace, which is both used on TTY device nodes and PTY masters. Upgrading should be quite straightforward. Unlike previous versions, existing kernel configuration files do not need to be changed, except when they reference device drivers that are listed in UPDATING. Obtained from: //depot/projects/mpsafetty/... Approved by: philip (ex-mentor) Discussed: on the lists, at BSDCan, at the DevSummit Sponsored by: Snow B.V., the Netherlands dcons(4) fixed by: kan
* Better comment the pattern tests; adjust the filenames for thekientzle2008-08-204-12/+22
| | | | | | reference files to match the corresponding source. MFC after: 3 days
* ifnet_setbyindex() is only used locally, go back to being static.thompsa2008-08-202-2/+1
|
* don't use cpu_idle_acpi under xenkmacy2008-08-201-0/+9
| | | | MFC after: 1 month
* Check for watch events when doing inline message processingkmacy2008-08-201-16/+39
| | | | MFC after: 1 month
* Fix buildkmacy2008-08-201-0/+2
|
* Rename the RCng 'kernel' script to 'kernel_symlink'.obrien2008-08-201-1/+1
|
* Fix wierd integration errorjulian2008-08-201-1/+1
| | | | No idea where this came from
* Xen 3.2 now interleaves watch events with regular message notifications.kmacy2008-08-206-44/+79
| | | | | | | More graciously handle processing messages and watch events inline prior to threads being up and running. MFC after: 1 month
* Fix some of the formatting fixes.. It's amazing how some thing stand outjulian2008-08-208-12/+10
| | | | in a commit message.
* A bunch of formatting fixes brough to light by, or created by the Vimage commitjulian2008-08-2018-44/+58
| | | | a few days ago.
* Add a man page for the acpi_asus(4) driver.rpaulo2008-08-192-0/+138
| | | | MFC after: 1 week
* Fix typo in comment.rpaulo2008-08-191-1/+1
|
* Provide hooks into the GPIO lines and the ability to set/clearimp2008-08-192-0/+47
| | | | | | | interrupts from them. This should be more generalized, but is sufficient for now. Submitted by: Hans Petter Selasky
* Use the proper clock domain for the usb host controller.imp2008-08-191-1/+1
| | | | Submitted by: Hans Petter Selasky
* Add IRQ line for usb device. I'm not 100% sure this is the rightimp2008-08-191-1/+1
| | | | | | | place to add this connection, since the interrupt is for a GPIO pin, but since we have no alternative at the moment... Submitted by: Hans Petter Selasky
* Use kvm_getcptime(3) to fetch the global CPU time stats from a crashdumpjhb2008-08-192-23/+28
| | | | | | | since the 'cp_time' symbol doesn't exist in recent kernels. This fixes iostat and vmstat on crash dumps. MFC after: 1 week
* Add a new routine kvm_getcptime(3) for fetching the equivalent ofjhb2008-08-194-3/+214
| | | | | | | | | | 'kern.cp_time'. For a live kernel it uses the sysctl. For a crashdump, it first checks to see if the kernel has a 'cp_time' global symbol. If it does, it uses that. If that doesn't work, when it uses the recently added kvm_getmaxcpu(3) and kvm_getpcpu(3) routines to walk all the CPUs and sum up their counters. MFC after: 1 week
* Add calls to callout_drain() to ensure the callouts are flushed beforejb2008-08-191-0/+2
| | | | | | | we free memory from underneath them. This fixes an occasional panic I've been seeing in softclock() where a bad pointer would be encountered when pushing DTrace hard.
* Pass the right pointer to bzero() when clearing cp_time.jhb2008-08-191-1/+1
| | | | MFC after: 1 week
* Add two new routines to libkvm for working with per-CPU data:jhb2008-08-194-3/+251
| | | | | | kvm_getmaxcpu() and kvm_getpcpu(). MFC after: 1 week
* Export 'struct pcpu' to userland w/o requiring _KERNEL. A few portsjhb2008-08-1910-18/+26
| | | | | | | already define _KERNEL to get to this and I'm about to add hooks to libkvm to access per-CPU data. MFC after: 1 week
* Don't include <sys/tty.h> in our sound layer. It is not needed.ed2008-08-192-2/+1
| | | | | | | | | | The PCM's sound.h file only seems to include <sys/tty.h>, because channel_if seems to require selinfo. Just replace it with <sys/selinfo.h>. There's no real problem with including <sys/tty.h> here, even with MPSAFE TTY, but <sys/tty.h> is something that should be used by the TTY layer, its driver and code that integrated it with the process tree.
* Rename the RCng 'kernel' script to 'kernel_symlink'.obrien2008-08-193-5/+4
| | | | Requested by: many
* If a CPUTYPE isn't specified, then don't use -march=k8 when compilingjhb2008-08-191-3/+3
| | | | | | | | | | | 32-bit compat libs on amd64 since -march=k8 may generate instructions that are not implemented on Intel EM64T processors. Instead, use a simpler set of default flags that should work on all amd64-capable CPUs. PR: amd64/113111 Submitted by: NIIMI Satoshi sa2c of sa2c.net MFC after: 1 week
* In brelse, put the B_NEEDSGIANT buffer on the QUEUE_DIRTY_GIANT queue,kib2008-08-191-1/+1
| | | | | | | | instead of QUEUE_DIRTY. Tested by: pho Reviewed by: attilio MFC after: 3 days
* protect queue_log not queuekmacy2008-08-191-2/+4
| | | | MFC after: 1 month
* Fix compilation without INVARIANTSkmacy2008-08-191-0/+6
| | | | MFC after: 1 month
* avoid evtchn_init name collision in gdbkmacy2008-08-191-2/+2
| | | | MFC after: 1 month
* remove redundant PT_SET_MA declarationkmacy2008-08-191-12/+0
| | | | MFC after: 1 month
* Add the D-Link DWA-110kevlo2008-08-192-0/+2
| | | | Tested by: Jonathan Lee <spamtrap at tczyhatczsche dot eu>
* Add test case for 'divide by 0' with BPF_ALU|BPF_DIV|BPF_X instruction.jkim2008-08-182-1/+34
|
* Fix two test cases on 32-bit architectures.jkim2008-08-182-2/+6
|
* PT_UPDATES_FLUSH() is used in common code so it needs to be definedkmacy2008-08-181-0/+2
| | | | | | even in the !defined(XEN) case MFC after: 1 month
* MFamd64: Correctly check unsignedness of all registers usedjkim2008-08-182-38/+70
| | | | for load instructions with direct or indirect offsets.
* Correctly check unsignedness of all BPF_LD|BPF_IND instructions.jkim2008-08-182-38/+70
| | | | This is roughly from sys/net/bpf_filter.c r1.12 and r1.14.
* Add simple bpf(9) regression tests and test cases.jkim2008-08-1876-0/+2739
|
* - Make these files compilable on user land.jkim2008-08-184-19/+112
| | | | - Update copyrights and fix style(9).
* Fix SVN r181821 by not using FNM_LEADING_DIR wherekientzle2008-08-181-1/+1
| | | | it shouldn't be used.
* sc->sc_ibuf should be malloc'ed after quirks applied, askaiw2008-08-181-6/+7
| | | | | | sc->sc_isize might have changed. MFC after: 3 days
* Fix a typo: According to the hid spec, Global item #3kaiw2008-08-181-1/+1
| | | | | | is Physical Minimum. MFC after: 3 days
* Add a missing include which was erroneusly left out from the previousattilio2008-08-181-0/+2
| | | | | | commit. Sponsored by: Nokia
* In the hid parser, if a INPUT/OUTPUT/FEATURE item is skipped, itskaiw2008-08-181-3/+12
| | | | | | | | | | | | | | | | | | | | | | | corresponding USAGE should be skipped as well. For example, below is a report desc fragment of some mouse: COLLECTION ... USAGE TWHEEL FEATURE ... ... USAGE WHEEL INPUT ... ... END COLLECTION "USAGE TWHEEL" should be consumed after the FEATURE item is skipped, otherwise, the INPUT item will be assigned to "USAGE TWHEEL" later, other than "USAGE WHEEL". Tested by: Grzegorz Blach PR: usb/125941
* Bufferize the output for DDB printouts.attilio2008-08-182-15/+88
| | | | | | | | | In order to CATER this, DDB buffered output can be choosen at compile time through the option DDB_BUFR_SIZE=nbytes where nbytes choose the size of the buffer (suggested size is 128 bytes), which should be manually specified in any interested config file. Sponsored by: Nokia
* Re-add Microsoft Intellimouse 2.0 TWHEEL quirk.kaiw2008-08-181-0/+3
| | | | | | | Tested by: Merritt Draney, Brian Cox PR: kern/123224 PR: kern/123510 MFC after: 3 days
* Move FREEBSD-upgrade as well.roberto2008-08-181-45/+0
|
* Move FREEBSD-Xlist in a more proper location.roberto2008-08-181-3/+0
|
* As part of step 1.5 of the vimage framework resolve conflicts withbz2008-08-182-19/+22
| | | | | | | file local static globals which would be folded onto the same name with the V_ macros. Reviewed by: kris, brooks, simon
* Rename the static M_RPC defined here to M_RPCCLNT, since a global M_RPCkris2008-08-181-6/+6
| | | | | | | now optionally exists. Reviewed by: dfr MFC after: 3 days
* Make it easy to comment out the part that use current tty layer directly.takawata2008-08-181-9/+32
| | | | | | (Handsfree interface) I'll port the part to new tty layer after it has committed and if I have spare time.
OpenPOWER on IntegriCloud