[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH V5 04/22] xen/ioreq: Make x86's IOREQ feature common
On 27.01.21 18:58, Jan Beulich wrote: Hi Jan On 25.01.2021 20:08, Oleksandr Tyshchenko wrote:From: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> As a lot of x86 code can be re-used on Arm later on, this patch moves previously prepared IOREQ support to the common code (the code movement is verbatim copy). The "legacy" mechanism of mapping magic pages for the IOREQ servers remains x86 specific and not exposed to the common code. The common IOREQ feature is supposed to be built with IOREQ_SERVER option enabled, which is selected for x86's config HVM for now. In order to avoid having a gigantic patch here, the subsequent patches will update remaining bits in the common code step by step: - Make IOREQ related structs/materials common - Drop the "hvm" prefixes and infixes - Remove layering violation by moving corresponding fields out of *arch.hvm* or abstracting away accesses to them Introduce asm/ioreq.h wrapper to be included by common ioreq.h instead of asm/hvm/ioreq.h to avoid HVM-ism in the code common. Also include <xen/domain_page.h> which will be needed on Arm to avoid touch the common code again when introducing Arm specific bits. This support is going to be used on Arm to be able run device emulator outside of Xen hypervisor. Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> Reviewed-by: Paul Durrant <paul@xxxxxxx> CC: Julien Grall <julien.grall@xxxxxxx> [On Arm only] Tested-by: Wei Chen <Wei.Chen@xxxxxxx>Acked-by: Jan Beulich <jbeulich@xxxxxxxx> Thanks with ...--- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -92,6 +92,7 @@ config PV_LINEAR_PTconfig HVMdef_bool !PV_SHIM_EXCLUSIVE + select IOREQ_SERVER prompt "HVM support" ---help---... the addition moved below the prompt line (could probably be taken care of while committing, if no other need for a v6 arises). V6 is planned anyway, so will do, but ... (Personally I think this should be config HVM bool "HVM support" default !PV_SHIM_EXCLUSIVE ... def_bool is changed to default by intention or this is a typo? select IOREQ_SERVER ---help--- anyway, but that's nothing you need to care about.)--- /dev/null +++ b/xen/include/asm-x86/ioreq.h @@ -0,0 +1,37 @@ +/* + * ioreq.h: Hardware virtual machine assist interface definitions. + * + * This is a wrapper which purpose is to not include arch HVM specific header + * from the common code. + * + * Copyright (c) 2016 Citrix Systems Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef __ASM_X86_IOREQ_H__ +#define __ASM_X86_IOREQ_H__ + +#include <asm/hvm/ioreq.h> + +#endif /* __ASM_X86_IOREQ_H__ */Not necessarily for taking care of right away, I think in the longer run this wants wrapping by #ifdef CONFIG_HVM, such that in !HVM builds the dependency on the "chained" header goes away (reducing the amount of rebuilding in incremental builds). I don't mind wrapping it right away. Jan -- Regards, Oleksandr Tyshchenko
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |