core/driver: Consolidate bss_start/end header fields to core_size

We only need to know how large the hypervisor core is, i.e. the part
that is loaded into RAM during initialization. That this size is derived
from the end of the bss section can be seen in our linker script.
bss_start was completely unused so far.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Factor out FOREIGN_MAPPING_CPU_BASE

Encapsulate the calculation for the start of the per-CPU mapping region.
We use a macro to avoid having to include percpu.h from paging.h which
would create circular dependencies soon.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Get rid of unusual term "foreign"

In order to avoid using unusual terms for well-known things, rename
page_map_get_foreign_page to page_map_get_guest_page. Also avoid the
term foreign in related constants, calling the mapping target area now
temporary mapping region.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Move TEMPORARY_MAPPING_BASE define to generic header

The temporary mapping region is always located at the beginning of the
remapping pool. That's already encoded into generic code, so move the
symbolic address over as well.

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