[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1553576023-6434-1-git-send-email-yakui.zhao@intel.com>
Date: Tue, 26 Mar 2019 12:53:40 +0800
From: Zhao Yakui <yakui.zhao@...el.com>
To: linux-kernel@...r.kernel.org, x86@...nel.org
Cc: Zhao Yakui <yakui.zhao@...el.com>
Subject: [RFC PATCH v2 0/3] arch/x86: Add the support of ACRN guest under arch/x86
ACRN is a flexible, lightweight reference hypervisor, built with real-time
and safety-criticality in mind, optimized to streamline embedded development
through an open source platform. It is built for embedded IOT with small
footprint and real-time features. More details can be found
in https://projectacrn.org/
This is the patch set that allows the Linux to work on ACRN hypervisor and it can
work with the following patch set to manage the Linux guest on acrn-hypervisor. It
includes the detection of acrn_hypervisor, upcall notification vector from
hypervisor, hypercall. The hypervisor detection is similar to Xen/VMWARE/Hyperv.
ACRN also uses the upcall notification mechanism similar to that in Xen/Microsoft
HyperV when it needs to send the notification to Linux OS. The hypercall provides
the mechanism that can be used to query/configure the acrn-hypervisor by Linux guest.
Following this patch set, we will send acrn driver part, which provides the interface
that can be used to manage the virtualized CPU/memory/device/interrupt for other guest
OS after the acrn hypervisor is detected.
v1->v2: Change the CONFIG_ACRN to CONFIG_ACRN_GUEST, which makes it easy to
understand.
Remove the export of x86_hyper_acrn.
Remove the unused API definition of acrn_setup_intr_handler and
acrn_remove_intr_handler.
Adjust the order of header file
Add the declaration of acrn_hv_vector_handler and tracing
definition of acrn_hv_callback_vector.
Refine the comments for the function of acrn_hypercall0/1/2
Zhao Yakui (3):
arch/x86: add the support of ACRN guest
arch/x86/acrn: Use HYPERVISOR_CALLBACK_VECTOR for Acrn upcall vector
arch/x86/acrn: add hypercall for acrn_guest
arch/x86/Kconfig | 8 ++++
arch/x86/entry/entry_64.S | 5 +++
arch/x86/include/asm/acrn_hypercall.h | 84 +++++++++++++++++++++++++++++++++++
arch/x86/include/asm/acrnhyper.h | 19 ++++++++
arch/x86/include/asm/hardirq.h | 3 +-
arch/x86/include/asm/hypervisor.h | 1 +
arch/x86/kernel/cpu/Makefile | 1 +
arch/x86/kernel/cpu/acrn.c | 57 ++++++++++++++++++++++++
arch/x86/kernel/cpu/hypervisor.c | 4 ++
arch/x86/kernel/irq.c | 3 +-
10 files changed, 183 insertions(+), 2 deletions(-)
create mode 100644 arch/x86/include/asm/acrn_hypercall.h
create mode 100644 arch/x86/include/asm/acrnhyper.h
create mode 100644 arch/x86/kernel/cpu/acrn.c
--
2.7.4
Powered by blists - more mailing lists