[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 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> with ... > --- a/xen/arch/x86/Kconfig > +++ b/xen/arch/x86/Kconfig > @@ -92,6 +92,7 @@ config PV_LINEAR_PT > > config HVM > def_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). (Personally I think this should be config HVM bool "HVM support" default !PV_SHIM_EXCLUSIVE 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). Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |