Add support for BCM575xx devices, variously known as Thor or P5.
There are a few significant differences to earlier devices.
The nic now requires some host memory to use as backing store for its queues,
and for now we're overallocating to some extent. It's not a noticeable amount
of memory for a system with one of these nics in it, so this isn't a huge
concern.
P5 devices have notification queues to act as an indirection between tx/rx
completion rings and msi-x vectors. We set up one per queue and statically
map them to msi-x vectors in turn according to the intrmap.
The doorbell structures are now 64 bits, and all written to through the same
memory address.
Ring groups are not used, so the functions to allocate and free ring groups
don't do anything for P5 devices; instead, rings are directly associated
with each other on creation, and aggregation rings are identified by a
different ring type.
[3 lines not shown]
Draw message as one format, allowing prompts and messages to occupy only
a portion of the status bar, overlaying the normal status content rather
than replacing the entire line. A new message-format option now controls
the entire message (like status-format). From Conor Taylor in GitHub
issue 4861.