arm/ioreq: Introduce arch specific bits for IOREQ/DM features
authorJulien Grall <julien.grall@arm.com>
Fri, 29 Jan 2021 01:48:42 +0000 (03:48 +0200)
committerJulien Grall <jgrall@amazon.com>
Fri, 29 Jan 2021 16:55:23 +0000 (16:55 +0000)
commitcb9953d2f2bc9c61e482250411574a36a916e91a
treef511a460f42e067224dfdfab911535ac4ed9bb81
parent94aeaaa77e6eba6ca50f7bd742f2f356efb85926
arm/ioreq: Introduce arch specific bits for IOREQ/DM features

This patch adds basic IOREQ/DM support on Arm. The subsequent
patches will improve functionality and add remaining bits.

The IOREQ/DM features are supposed to be built with IOREQ_SERVER
option enabled, which is disabled by default on Arm for now.

Please note, the "PIO handling" TODO is expected to left unaddressed
for the current series. It is not an big issue for now while Xen
doesn't have support for vPCI on Arm. On Arm64 they are only used
for PCI IO Bar and we would probably want to expose them to emulator
as PIO access to make a DM completely arch-agnostic. So "PIO handling"
should be implemented when we add support for vPCI.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
[On Arm only]
Tested-by: Wei Chen <Wei.Chen@arm.com>
xen/arch/arm/Makefile
xen/arch/arm/dm.c [new file with mode: 0644]
xen/arch/arm/domain.c
xen/arch/arm/io.c
xen/arch/arm/ioreq.c [new file with mode: 0644]
xen/arch/arm/traps.c
xen/include/asm-arm/domain.h
xen/include/asm-arm/ioreq.h [new file with mode: 0644]
xen/include/asm-arm/mmio.h