x86: Add some MSI register fields needed for future use

Add the fields which is necessary for implementing vt-d fault reporting
via NMI-interrupts.

Signed-off-by: Ivan Kolchin <ivan.kolchin@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Add ffsl() and rename ffz() to ffzl() for consistency
 Bit operations intended for use instead of using built-in functions.

Signed-off-by: Ivan Kolchin <ivan.kolchin@siemens.com>
[Jan: Renamed ffz placeholder for ARM as well]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Add fault reporting in VT-d

The reporting facilitates configuration of PCI-devices. If there's
an error then corresponding message is shown in a console.
The reporting is implemented as delivery of NMI-interrupts via MSI to
one of the Linux cell's cores.

Signed-off-by: Ivan Kolchin <ivan.kolchin@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Modify config-file for Celsius-W420 to be consistent with huge tables.

Align the hypervisor region on a 2M boundary to avoid having to map it with
4K pages.

Signed-off-by: Ivan Kolchin <ivan.kolchin@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Minor style adjustment in VT-d code

Remove additional blank lines, reindent a few lines to align with
existing code visually. No functional changes.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Reformat VT-d fault output

The fault information field only contains the page address if we face a
address translation fault. So print it without interpretation. Include
the type information in the output to differentiate between read and
write requests. Further reformatting is done to make the output more
compact.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>