Documentation: Add Doxygen infrastructure

We diverge from Linux kernel style and use Doxygen as our code
documentation generator, see [1] for the reasoning. This adds the
required build infrastructure. Run "make docs" to trigger it (not
automatically done via other targets).

[1] http://thread.gmane.org/gmane.linux.jailhouse/1281

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Prefix arch-specific PCI functions properly

Add the "arch_"-prefix to pci_suppress_msi, pci_update_msi and
pci_update_msix_vector. This clearly signals that those functions have
to be implemented by the architecture support.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Document PCI subsystem

Convert existing kernel-doc comments to doxygen style and add missing
functions and structure descriptions for public interfaces. Architecture
specific functions are documented in the headers to avoid duplications
at the implementation site.

No functional changes.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Rename page_map_* -> paging_*

The module is already called "paging", so lets call its functions like
this as well. No functional changes.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Rename *MAX_PAGE_DIR_LEVELS to *MAX_PAGE_TABLE_LEVELS

To be consistent with terms used throughout the hypervisor.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Rename arch-specific cache and TLB flush functions

Consistently add "arch_" and the subsystem prefix und use clearer names
for cache and TLB flushing services.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Document page management subsystem

This adds doxygen-style documentation for the page management subsystem.
Again, we place documenation of architecture-provided entities in the
generic header.

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