msgport: Add message put done receipt support

The receipt callback is called immediately after the message is put on to
the target msgport.  Complex operation is NOT allowed in this callback,
since it could be called w/ spinlock for spin msgports.

It will be used to fix the race between the upper half (socket code)
and the so_port switching.
tcp: Fix upper half (socket code) and so_port switching race.

Use message put done receipt to change this socket's so_port, i.e. _after_
this message was put onto the target netisr's msgport but _before_ the
message could be pulled from the target netisr's msgport, so that:
- The upper half (socket code) will not see the new msgport before this
  message reaches the new msgport and messages for this socket will be
  ordered.
- This message will see the new msgport, when its handler is called in the
  target netisr.

Add comment about it and explain why the so_port switching should be done
in this commit's fashion.

Reported-by: dillon@
tools/netrate: Use FIONBIO to make the socket nonblocking
agp/drm: Rename agp_i810.h to intel-gtt.h

So that we use the same file name as Linux.
agp/drm: Remove intel_gtt_get_bridge_device()
kernel - Fix PF SMP issues

* Fix an address table scan race that can cause packets to not match.

* The same fix also fixes a NULL pointer dereference caused by the
  same scan race.

Reported-by: alexh (and testing too)
drm/i915: Sync i915_gem_evict.c with Linux 3.8.13
drm/i915: Enable Haswell support

* The drm/i915 driver includes its own set of PCI ids, making those in
  drm_pciids.h redundant. Remove i915/i930 ids from this file.

* Unfortunately our old drm code base expects to directly use device
  lists with a different format.

* Rewrite the i915_probe() routine to use the driver-included device
  list and patch a special-purpose, one-element list in the legacy
  format at runtime to make the old drm_attach() routine and associated
  code happy.

* At this point, Haswell GPUs still exhibit display corruption issues
  with 2D acceleration. Disabling it in xorg.conf is recommended.
agp: Add more Haswell PCI IDs
drm/i915: i915_emit_box() from Linux 3.8.13
drm: Add Linux kmap functions

These implementations are only suitable for use with systems with
direct memory maps, which means amd64/x86-64 for now.