HomeFreeBSD

Description

iflib:

Add internal tracking of smp startup status to reliably figure out
what methods are to be used to get gtaskqueue up and running.

e1000:

Calculating this pointer gives undefined behaviour when (last == -1)
(it is before the buffer).  The pointer is always followed.  Panics
occurred when it points to an unmapped page.  Otherwise, the pointed-to
garbage tends to not have the E1000_TXD_STAT_DD bit set in it, so in the
broken case the loop was usually null and the function just returned, and
this was acidentally correct.

Submitted by: bde
Reviewed by: Matt Macy <mmacy@nextbsd.org>