driver: Introduce for_each_cell_cpu

Model for_each_cell_cpu after the kernel's for_each_cpu to simplify the
walk though cell CPU masks.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
driver: Unmap cell RAM on mutex interruption

If we may leave mutex_lock_interruptible unsuccessfully, we should also
properly release the iomapping of the guest RAM.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
driver: Report reason for failing iomapping on cell construction

Can help with debugging incorrect configurations.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
driver: Bring offlined CPUs online again when cell creation failed

This is more user-friendly than leaving them offline - which will also
cause troubles when disabling the hypervisor again.

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