dragonfly.git
10 years ago<wchar.h>: We don't have wcswcs(), so remove prototype.
Sascha Wildner [Sun, 28 Jul 2013 22:24:12 +0000 (00:24 +0200)]
<wchar.h>: We don't have wcswcs(), so remove prototype.

10 years agousr.bin: fix more mandoc(1) warnings
Franco Fichtner [Sun, 28 Jul 2013 13:20:10 +0000 (15:20 +0200)]
usr.bin: fix more mandoc(1) warnings

Unfortunately, most other man pages come from the contrib/ dir,
each with a couple of associated warnings that even sed(1) can't
completely amend.

10 years agoRemove 'device firmware' from various manpages because it is not optional.
Sascha Wildner [Sun, 28 Jul 2013 09:41:12 +0000 (11:41 +0200)]
Remove 'device firmware' from various manpages because it is not optional.

10 years agokether_ntoa.9: Small whitespace fix.
Sascha Wildner [Sun, 28 Jul 2013 01:38:18 +0000 (03:38 +0200)]
kether_ntoa.9: Small whitespace fix.

10 years agolibm: Fix a typo in the MLINKS line for log2l(3).
Sascha Wildner [Sun, 28 Jul 2013 00:45:25 +0000 (02:45 +0200)]
libm: Fix a typo in the MLINKS line for log2l(3).

10 years agostrchr.3: Fix typo, it's strchrnul, not strrchrnul.
Sascha Wildner [Sun, 28 Jul 2013 00:23:19 +0000 (02:23 +0200)]
strchr.3: Fix typo, it's strchrnul, not strrchrnul.

10 years agoFix typo in MLINKS line for taskqueue_drain_timeout(9).
Sascha Wildner [Sun, 28 Jul 2013 00:16:43 +0000 (02:16 +0200)]
Fix typo in MLINKS line for taskqueue_drain_timeout(9).

10 years agokernel: Stop installing pst(4) module and manual page on x86_64.
Sascha Wildner [Sat, 27 Jul 2013 22:51:03 +0000 (00:51 +0200)]
kernel: Stop installing pst(4) module and manual page on x86_64.

It is i386 only.

10 years agotaskqueue.9: Use .Er for errors numbers.
Sascha Wildner [Sat, 27 Jul 2013 21:11:23 +0000 (23:11 +0200)]
taskqueue.9: Use .Er for errors numbers.

10 years ago<sys/proc.h>: Remove suser() and suser_cred() prototypes.
Sascha Wildner [Sat, 27 Jul 2013 20:41:59 +0000 (22:41 +0200)]
<sys/proc.h>: Remove suser() and suser_cred() prototypes.

suser_*() was replaced with priv_*() more than 4 years ago.

Reported-by: Joris Giovannangeli <joris@giovannangeli.fr>
10 years agoDocument isgreater(3) and friends.
Sascha Wildner [Sat, 27 Jul 2013 20:19:12 +0000 (22:19 +0200)]
Document isgreater(3) and friends.

10 years agowindow.1: unbreak macros, hyphens are `-' not minus `\-'
Franco Fichtner [Sat, 27 Jul 2013 13:05:27 +0000 (15:05 +0200)]
window.1: unbreak macros, hyphens are `-' not minus `\-'

10 years agohexdump(1): clean up tables in man pages, output is lower-case
Franco Fichtner [Sat, 27 Jul 2013 12:25:14 +0000 (14:25 +0200)]
hexdump(1): clean up tables in man pages, output is lower-case

10 years agosed.1/sail.6: Fix section references and a function name.
Sascha Wildner [Fri, 26 Jul 2013 15:36:00 +0000 (17:36 +0200)]
sed.1/sail.6: Fix section references and a function name.

10 years agosail.6: mdoc conversion
Franco Fichtner [Thu, 25 Jul 2013 17:19:45 +0000 (19:19 +0200)]
sail.6: mdoc conversion

Synced from parts of both OpenBSD and NetBSD, with a little
tweaking in the AUTHORS section.  mandoc(1) warnings are gone.

10 years agosys/boot: Remove some unused externs.
Sascha Wildner [Thu, 25 Jul 2013 17:43:32 +0000 (19:43 +0200)]
sys/boot: Remove some unused externs.

10 years agodhclient.conf.5: .Nm needs a parameter only once.
Sascha Wildner [Thu, 25 Jul 2013 16:29:09 +0000 (18:29 +0200)]
dhclient.conf.5: .Nm needs a parameter only once.

10 years agounquote section names in man pages
Franco Fichtner [Thu, 18 Jul 2013 21:07:22 +0000 (23:07 +0200)]
unquote section names in man pages

While there, make them upper case, try to simplify and
consolidate, zap comments that nobody will ever see again
and tweak one AUTHORS instance with '.An -nosplit'.

10 years agoresolve mandoc(1) warnings in games/
Franco Fichtner [Thu, 25 Jul 2013 14:48:56 +0000 (16:48 +0200)]
resolve mandoc(1) warnings in games/

larn.6 was redesigned in parts for readability.
sail.6 needs a separate commit.

10 years agoadjust grammar in a few man pages: s/was/were/
Franco Fichtner [Wed, 24 Jul 2013 20:25:19 +0000 (22:25 +0200)]
adjust grammar in a few man pages: s/was/were/

10 years agokernel: Remove some unused kmalloc types in drm/drm2 code.
Sascha Wildner [Wed, 24 Jul 2013 20:28:49 +0000 (22:28 +0200)]
kernel: Remove some unused kmalloc types in drm/drm2 code.

OK'd: ftigeot

10 years agoman4: use .Mt for emails (2/2)
Franco Fichtner [Wed, 24 Jul 2013 20:00:40 +0000 (22:00 +0200)]
man4: use .Mt for emails (2/2)

This concludes the efforts to consistently use .Mt for
email addresses.  It also sneaks in a couple of subtle
changes to punctuation, grammar and conversion of
'.Nm xxx' to '.Xr xxx 4' where appropriate.

10 years agoman4: use .Mt for emails (1/2)
Franco Fichtner [Wed, 24 Jul 2013 15:54:54 +0000 (17:54 +0200)]
man4: use .Mt for emails (1/2)

10 years agoresolve mandoc(1) warnings in bin/
Franco Fichtner [Tue, 23 Jul 2013 20:42:42 +0000 (22:42 +0200)]
resolve mandoc(1) warnings in bin/

10 years agokernel: Document new taskqueue functions
François Tigeot [Wed, 24 Jul 2013 08:35:57 +0000 (10:35 +0200)]
kernel: Document new taskqueue functions

10 years agodrm2: add a drm_find_file_by_proc() implementation
François Tigeot [Wed, 24 Jul 2013 07:08:14 +0000 (09:08 +0200)]
drm2: add a drm_find_file_by_proc() implementation

* Taken from the existing drm code in sys/dev/drm/

10 years agokernel: Update taskqueue subsystem
François Tigeot [Wed, 24 Jul 2013 07:06:29 +0000 (09:06 +0200)]
kernel: Update taskqueue subsystem

* Add taskqueue timeout functions

* Add _timeout_task_init()

* Add taskqueue_cancel()

Obtained-from: FreeBSD

10 years agokillall - Add all-but-self tty kill (-T)
Matthew Dillon [Wed, 24 Jul 2013 04:17:53 +0000 (21:17 -0700)]
killall - Add all-but-self tty kill (-T)

* Add a new feature to killall, the -T option, which will kill all
  processes on the caller's tty except processes which parent the
  killall.

  This can be used to terminate processes on the current tty, for example
  from a ^C'd build that failed to kill all the sub processes, without
  also taking out the shell/xterm/whatever and causing the window to close.

10 years agolibmandoc: Add HAVE_STRPTIME and HAVE_MMAP to the Makefile.
Sascha Wildner [Tue, 23 Jul 2013 19:59:09 +0000 (21:59 +0200)]
libmandoc: Add HAVE_STRPTIME and HAVE_MMAP to the Makefile.

The former fixes an issue that would cause mandoc to warn on our .Dd
lines when using 'mandoc -Tlint ...'.

Submitted-by: Franco Fichtner <franco@lastsummer.de> (some modifications
              by me)

10 years agodrm2: Adapt kernel_map usage
François Tigeot [Tue, 23 Jul 2013 17:23:37 +0000 (19:23 +0200)]
drm2: Adapt kernel_map usage

10 years agodrm2: Handle slightly different little things (2/2)
François Tigeot [Tue, 23 Jul 2013 17:23:05 +0000 (19:23 +0200)]
drm2: Handle slightly different little things (2/2)

Some functions/macros have little arguments or other small variations:

* BUS_ALLOC_RESOURCE()

* bus_dma_tag_create()

* vm_pager_allocate()

* vm_map_find()

* vm_pager_get_pages() / vm_pager_get_page()

* vm_pager_has_page

* pmap_zero_page()

10 years agodrm2: Handle slightly different little things (1/2)
François Tigeot [Tue, 23 Jul 2013 17:21:53 +0000 (19:21 +0200)]
drm2: Handle slightly different little things (1/2)

* DragonFly and FreeBSD memory barrier functions are named differently

* Replace TAILQ_FOREACH_SAFE by TAILQ_FOREACH_MUTABLE

* CTLFLAG_RDTUN doesn't exist, use CTLFLAG_RD instead

* kdb_active -> db_active

* Implement and use a replacement for VM_OBJECT_LOCK_ASSERT(MA_OWNED)

* VPO_BUSY => PG_BUSY

* The way to get rlimit values is a little bit different

* Replace MPASS with KASSERT

* Use callout_init_mp() where FreeBSD uses CALLOUT_MPSAFE
  (suggested-by swildner)

Parts-by: Johannes Hofmann
10 years agodrm2: Remove unused FreeBSD functions and macros
François Tigeot [Tue, 23 Jul 2013 17:21:09 +0000 (19:21 +0200)]
drm2: Remove unused FreeBSD functions and macros

* sched_pin() / sched_unpin()

* VM_ALLOC_NOOBJ and VM_ALLOC_WIRED

* callout_drain()

* vm_page_lock() / vm_page_unlock()

* kern_yield()

* CTLFLAG_MPSAFE

10 years agodrm2: Fix include files
François Tigeot [Tue, 23 Jul 2013 17:20:27 +0000 (19:20 +0200)]
drm2: Fix include files

10 years agodrm2: Handle locking
François Tigeot [Tue, 23 Jul 2013 17:18:48 +0000 (19:18 +0200)]
drm2: Handle locking

* Locally define PROC_LOCK and PROC_UNLOCK to nothing

* irq_lock must be a lwkt serializer

* Remove Giant usage
  Was it even needed on FreeBSD ?

10 years agodrm2: Some functions are named differently
François Tigeot [Tue, 23 Jul 2013 17:16:03 +0000 (19:16 +0200)]
drm2: Some functions are named differently

* free => kfree

* malloc, realloc, reallocf => kmalloc, krealloc, kreallocf

* printf and snprintf => kprintf and ksnprintf

* getenv => kgetenv

* qsort_r => kqsort_r

* pci_find_cap => pci_find_extcap

* critical_enter => crit_enter

* hashinit_flags => hashinit

10 years agodrm2: Remove CTR* functions
François Tigeot [Tue, 23 Jul 2013 17:15:09 +0000 (19:15 +0200)]
drm2: Remove CTR* functions

10 years agodrm2: Comment out FreeBSD ids
François Tigeot [Sun, 21 Jul 2013 08:45:12 +0000 (10:45 +0200)]
drm2: Comment out FreeBSD ids

Also remove FreeBSD-specific sys/cdefs.h include lines

10 years agoRemove some no longer used externs in various system headers.
Sascha Wildner [Tue, 23 Jul 2013 16:54:20 +0000 (18:54 +0200)]
Remove some no longer used externs in various system headers.

10 years agodhclient: partial sync from OpenBSD man pages
Franco Fichtner [Tue, 23 Jul 2013 12:18:15 +0000 (14:18 +0200)]
dhclient: partial sync from OpenBSD man pages

10 years agotzfile.5: use .In for including tzfile.h
Franco Fichtner [Mon, 22 Jul 2013 22:12:06 +0000 (00:12 +0200)]
tzfile.5: use .In for including tzfile.h

The file resides in /usr/include anyway.

10 years agoforward.5: use .Ar instead of .Aq for email address
Franco Fichtner [Mon, 22 Jul 2013 21:53:25 +0000 (23:53 +0200)]
forward.5: use .Ar instead of .Aq for email address

The email is an example and should not be a spurious candidate for
.Mt conversion.  The example below uses .Ar for a local address
already.

10 years agoshare/examples: use .Mt for emails in man pages
Franco Fichtner [Mon, 22 Jul 2013 21:49:10 +0000 (23:49 +0200)]
share/examples: use .Mt for emails in man pages

While there, get rid of redundant quotes in .Nd lines.

10 years agom4(1): Remove two unused manual pages.
Sascha Wildner [Tue, 23 Jul 2013 11:04:15 +0000 (13:04 +0200)]
m4(1): Remove two unused manual pages.

10 years agozopen.3: zap file since zopen() is only used via compress(1)
Franco Fichtner [Mon, 22 Jul 2013 22:22:09 +0000 (00:22 +0200)]
zopen.3: zap file since zopen() is only used via compress(1)

10 years agodrm: Import drm2+i915 work from FreeBSD
François Tigeot [Mon, 22 Jul 2013 20:23:54 +0000 (22:23 +0200)]
drm: Import drm2+i915 work from FreeBSD

As of r240917 (2012-09-25): "Reduce delays in several wait loops"

10 years agodrm: move gpu driver headers to subdirectories
François Tigeot [Mon, 22 Jul 2013 20:11:20 +0000 (22:11 +0200)]
drm: move gpu driver headers to subdirectories

10 years agodma.8: Adjust corecode's email address.
Sascha Wildner [Mon, 22 Jul 2013 20:06:42 +0000 (22:06 +0200)]
dma.8: Adjust corecode's email address.

10 years agoadd .Mt to man pages in usr.sbin/
Franco Fichtner [Mon, 22 Jul 2013 19:09:05 +0000 (21:09 +0200)]
add .Mt to man pages in usr.sbin/

10 years agokernel/isa: Remove some no longer used externs declarations.
Sascha Wildner [Mon, 22 Jul 2013 19:43:07 +0000 (21:43 +0200)]
kernel/isa: Remove some no longer used externs declarations.

10 years agoadd .Mt to man pages in lib/
Franco Fichtner [Mon, 22 Jul 2013 17:27:28 +0000 (19:27 +0200)]
add .Mt to man pages in lib/

10 years agoadd .Mt to man pages in libexec/
Franco Fichtner [Mon, 22 Jul 2013 14:15:16 +0000 (16:15 +0200)]
add .Mt to man pages in libexec/

10 years agoadd .Mt to man pages in sbin/
Franco Fichtner [Mon, 22 Jul 2013 14:02:50 +0000 (16:02 +0200)]
add .Mt to man pages in sbin/

10 years agoDocument copyin_nofault and copyout_nofault(9)
François Tigeot [Mon, 22 Jul 2013 16:02:17 +0000 (18:02 +0200)]
Document copyin_nofault and copyout_nofault(9)

10 years agoDocument DRIVER_MODULE_ORDERED(9)
François Tigeot [Mon, 22 Jul 2013 15:47:50 +0000 (17:47 +0200)]
Document DRIVER_MODULE_ORDERED(9)

10 years agokernel: Remove global PROC_LOCK and PROC_UNLOCK definitions
François Tigeot [Mon, 22 Jul 2013 11:46:05 +0000 (13:46 +0200)]
kernel: Remove global PROC_LOCK and PROC_UNLOCK definitions

Locking in this area varies so much between FreeBSD and DragonFly
that it's best to determine what to do with these macros on a
case-by-case basis

10 years agoRemove <sys/bitstring.h> via 'make upgrade'.
Sascha Wildner [Mon, 22 Jul 2013 10:06:33 +0000 (12:06 +0200)]
Remove <sys/bitstring.h> via 'make upgrade'.

10 years agotools: Add bench tools for accept(2) and connect(2)
Sepherosa Ziehau [Mon, 22 Jul 2013 06:21:08 +0000 (14:21 +0800)]
tools: Add bench tools for accept(2) and connect(2)

The main reasons behind making these tools instead of using netperf TCP_CC
test are:
- Netperf TCP_CC creates new server for each testing client
- Netperf TCP_CC creates new listen socket on different TCP port for each
  testing client
- Netperf TCP_CC created listen socket is in blocking mode
- Netperf TCP_CC closes accepted sockets immediately

All of the above listed items make netperf TCP_CC do not reflect real life
TCP server usage.

Tools in accept_connect:
- "connect_client"
  Fork certain amount of processes to perform blocking connect(2)/close(2)
  for the certain amount of time.
- "accpet_server"
  Fork certain amount of processes to perform blocking accept(2) on the same
  addr/port bound socket.  close(2) on the accepted socket is called
  immediately.  If -r is specified, each processes will create their own
  listen socket on the same port/addr w/ SO_REUSEPORT sockopt.
- "kq_accept_server"
  Fork certain amount of processes to perform non-blocking accept(2) on the
  same addr/port bound socket w/ help of kqueue(2).  close(2) on the accepted
  socket is called after the other side closed the connection.  If -r is
  specified, each processes will create their own listen socket on the same
  port/addr w/ SO_REUSEPORT sockopt.

kq_accept_server closely mimics the real life TCP server.

10 years agoRemove duplicated bitstring.h file
François Tigeot [Mon, 22 Jul 2013 05:25:49 +0000 (07:25 +0200)]
Remove duplicated bitstring.h file

Noticed-by: vsrinivas
10 years agosocket: Use modulo-N for SO_REUSEPORT socket locating
Sepherosa Ziehau [Mon, 22 Jul 2013 05:15:50 +0000 (13:15 +0800)]
socket: Use modulo-N for SO_REUSEPORT socket locating

This greatly reduces TCP listen socket completion queue pool token
contention thus saves more cpu time.

When the testing box (i7-2600, broadcom 5719) is doing 335Kconns/s,
TCP listen socket completion queue token contention is reduced from
20K/s to 500/s and the idle time on each hyperthread is increased by
~5%.

10 years agosocket: Avoid possible race between netmsg_so_notify() and sowakeup() (2)
Sepherosa Ziehau [Mon, 22 Jul 2013 03:05:12 +0000 (11:05 +0800)]
socket: Avoid possible race between netmsg_so_notify() and sowakeup() (2)

If predict ever blocks, 'tok' will be released, so SSB_MEVENT set
beforehand could have been cleared when we reach here.  In case
that happens, we set SSB_MEVENT again, after the notify has been
queued.

10 years agooce: Don't clear M_PKTHDR when create mbuf chain
Sepherosa Ziehau [Mon, 22 Jul 2013 02:17:59 +0000 (10:17 +0800)]
oce: Don't clear M_PKTHDR when create mbuf chain

10 years agokernel: Add PROC_LOCK and PROC_UNLOCK
François Tigeot [Sun, 21 Jul 2013 19:22:41 +0000 (21:22 +0200)]
kernel: Add PROC_LOCK and PROC_UNLOCK

Inspired-from: FreeBSD

10 years agokernel: Implement copyin_nofault and copyout_nofault
François Tigeot [Sun, 7 Jul 2013 17:24:55 +0000 (19:24 +0200)]
kernel: Implement copyin_nofault and copyout_nofault

Inspired-from: FreeBSD

10 years agokernel: add vm_page_unhold_pages()
François Tigeot [Sun, 21 Jul 2013 19:41:28 +0000 (21:41 +0200)]
kernel: add vm_page_unhold_pages()

10 years agokernel: Add DRIVER_MODULE_ORDERED macro
Johannes Hofmann [Sun, 21 Jul 2013 19:40:31 +0000 (21:40 +0200)]
kernel: Add DRIVER_MODULE_ORDERED macro

10 years agokernel: Import bitcount16() from FreeBSD
François Tigeot [Sat, 20 Jul 2013 16:59:55 +0000 (18:59 +0200)]
kernel: Import bitcount16() from FreeBSD

10 years agokernel: Import unrhdr function family from FreeBSD
François Tigeot [Sun, 21 Jul 2013 19:37:03 +0000 (21:37 +0200)]
kernel: Import unrhdr function family from FreeBSD

10 years agoRemove some more unused externs.
Sascha Wildner [Sun, 21 Jul 2013 19:38:40 +0000 (21:38 +0200)]
Remove some more unused externs.

10 years agoadd .Mt to man pages in bin/ games/ sys/ tools/
Franco Fichtner [Thu, 18 Jul 2013 20:25:28 +0000 (22:25 +0200)]
add .Mt to man pages in bin/ games/ sys/ tools/

10 years agoadd .Mt to man pages in usr.bin/
Franco Fichtner [Thu, 18 Jul 2013 20:04:49 +0000 (22:04 +0200)]
add .Mt to man pages in usr.bin/

10 years agostart adding .Mt to email addresses in man pages
Franco Fichtner [Thu, 18 Jul 2013 18:37:34 +0000 (20:37 +0200)]
start adding .Mt to email addresses in man pages

This covers share/man/man[1579]. It also consolidates multiple lines
into one, removes spurious double quotes in names or emails,
and changes punctuation where appropriate. The target style is:
.An Name Aq Mt name@somewhere.tdl

10 years agokernel: Remove a no longer used extern declaration.
Sascha Wildner [Sun, 21 Jul 2013 18:29:53 +0000 (20:29 +0200)]
kernel: Remove a no longer used extern declaration.

10 years agokernel: Remove some HW_WDOG remains.
Sascha Wildner [Sun, 21 Jul 2013 18:27:52 +0000 (20:27 +0200)]
kernel: Remove some HW_WDOG remains.

10 years agokernel: Import vm_mmap_to_errno() from FreeBSD
François Tigeot [Sun, 21 Jul 2013 16:39:02 +0000 (18:39 +0200)]
kernel: Import vm_mmap_to_errno() from FreeBSD

10 years agokernel: import pci_find_class() from FreeBSD
François Tigeot [Sat, 20 Jul 2013 21:06:12 +0000 (23:06 +0200)]
kernel: import pci_find_class() from FreeBSD

10 years agokernel: Add kqsort_r()
François Tigeot [Sat, 20 Jul 2013 07:22:56 +0000 (09:22 +0200)]
kernel: Add kqsort_r()

Obtained-from: FreeBSD

10 years agoMakefile.usr - Move fetch locations
Matthew Dillon [Fri, 19 Jul 2013 22:05:53 +0000 (15:05 -0700)]
Makefile.usr - Move fetch locations

* Move the bootstrap fetch from leaf:~marino to mirror-master

* Move the dports git fetch from ~marino's github to mirror-master
  (which currently clones it)

10 years agouname - Add -P and -PP for dports support
Matthew Dillon [Fri, 19 Jul 2013 22:05:17 +0000 (15:05 -0700)]
uname - Add -P and -PP for dports support

* Add options to generate dports-compatible ABI strings to stdout.
  Used by Makefile.usr.

10 years agokernel: Remove some more unused kmalloc types.
Sascha Wildner [Fri, 19 Jul 2013 18:43:48 +0000 (20:43 +0200)]
kernel: Remove some more unused kmalloc types.

M_MPSSAS
M_MPTUSER
M_NETGRAPH_ITEM
M_NWFSMNT
M_PDU
M_RDRAND
M_SMBDATA
M_SMBFSMNT

10 years agokernel: Remove some no longer used options.
Sascha Wildner [Fri, 19 Jul 2013 15:54:27 +0000 (17:54 +0200)]
kernel: Remove some no longer used options.

10 years agosocket: Avoid possible race between netmsg_so_notify() and sowakeup()
Sepherosa Ziehau [Fri, 19 Jul 2013 08:40:07 +0000 (16:40 +0800)]
socket: Avoid possible race between netmsg_so_notify() and sowakeup()

The race is concerning SSB_MEVENT setup and testing.  Originally:

             CPU X                          CPU Y
    get token                                 :
    if (predict cond false) {                 :
           :                        set predict cond true
           :                        if (SSB_MEVENT) {
           :                            get token
           :                            wake up notifies
           :                            rel token
           :                        }
        queue notify                          :
        set SSB_MEVENT                        :
    }                                         :
    rel token

This commit always set SSB_MEVENT before predict testing, after getting
the socket token, so the race could be avoided.

Reviewed-by: dillon@
10 years agokernel/pat: Improve kmem_alloc_attr()
Johannes Hofmann [Thu, 18 Jul 2013 21:29:11 +0000 (23:29 +0200)]
kernel/pat: Improve kmem_alloc_attr()

With-input-from: Matthew Dillon

10 years agopat: Add pmap_invalidate_cache_pages()
François Tigeot [Thu, 18 Jul 2013 21:28:47 +0000 (23:28 +0200)]
pat: Add pmap_invalidate_cache_pages()

Obtained-from: FreeBSD

10 years agopmap: Add pmap_mapbios()
François Tigeot [Thu, 18 Jul 2013 21:28:12 +0000 (23:28 +0200)]
pmap: Add pmap_mapbios()

Obtained-from: FreeBSD

10 years agopat: Make the API more compatible with FreeBSD
François Tigeot [Thu, 18 Jul 2013 21:27:03 +0000 (23:27 +0200)]
pat: Make the API more compatible with FreeBSD

10 years agopat: Add BUS_DMA_NOCACHE, VM_MEMATTR definitions
François Tigeot [Thu, 18 Jul 2013 21:26:40 +0000 (23:26 +0200)]
pat: Add BUS_DMA_NOCACHE, VM_MEMATTR definitions

Inspired-from: FreeBSD

10 years agokernel: Optimize pmap_invalidate_range()
François Tigeot [Thu, 18 Jul 2013 21:25:01 +0000 (23:25 +0200)]
kernel: Optimize pmap_invalidate_range()

* No need to use wbinvd here, we only have to invalidate TLB entries
  and not regular CPU caches

* There is no need to drop all TLB caches either, only invalidate a few
  page mappings on all cpus

* Use pmap->pm_active to only signal the CPUs where the pmap is in use

10 years agokernel: Use pmap_invalidate functions
François Tigeot [Thu, 18 Jul 2013 21:23:36 +0000 (23:23 +0200)]
kernel: Use pmap_invalidate functions

* Matt's commit brutally used invltlb and wbinvd instructions
  everywhere

* These are now contained in pmap_invalidate_range(), which will be
  optimized later

* As a rule of thumb, functions where cache and tlb handling cause
  avoidable performance degradation are tagged with "XXX not optimal"

10 years agokernel: Improve pmap_invalidate_cache_range()
François Tigeot [Thu, 18 Jul 2013 21:22:32 +0000 (23:22 +0200)]
kernel: Improve pmap_invalidate_cache_range()

* There is no need to do anything on CPUs having the self-snoop feature

* Add some consistency checks

Inspired-from: FreeBSD

10 years agopmap: Add change_attr() stubs for non-amd64 architectures
François Tigeot [Thu, 18 Jul 2013 21:21:01 +0000 (23:21 +0200)]
pmap: Add change_attr() stubs for non-amd64 architectures

10 years agoPAT work, mapdev_attr, kmem_alloc_attr
Matthew Dillon [Thu, 18 Jul 2013 21:04:21 +0000 (23:04 +0200)]
PAT work, mapdev_attr, kmem_alloc_attr

Partially based on work by
Aggelos Economopoulos <aoiko@cc.ece.ntua.gr>

10 years agopmap: add dummy implementation for pmap_invalidate*
Johannes Hofmann [Thu, 18 Jul 2013 20:37:22 +0000 (22:37 +0200)]
pmap: add dummy implementation for pmap_invalidate*

Simply call cpu_wbinvd_on_all_cpus() which is not optimal
but seems to make drm2 work.

10 years agokernel: Remove 3 unused kmalloc types: M_80211_DFS, M_ACPICMBAT, M_ATAPCI.
Sascha Wildner [Thu, 18 Jul 2013 17:14:04 +0000 (19:14 +0200)]
kernel: Remove 3 unused kmalloc types: M_80211_DFS, M_ACPICMBAT, M_ATAPCI.

10 years agokernel/raid: CAM_NEW_TRAN_CODE is default for over 5 years.
Sascha Wildner [Thu, 18 Jul 2013 16:56:25 +0000 (18:56 +0200)]
kernel/raid: CAM_NEW_TRAN_CODE is default for over 5 years.

10 years agoi386: Make the system boot again
Sepherosa Ziehau [Thu, 18 Jul 2013 14:58:36 +0000 (22:58 +0800)]
i386: Make the system boot again

The CPU_468 etc macros also serve as the indices into i386_cpus[]
make sure that they are interleaved only by 1.

10 years agoi386: Unbreak building if the kern config only contains I686_CPU
Sepherosa Ziehau [Thu, 18 Jul 2013 14:57:05 +0000 (22:57 +0800)]
i386: Unbreak building if the kern config only contains I686_CPU

10 years agombuf: revert part of b4e5a1079d852748f03f32aae87ecdda27a538d2
Sepherosa Ziehau [Thu, 18 Jul 2013 13:24:16 +0000 (21:24 +0800)]
mbuf: revert part of b4e5a1079d852748f03f32aae87ecdda27a538d2

Restore wlan_seqno, since ether_vlantag has been used by WME.  Fill the
implicit padding on x86_64 and add comment for their possible use.

Reported-by: Johannes Hofmann
10 years agokernel: Remove Cyrix CPUs specific handling
François Tigeot [Wed, 17 Jul 2013 21:18:26 +0000 (23:18 +0200)]
kernel: Remove Cyrix CPUs specific handling

* Remove kernel options, constants, detection code and special
  initialization routines for Cyrix CPUs

* Part of this code prevents the i386 vkernel from beeing compiled
  from a source tree with PAT support

* Recent versions of DragonFly cannot possibly run on machines using
  these processors anyway

10 years agoso_pru_send_async: Use M_NOWAIT to allocate address
Sepherosa Ziehau [Thu, 18 Jul 2013 00:52:22 +0000 (08:52 +0800)]
so_pru_send_async: Use M_NOWAIT to allocate address

If the allocation failed, we just fall back to the synchronized pru_send.
Using M_WAITOK defeats the purpose of asynchronized pru_send, which tries
to prevent the current thread from being scheduled.