mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
This functionality is going to reside in vpci.c (and the corresponding vpci.h header), and should be arch-agnostic. The handlers introduced in this patch setup the basic functionality required in order to trap accesses to the PCI config space, and allow decoding the address and finding the corresponding handler that should handle the access (although no handlers are implemented). Note that the traps to the PCI IO ports registers (0xcf8/0xcfc) are setup inside of a x86 HVM file, since that's not shared with other arches. A new XEN_X86_EMU_VPCI x86 domain flag is added in order to signal Xen whether a domain should use the newly introduced vPCI handlers, this is only enabled for PVH Dom0 at the moment. A very simple user-space test is also provided, so that the basic functionality of the vPCI traps can be asserted. This has been proven quite helpful during development, since the logic to handle partial accesses or accesses that expand across multiple registers is not trivial. The handlers for the registers are added to a linked list that's keep sorted at all times. Both the read and write handlers support accesses that expand across multiple emulated registers and contain gaps not emulated. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> [IO parts] Reviewed-by: Paul Durrant <paul.durrant@citrix.com> [ARM] Acked-by: Julien Grall <julien.grall@arm.com> [Tools] Acked-by: Wei Liu <wei.liu2@citrix.com>
24 lines
486 B
Makefile
24 lines
486 B
Makefile
XEN_ROOT = $(CURDIR)/../..
|
|
include $(XEN_ROOT)/tools/Rules.mk
|
|
|
|
CFLAGS += $(CFLAGS_libxenctrl)
|
|
LDLIBS += $(LDLIBS_libxenctrl)
|
|
|
|
SUBDIRS-y :=
|
|
SUBDIRS-$(CONFIG_X86) += mce-test
|
|
SUBDIRS-y += mem-sharing
|
|
ifeq ($(XEN_TARGET_ARCH),__fixme__)
|
|
SUBDIRS-y += regression
|
|
endif
|
|
SUBDIRS-$(CONFIG_X86) += x86_emulator
|
|
SUBDIRS-y += xen-access
|
|
SUBDIRS-y += xenstore
|
|
SUBDIRS-$(CONFIG_HAS_PCI) += vpci
|
|
|
|
.PHONY: all clean install distclean uninstall
|
|
all clean distclean: %: subdirs-%
|
|
|
|
install:
|
|
|
|
uninstall:
|