Fix mips64 and mipsn32 bilds by using proper register names.


git-svn-id: svn://svn.freebsd.org/base/head@249878 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add RIP-relative addressing to the instruction decoder.
Rework the guest register fetch code to allow the RIP to
be extracted from the VMCS while the kernel decoder is
functioning.

Hit by the OpenBSD local-apic code.

Submitted by:	neel
Reviewed by:	grehan
Obtained from:	NetApp


git-svn-id: svn://svn.freebsd.org/base/head@249879 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove the Fortran directories.


git-svn-id: svn://svn.freebsd.org/base/head@249880 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Use the defines from pcb.h over the ones from regnum.h for this 'C'
code. In theory, the ones from regnum.h should be used only for
assembler code.


git-svn-id: svn://svn.freebsd.org/base/head@249881 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Make it possible to include this file in assembler .S sources.


git-svn-id: svn://svn.freebsd.org/base/head@249882 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Respect the enoent_ok flag if reporting error for holding an non-existing
snapshot.

Related illumos ZFS issue:
  3699 zfs hold or release of a non-existent snapshot does not output error

Reported by:	Steven Hartland <smh@FreeBSD.org>
MFC after:	3 days


git-svn-id: svn://svn.freebsd.org/base/head@249883 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
revert r248644 because of the regression for usdt probes

USDT probes are advertised to kernel by initialization code with
atrribute((constructor))).  It seems that on Solaris the .init-ish code
of the main object is executed before RD_PREINIT point is hit.  On
FreeBSD that is not the case.  And because on FreeBSD there is no other
well-defined point between RD_PREINIT and main() we have to parse a
DTrace script when main is hit, for time being.

A footnote: currently we actually post RD_POSTINIT event, but that's a
bug because the event is triggered by hitting r_debug_state which
happens before any init code is executed.

Reported by:	markj


git-svn-id: svn://svn.freebsd.org/base/head@249884 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix installworld with DB_FROM_SRC after r249807

Approved by:	bapt
Reported by:	Tom Everett


git-svn-id: svn://svn.freebsd.org/base/head@249893 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Introduce a pointer to const variable gw, which points either at the
same place as dst, or to the sockaddr in the routing table.

The const constraint of gw makes us safe from modifing routing table
accidentially. And "onstantness" of dst allows us to remove several
bandaids, when we switched it back at &ro->ro_dst, now it always
points there.

Reviewed by:	rrs


git-svn-id: svn://svn.freebsd.org/base/head@249894 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Adds Host Protected Area (HPA) support for ATA disks to camcontrol

Reviewed by:	mav
Approved by:	pjd (mentor)
MFC after:	2 weeks


git-svn-id: svn://svn.freebsd.org/base/head@249895 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Restore the ipNetToMedia MIB, that was broken with new ARP commit
in the r186119.

Submitted by:	Konstantin Kukushkin <dark rambler-co.ru>


git-svn-id: svn://svn.freebsd.org/base/head@249896 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Don't free memory that is going to be used as error string.

PR:		bin/178121
Submitted by:	Garrett Cooper <yaneurabeya gmail.com>


git-svn-id: svn://svn.freebsd.org/base/head@249897 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Use the offsets from pcb.h rather than regnum.h to store the registers
in the pcb. setjmp/longjmp in the kernel also used these values, so
continue to use them although their use isn't technically the pcb
register array (matching is all that's important for setjmp/longjmp in
the kernel). Finally, eliminate the old register names from regnum.h.

This is a lexical change only. The non-debug .o files have the same md5.


git-svn-id: svn://svn.freebsd.org/base/head@249901 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Minor whitespace nit


git-svn-id: svn://svn.freebsd.org/base/head@249902 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix couple of mbuf leaks in incoming ARP processing.


git-svn-id: svn://svn.freebsd.org/base/head@249903 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
mdoc: remove superfluous paragraph macro.


git-svn-id: svn://svn.freebsd.org/base/head@249904 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove deprecated APIs to get the total and free memory available to vmm.ko.

These APIs were relevant when memory for virtual machine allocation was
hard partitioned away from the rest of the system but that is no longer
the case. The sysctls that provided this information were garbage collected
a while back.

Obtained from:	NetApp


git-svn-id: svn://svn.freebsd.org/base/head@249905 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Use the system MAKEOBJDIRPREFIX when running make targets in
mergemaster.  This allows bootstrap verions of tools to be used.

Add a note to UPDATING about this change.

Discussed with:	jhb
Sponsored by:	DARPA, AFRL
MFC after:	5 days


git-svn-id: svn://svn.freebsd.org/base/head@249906 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
In the case where the controller supports an sg_list LESS than our predefined
and tuned value, we would advertise the unsupported value to CAM and it would
merrily destroy the controller with way too many IO operations.

This manifests itself in a Zero Memory RAID configuration for a P410 and
possibly other controllers.

Obtained from:	Yahoo! Inc.
MFC after:	2 weeks


git-svn-id: svn://svn.freebsd.org/base/head@249908 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Gripe if some <slot,function> tuple is specified more than once instead of
silently overwriting the previous assignment.

Gripe if the emulation is not recognized instead of silently ignoring the
emulated device.

If an error is detected by pci_parse_slot() then exit from the command line
parsing loop in main().

Submitted by (initial version):	Chris Torek (chris.torek@gmail.com)


git-svn-id: svn://svn.freebsd.org/base/head@249916 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f