* [PATCH v1 0/2] introduce stub directory to storing empty/stub headers @ 2023-08-28 15:57 Oleksii Kurochko 2023-08-28 15:57 ` [PATCH v1 1/2] xen: add stubs dir to include path Oleksii Kurochko 2023-08-28 15:57 ` [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs Oleksii Kurochko 0 siblings, 2 replies; 6+ messages in thread From: Oleksii Kurochko @ 2023-08-28 15:57 UTC (permalink / raw) To: xen-devel Cc: Tamas K Lengyel, Oleksii Kurochko, Andrew Cooper, George Dunlap, Jan Beulich, Julien Grall, Stefano Stabellini, Wei Liu, Bertrand Marquis, Volodymyr Babchuk A lot of empty/stub headers should be introduced during the early steps of adding support of new architecture. An example can be found here: 1. https://lore.kernel.org/xen-devel/cover.1692181079.git.oleksii.kurochko@gmail.com/ 2. https://lore.kernel.org/xen-devel/a92f99e8f697da99d77bfde562a549dbef3760ce.1692816595.git.sanastasio@raptorengineering.com/ As part of the patch series, asm/vm_event.h was moved to the stubs directory because It is the same for ARM, PPC, and RISC-V. Oleksii Kurochko (2): xen: add stubs dir to include path xen: move arm/include/asm/vm_event.h to stubs xen/Makefile | 1 + xen/arch/arm/include/asm/vm_event.h | 66 ----------------------------- xen/include/stubs/asm/vm_event.h | 55 ++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 66 deletions(-) delete mode 100644 xen/arch/arm/include/asm/vm_event.h create mode 100644 xen/include/stubs/asm/vm_event.h -- 2.41.0 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v1 1/2] xen: add stubs dir to include path 2023-08-28 15:57 [PATCH v1 0/2] introduce stub directory to storing empty/stub headers Oleksii Kurochko @ 2023-08-28 15:57 ` Oleksii Kurochko 2023-08-28 15:57 ` [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs Oleksii Kurochko 1 sibling, 0 replies; 6+ messages in thread From: Oleksii Kurochko @ 2023-08-28 15:57 UTC (permalink / raw) To: xen-devel Cc: Tamas K Lengyel, Oleksii Kurochko, Andrew Cooper, George Dunlap, Jan Beulich, Julien Grall, Stefano Stabellini, Wei Liu stubs dir will contain empty/stubs generic for all architectures headers. Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> --- xen/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/xen/Makefile b/xen/Makefile index f57e5a596c..64c3542c84 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -438,6 +438,7 @@ ifdef building_out_of_srctree endif CFLAGS += -I$(srctree)/include CFLAGS += -I$(srctree)/arch/$(SRCARCH)/include +CFLAGS += -I$(srctree)/include/stubs # Note that link order matters! ALL_OBJS-y := common/built_in.o -- 2.41.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs 2023-08-28 15:57 [PATCH v1 0/2] introduce stub directory to storing empty/stub headers Oleksii Kurochko 2023-08-28 15:57 ` [PATCH v1 1/2] xen: add stubs dir to include path Oleksii Kurochko @ 2023-08-28 15:57 ` Oleksii Kurochko 2023-08-28 16:05 ` Jan Beulich 1 sibling, 1 reply; 6+ messages in thread From: Oleksii Kurochko @ 2023-08-28 15:57 UTC (permalink / raw) To: xen-devel Cc: Tamas K Lengyel, Oleksii Kurochko, Stefano Stabellini, Julien Grall, Bertrand Marquis, Volodymyr Babchuk, Andrew Cooper, George Dunlap, Jan Beulich, Wei Liu asm/vm_event.h is common for ARM and RISC-V so it will be moved to stubs dir. Original asm/vm_event.h from ARM was updated: * use SPDX-License-Identifier. * update comment messages of stubs. * update #ifdef Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> --- xen/arch/arm/include/asm/vm_event.h | 66 ----------------------------- xen/include/stubs/asm/vm_event.h | 55 ++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 66 deletions(-) delete mode 100644 xen/arch/arm/include/asm/vm_event.h create mode 100644 xen/include/stubs/asm/vm_event.h diff --git a/xen/arch/arm/include/asm/vm_event.h b/xen/arch/arm/include/asm/vm_event.h deleted file mode 100644 index 4d861373b3..0000000000 --- a/xen/arch/arm/include/asm/vm_event.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * vm_event.h: architecture specific vm_event handling routines - * - * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com) - * - * 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_ARM_VM_EVENT_H__ -#define __ASM_ARM_VM_EVENT_H__ - -#include <xen/sched.h> -#include <public/domctl.h> - -static inline int vm_event_init_domain(struct domain *d) -{ - /* Nothing to do. */ - return 0; -} - -static inline void vm_event_cleanup_domain(struct domain *d) -{ - memset(&d->monitor, 0, sizeof(d->monitor)); -} - -static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v, - vm_event_response_t *rsp) -{ - /* Not supported on ARM. */ -} - -static inline -void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp) -{ - /* Not supported on ARM. */ -} - -static inline -void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp) -{ - /* Not supported on ARM. */ -} - -static inline -void vm_event_sync_event(struct vcpu *v, bool value) -{ - /* Not supported on ARM. */ -} - -static inline -void vm_event_reset_vmtrace(struct vcpu *v) -{ - /* Not supported on ARM. */ -} - -#endif /* __ASM_ARM_VM_EVENT_H__ */ diff --git a/xen/include/stubs/asm/vm_event.h b/xen/include/stubs/asm/vm_event.h new file mode 100644 index 0000000000..6bda6ce7df --- /dev/null +++ b/xen/include/stubs/asm/vm_event.h @@ -0,0 +1,55 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * vm_event.h: stubs for architecture specific vm_event handling routines + * + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com) + */ + +#ifndef __ASM_STUB_VM_EVENT_H__ +#define __ASM_STUB_VM_EVENT_H__ + +#include <xen/sched.h> +#include <public/domctl.h> + +static inline int vm_event_init_domain(struct domain *d) +{ + /* Nothing to do. */ + return 0; +} + +static inline void vm_event_cleanup_domain(struct domain *d) +{ + memset(&d->monitor, 0, sizeof(d->monitor)); +} + +static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v, + vm_event_response_t *rsp) +{ + /* Nothing to do. */ +} + +static inline +void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp) +{ + /* Nothing to do. */ +} + +static inline +void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp) +{ + /* Nothing to do. */ +} + +static inline +void vm_event_sync_event(struct vcpu *v, bool value) +{ + /* Nothing to do. */ +} + +static inline +void vm_event_reset_vmtrace(struct vcpu *v) +{ + /* Nothing to do. */ +} + +#endif /* __ASM_STUB_VM_EVENT_H__ */ -- 2.41.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs 2023-08-28 15:57 ` [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs Oleksii Kurochko @ 2023-08-28 16:05 ` Jan Beulich 2023-08-29 12:14 ` Oleksii 0 siblings, 1 reply; 6+ messages in thread From: Jan Beulich @ 2023-08-28 16:05 UTC (permalink / raw) To: Oleksii Kurochko Cc: Tamas K Lengyel, Stefano Stabellini, Julien Grall, Bertrand Marquis, Volodymyr Babchuk, Andrew Cooper, George Dunlap, Wei Liu, xen-devel On 28.08.2023 17:57, Oleksii Kurochko wrote: > asm/vm_event.h is common for ARM and RISC-V so it will be moved to > stubs dir. > > Original asm/vm_event.h from ARM was updated: > * use SPDX-License-Identifier. > * update comment messages of stubs. > * update #ifdef When generalizing such a header, more tidying wants doing imo: > --- /dev/null > +++ b/xen/include/stubs/asm/vm_event.h > @@ -0,0 +1,55 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * vm_event.h: stubs for architecture specific vm_event handling routines > + * > + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com) > + */ > + > +#ifndef __ASM_STUB_VM_EVENT_H__ > +#define __ASM_STUB_VM_EVENT_H__ > + > +#include <xen/sched.h> > +#include <public/domctl.h> I can't spot why this is being included here. All that's needed ought to be public/vm_event.h, and even that only if we were to continue to use vm_event_response_t in the function definitions (which isn't really necessary). > +static inline int vm_event_init_domain(struct domain *d) > +{ > + /* Nothing to do. */ > + return 0; > +} > + > +static inline void vm_event_cleanup_domain(struct domain *d) > +{ > + memset(&d->monitor, 0, sizeof(d->monitor)); This looks to be the sole reason that xen/sched.h is needed. I question the existence of that field in the first place when this stub is being used. But I guess cleaning that up as well might be going too far. Jan ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs 2023-08-28 16:05 ` Jan Beulich @ 2023-08-29 12:14 ` Oleksii 2023-08-29 12:19 ` Jan Beulich 0 siblings, 1 reply; 6+ messages in thread From: Oleksii @ 2023-08-29 12:14 UTC (permalink / raw) To: Jan Beulich Cc: Tamas K Lengyel, Stefano Stabellini, Julien Grall, Bertrand Marquis, Volodymyr Babchuk, Andrew Cooper, George Dunlap, Wei Liu, xen-devel On Mon, 2023-08-28 at 18:05 +0200, Jan Beulich wrote: > On 28.08.2023 17:57, Oleksii Kurochko wrote: > > asm/vm_event.h is common for ARM and RISC-V so it will be moved to > > stubs dir. > > > > Original asm/vm_event.h from ARM was updated: > > * use SPDX-License-Identifier. > > * update comment messages of stubs. > > * update #ifdef > > When generalizing such a header, more tidying wants doing imo: > > > --- /dev/null > > +++ b/xen/include/stubs/asm/vm_event.h > > @@ -0,0 +1,55 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +/* > > + * vm_event.h: stubs for architecture specific vm_event handling > > routines > > + * > > + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com) > > + */ > > + > > +#ifndef __ASM_STUB_VM_EVENT_H__ > > +#define __ASM_STUB_VM_EVENT_H__ > > + > > +#include <xen/sched.h> > > +#include <public/domctl.h> > > I can't spot why this is being included here. All that's needed ought > to > be public/vm_event.h, and even that only if we were to continue to You are right. I'll change public/domctl.h to public/vm_event.h. > use > vm_event_response_t in the function definitions (which isn't really > necessary). > > > +static inline int vm_event_init_domain(struct domain *d) > > +{ > > + /* Nothing to do. */ > > + return 0; > > +} > > + > > +static inline void vm_event_cleanup_domain(struct domain *d) > > +{ > > + memset(&d->monitor, 0, sizeof(d->monitor)); > > This looks to be the sole reason that xen/sched.h is needed. I > question > the existence of that field in the first place when this stub is > being > used. But I guess cleaning that up as well might be going too far. What do you mean by the existence of the field? Looking at declaration of struct domain, monitor field always exists. Could we leave initialisation of d->monitor for now? ~ Oleksii ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs 2023-08-29 12:14 ` Oleksii @ 2023-08-29 12:19 ` Jan Beulich 0 siblings, 0 replies; 6+ messages in thread From: Jan Beulich @ 2023-08-29 12:19 UTC (permalink / raw) To: Oleksii Cc: Tamas K Lengyel, Stefano Stabellini, Julien Grall, Bertrand Marquis, Volodymyr Babchuk, Andrew Cooper, George Dunlap, Wei Liu, xen-devel On 29.08.2023 14:14, Oleksii wrote: > On Mon, 2023-08-28 at 18:05 +0200, Jan Beulich wrote: >> On 28.08.2023 17:57, Oleksii Kurochko wrote: >>> +static inline void vm_event_cleanup_domain(struct domain *d) >>> +{ >>> + memset(&d->monitor, 0, sizeof(d->monitor)); >> >> This looks to be the sole reason that xen/sched.h is needed. I >> question >> the existence of that field in the first place when this stub is >> being >> used. But I guess cleaning that up as well might be going too far. > What do you mean by the existence of the field? Looking at declaration > of struct domain, monitor field always exists. Right, and that's what I consider questionable. > Could we leave initialisation of d->monitor for now? As said, asking you to also do that aspect of cleanup is probably going too far, so yes, I guess you can leave that alone. Jan ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-08-29 12:19 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-08-28 15:57 [PATCH v1 0/2] introduce stub directory to storing empty/stub headers Oleksii Kurochko 2023-08-28 15:57 ` [PATCH v1 1/2] xen: add stubs dir to include path Oleksii Kurochko 2023-08-28 15:57 ` [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs Oleksii Kurochko 2023-08-28 16:05 ` Jan Beulich 2023-08-29 12:14 ` Oleksii 2023-08-29 12:19 ` Jan Beulich
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.