Merge branch 'k-nakahara-msi-msix-proto2' into k-nakahara-msi-msix-proto2-test-wm-devel-mq
refactor: cut out descriptor alloc/free as wm_setup_descs()/wm_teardown_descs()
refactor: cut out alloc/free tx,rx buffer as wm_setup_{tx,rx}_buffer()/wm_teardown_{tx,rx}_buffer()
refactor: reorder goto label
separate TX descriptor DMA and RX descriptor DMA
use sc->sc_rxdesc_size instead of fixed size
add ugly comment... I cannot do anything about this code, please question to thorpej@n.o
remove non-existent registers
refactor: cut out initialize tx,rx DMA region as wm_init_{tx,rx}desc() wm_init_{tx,rx}_buffer()
remove unused struct
change macro to inline function
Tweak linux_getifhwaddr

No functional change.
refactor: restructure tx/rx queue
Fixed off-by-one in virtualhost processing. Previous code was checking if
Host header is a prefix of any existing vhost. This behaviour might be used to
uncover existing vitual hosts from the remote.

OK @mrg
divide rxqueue control data from wm_softc to wm_rxqueue
Fixed memory leak in case of multiple authentication headers sent by the
client.

OK mrg@
Merge branch 'k-nakahara-work/if_wm-cleanup' into k-nakahara-msi-msix-proto2-test-wm-devel-mq
Replace callout_stop with callout_halt

In order to call callout_destroy for a callout safely, we have to ensure
the function of the callout is not running and pending. To do so, we should
use callout_halt, not callout_stop.

In this case, we need to pass an interlock to callout_halt to wait for
the callout complete.

Reviewed by riastradh@.
change rxintr parameter wm_softc to wm_rxqueue to support multiqueue
Merge branch 'k-nakahara-msi-msix-proto2-test-wm' into k-nakahara-msi-msix-proto2-test-wm-devel-mq