Update the pciconf(8) database.

October 15, 2014 snapshot from http://pciids.sourceforge.net/
Makefile.inc1: Remove obsolete NO_FORTRAN definitions
kernel - Add /dev/upmap and /dev/kpmap and sys/upmap.h

* Add two memory-mappable devices for accessing a per-process and global
  kernel shared memory space.  These can be mapped to acquire certain
  information from the kernel that would normally require a system call
  in a more efficient manner.

  Userland programs using this feature should NOT directly map the sys_upmap
  and sys_kpmap structures (which is why they are in #ifdef _KERNEL sections
  in sys/upmap.h).  Instead, mmap the devices using UPMAP_MAPSIZE and
  KPMAP_MAPSIZE and parse the ukpheader[] array at the front of each area
  to locate the desired fields.  You can then simply cache a pointer to
  the desired field.

  The width of the field is encoded in the UPTYPE/KPTYPE elements and
  can be asserted if desired, user programs are not expected to handle
  integers of multiple sizes for the same field type.

* Add /dev/upmap.  A program can open and mmap() this device R+W and use
  it to access:

  header[...]	- See sys/upmap.h.  An array of headers terminating with
		  a type=0 header indicating where various fields are in
		  the mapping.  This should be used by userland instead
		  of directly mapping to the struct sys_upmap structure.

  version	- The sys_upmap version, typically 1.

  runticks	- Scheduler run ticks (aggregate, all threads).  This
		  may be used by userland interpreters to determine
		  when to soft-switch.

  forkid	- A unique non-zero 64-bit fork identifier.  This is NOT a
		  pid.  This may be used by userland libraries to determine
		  if a fork has occurred by comparing against a stored
		  value.

  pid		- The current process pid.  This may be used to acquire the
		  process pid without having to make further system calls.

  proc_title	- This starts out as an empty buffer and may be used to set
		  the process title.  To revert to the original process title,
		  set proc_title[0] to 0.

  NOTE!  Userland may write to the entire buffer, but it is recommended
	 that userland only write to fields intended to be writable.

  NOTE!  When a program forks, an area already mmap()d remains mmap()d but
	 will point to the new process's area and not the old, so libraries
	 do not need to do anything special atfork.

  NOTE!  Access to this structure is cpu localized.

* Add /dev/kpmap.  A program can open and mmap() this device RO and use
  it to access:

  header[...]	- See sys/upmap.h.  An array of headers terminating with
		  a type=0 header indicating where various fields are in
		  the mapping.  This should be used by userland instead
		  of directly mapping to the struct sys_upmap structure.

  version	- The sys_kpmap version, typically 1.

  upticks	- System uptime tick counter (32 bit integer).  Monotonic,
		  uncompensated.

  ts_uptime	- System uptime in struct timespec format at tick-resolution.
		  Monotonic, uncompensated.

  ts_realtime	- System realtime in struct timespec format at tick-resolution.
		  This is compensated so reverse-indexing is possible.

  tsc_freq	- If the system supports a TSC of some sort, the TSC
		  frequency is recorded here, else 0.

  tick_freq	- The tick resolution of ts_uptime and ts_realtime and
		  approximate tick resolution for the scheduler.  Typically
		  100.

  NOTE!  Userland may only read from this buffer.

  NOTE!  Access to this structure is NOT cpu localized.  A memory fence
	 and double-check should be used when accessing non-atomic structures
	 which might change such as ts_uptime and ts_realtime.

	 XXX needs work.
kernel - Add /dev/upmap and /dev/kpmap and sys/upmap.h (2)

* Disallow writing to kpmap.

* Handle cpu read/update races against ts_uptime and ts_realtime by
  making these arrays[2] and using kpmap->upticks to tell userland
  which one is stable.

  The procedure is as follows:

	struct timespec ts_uptime;
	struct timespec ts_realtime;
	int w;

        do {
                w = kpmap->upticks;
                cpu_lfence();
                ts_uptime = kpmap->ts_uptime[w & 1];
                ts_realtime = kpmap->ts_realtime[w & 1];
                cpu_lfence();
                w = kpmap->upticks - w;
        } while (w > 1);

  This procedure avoids having to loop in all standard cases including
  the nominal kernel update / userland read race.  It will only loop if
  the kernel deschedules the user process for > 1 tick during the access
  sequence.
kernel - fixup buildworld after recent commits
kernel - Add /dev/upmap and /dev/kpmap and sys/upmap.h (3)

* Add upmap->invfork.  When a vforked child is trying to access the upmap
  prior to exec we must still access the parent's map and not the child's,
  which means that the stored PID will be incorrect.

  To fix this issue we add the invfork field which allows userland to
  determine whether this is a vforked child accessing the parent's map.
  If it is, getpid() will use the system call.

* Fix a bug where a vfork()d child creates p->p_upmap for itself but then
  maps it into the parent's address space as a side effect of a getpid()
  or other call.  When this situation is detected, /dev/upmap will use
  the parent's p_upmap and not the child's, and also properly set the
  invfork flag.

* Implement system call overrides for getpid(), setproctitle(), and
  clock_gettime() (*_FAST and *_SECOND clock ids).  When more than 10 calls
  are made to one of these functions the new libc upmap/kpmap support is
  activated.  /dev/upmap and /dev/kpmap will be memory-mapped into the
  address space and further accesses will run through the maps instead of
  making system calls.

  This will obviously reduce overhead for these calls by a very significant
  multiplier.

* NOTE! gettimeofday() is still a system call and will likely remain a system
	call in order to return a fine-grained time value.  Third-party code
	that doesn't need a fine-grained time value must use clock_gettime()
	to obtain the new performance efficiencies.
vkernel - Support BPF for if_vke.

* if_vke now supports tcpdump in both directions instead of just one
  direction.
acpiconf.8: Remove duplicate SEE ALSO.
Sort SEE ALSO in libusb20.3 and environ.7
kernel - Add /dev/upmap and /dev/kpmap and sys/upmap.h (4)

* Properly remove pte entries for VM_MAPTYPE_UKSMAP mappings.  This maptype
  will have a NULL object.

* Fixes a vkernel panic, probably fixes a page leak in real kernels.
vkernel - Enhance panic message for freeing held page table page

* Adjust the 'freeing held page table page' to say 'freeing held pt page'
  and also include a bunch of pointer and other information.
dma(8): Fix some comment typos.
vkernel: Add rudimentary media support to if_vke
Add ifmedia(4) reference to vkernel.7 (which is vke's manual page too).
rc.d/nfsd: Add shutdown keyword so as it's stopped at shutdown.
dma(8): Better integration with our periodic scripts.

* Make dma(8) accept the -Ac option when run as 'mailq'. Also make it
  run as 'hoststat' and 'purgestat' (does nothing in this case).

* Adjust the 440.status-mailq daily periodic script to also check for
  "Mail queue is empty", which is dma(8)'s corresponding text.

Note: We really should be suppressing the checking of the submit queue
      automatically if mailer.conf is set up for dma(8) but I'm not
      sure yet what's the best way.

Reported and tested by Max Herrgard <herrgard@gmail.com>.
kernel - Add the nitems(x) macro from FreeBSD to sys/param.h

* Horrible name but... ok.
kernel: FWIW, add FreeBSD's led(4) framework.

It's not big and some ACPI code can utilize it.

Also add -l to morse(6) to output in led(4) compatible format.

Thanks to Markus Pfeiffer and Johannes Hofmann for testing and
finding issues.

Taken-from: FreeBSD
kernel - Fix int/long truncation problem in rman_reserve_resource()

* Use ulmin/ulmax instead of min/max in three places, fixing a 32-bit
  truncation problem when setting up memory resources that caused our
  48-core opteron to panic.

* An earlier commit adjusting count values to be more correct revealed
  the bug.

* Fixes booting the kernel on our 48-core opteron w/128G of ram.
customcc: Improve wrapper script efficiency and capabilities

The wrapper script had some deficies, such as:
 * awk called every invocation
 * cc and gcc treated the same
 * c++ and g++ treated the same
 * evals for variables not used
 * every invocation of c++ or g++ called cc -dumpmachine
 * g++ hardcoded to dports include scheme
 * no support for "CC" or "gcov" (both defined by base compilers)

The update addresses these by:
 * awk eliminated by pushing INCOPT definition to defaults/compilers.conf
 * cc -dumpmachine eliminated during creation of defaults/compilers.conf
   It was only used for dports gcc, so with the assumption that the dports
   compiler matches the uname information (a decent assumption), this
   was predefined, yet overridable by /etc/compilers.conf
 * cc is treated separately from gcc
 * CC and c++ are treated the same but separately from g++
 * by wrapper default, gcc and g++ refer to base gcc4.7, but the default
   compilers.conf sets them to the same as the specified dports gcc
 * Support for clang, clang++, clang-cpp, CC, and gcov was added
 * Support for base clang, clang++, and clang-cpp was added in
   anticipation of bringing clang into base.
 * variables are only evaluated if used.
 * supports the ability to have gcc, g++, clang, clang++ point to base
   compilers while cc, c++, CC point to custom compiler.  However, the
   custom compiler can also point to any combination of cc, gcc, c++, and
   g++ and that's controllable by compilers.conf.

The /etc/defaults/compilers.conf file was augmented and support for
clang35 from dports added.  man 5 compilers.conf was edited accordingly
with placeholders for <version>_CLANG, <version>_CLANGCXX and
<version>_CLANGCPP which aren't applicable until clang comes into base.