[PATCH v10 13/14] xen/riscv: enable full Xen build

2024-05-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Reviewed-by: Jan Beulich --- Changes in V5-V10: - Nothing changed. Only rebase. --- Changes in V4: - drop stubs for irq_actor_none() and irq_actor_none() as common/irq.c is compiled now. - drop defintion of max_page in stubs.c as common/page_alloc.c

[PATCH v10 10/14] xen/riscv: add minimal stuff to mm.h to build full Xen

2024-05-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V8-V10: - Nothing changed only rebase. --- Changes in V7: - update argument type of maddr_to_virt() function: unsigned long -> paddr_t - rename argument of PFN_ORDER(): pfn -> pg. - add Acked-by: Jan Beulich --- C

[PATCH v10 11/14] xen/riscv: introduce vm_event_*() functions

2024-05-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V5-V10: - Only rebase was done. --- Changes in V4: - New patch. --- xen/arch/riscv/Makefile | 1 + xen/arch/riscv/vm_event.c | 19 +++ 2 files changed, 20 insertions(+) create mode 100644 xen/arch/riscv/vm_event.c diff --git

[PATCH v10 06/14] xen/riscv: introduce atomic.h

2024-05-17 Thread Oleksii Kurochko
kernel/patch/1391516953-14541-1-git-send-email-will.dea...@arm.com/ [2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444f...@nvidia.com/ Signed-off-by: Bobby Eshleman Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V10: - drop unnessary parentheses around p i

[PATCH v10 12/14] xen/riscv: add minimal amount of stubs to build full Xen

2024-05-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V7-V10: - Only rebase was done. --- Changes in V6: - update the commit in stubs.c around /* ... common/irq.c ... */ - add Acked-by: Jan Beulich --- Changes in V5: - drop unrelated changes - assert_failed("unimplm

[PATCH v10 05/14] xen/riscv: introduce cmpxchg.h

2024-05-17 Thread Oleksii Kurochko
".aqrl" was approved by (the author of the RVWMO spec) [2] [1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1391516953-14541-1-git-send-email-will.dea...@arm.com/ [2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444f...@nvidia.com/ Signed-off-by: Oleksii K

[PATCH v10 09/14] xen/riscv: add required things to current.h

2024-05-17 Thread Oleksii Kurochko
Add minimal requied things to be able to build full Xen. Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V5-V10: - Nothing changed. Only rebase. --- Changes in V4: - BUG() was changed to BUG_ON("unimplemented"); - Change "xen/bug.h" to "xen/li

[PATCH v10 03/14] xen/bitops: implement fls{l}() in common logic

2024-05-17 Thread Oleksii Kurochko
rototype of the per-architecture fls{l}() functions was changed to return 'unsigned int' to align with the generic implementation of these functions and avoid introducing signed/unsigned mismatches. Signed-off-by: Oleksii Kurochko --- The patch is almost independent from Andrew's patch series

[PATCH v10 14/14] xen/README: add compiler and binutils versions for RISC-V64

2024-05-17 Thread Oleksii Kurochko
to utilize Clang, it's important to note that, currently, there is no Xen RISC-V CI job in place to verify the seamless functioning of the build with Clang. Signed-off-by: Oleksii Kurochko --- Changes in V5-V10: - Nothing changed. Only rebase. --- Changes in V6: - update the message in README

[PATCH v10 01/14] xen/riscv: disable unnecessary configs

2024-05-17 Thread Oleksii Kurochko
requires asm/perf.h and asm/perfc-defn.h, so it is also disabled for now, as RISC-V hasn't introduced this headers yet. LIVEPATCH isn't ready for RISC-V too and it can be overriden by randconfig, so to avoid compilation errors for randconfig it is disabled for now. Signed-off-by: Oleksii Kurochko

[PATCH v10 07/14] xen/riscv: introduce monitor.h

2024-05-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V4-V10: - Nothing changed. Only rebase. --- Changes in V3: - new patch. --- xen/arch/riscv/include/asm/monitor.h | 26 ++ 1 file changed, 26 insertions(+) create mode 100644 xen/arch/riscv/include/asm/monitor.h diff --git

[PATCH v10 04/14] xen/riscv: introduce bitops.h

2024-05-17 Thread Oleksii Kurochko
* __test_and_set_bit Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V10: - update the error message BITS_PER_LONG -> BITOP_BITS_PER_WORD --- Changes in V9: - add Acked-by: Jan Beulich - drop redefinition of bitop_uint_t in asm/types.h as some operation in

[PATCH v10 08/14] xen/riscv: add definition of __read_mostly

2024-05-17 Thread Oleksii Kurochko
The definition of __read_mostly should be removed in: https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b3...@suse.com/ The patch introduces it in arch-specific header to not block enabling of full Xen build for RISC-V. Signed-off-by: Oleksii Kurochko --- - [PATCH] move

[PATCH v10 00/14] Enable build of full Xen for RISC-V

2024-05-17 Thread Oleksii Kurochko
s used. - align arch-riscv.h with Arm's version of it. - change the Author of commit with introduction of asm/atomic.h. - update some definition from spinlock.h. - code style changes. --- Oleksii Kurochko (14): xen/riscv: disable unnecessary configs xen: introduce generic non-atomic test_*bit

[PATCH v10 02/14] xen: introduce generic non-atomic test_*bit()

2024-05-17 Thread Oleksii Kurochko
t_bit(). Signed-off-by: Oleksii Kurochko --- The context ("* Find First Set bit. Bits are labelled from 1." in xen/bitops.h ) suggests there's a dependency on an uncommitted patch. It happens becuase the current patch series is based on Andrew's patch series ( htt

[PATCH v9 14/15] xen/riscv: enable full Xen build

2024-05-06 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Reviewed-by: Jan Beulich --- Changes in V5-V9: - Nothing changed. Only rebase. --- Changes in V4: - drop stubs for irq_actor_none() and irq_actor_none() as common/irq.c is compiled now. - drop defintion of max_page in stubs.c as common/page_alloc.c is compiled

[PATCH v9 13/15] xen/riscv: add minimal amount of stubs to build full Xen

2024-05-06 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V7-V9: - Only rebase was done. --- Changes in V6: - update the commit in stubs.c around /* ... common/irq.c ... */ - add Acked-by: Jan Beulich --- Changes in V5: - drop unrelated changes - assert_failed("unimplm

[PATCH v9 09/15] xen/riscv: add definition of __read_mostly

2024-05-06 Thread Oleksii Kurochko
The definition of __read_mostly should be removed in: https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b3...@suse.com/ The patch introduces it in arch-specific header to not block enabling of full Xen build for RISC-V. Signed-off-by: Oleksii Kurochko --- - [PATCH] move

[PATCH v9 11/15] xen/riscv: add minimal stuff to mm.h to build full Xen

2024-05-06 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V8-V9: - Nothing changed only rebase. --- Changes in V7: - update argument type of maddr_to_virt() function: unsigned long -> paddr_t - rename argument of PFN_ORDER(): pfn -> pg. - add Acked-by: Jan Beulich --- C

[PATCH v9 03/15] xen/bitops: implement fls{l}() in common logic

2024-05-06 Thread Oleksii Kurochko
gned-off-by: Oleksii Kurochko --- The patch is almost independent from Andrew's patch series ( https://lore.kernel.org/xen-devel/20240313172716.2325427-1-andrew.coop...@citrix.com/T/#t) except test_fls() function which IMO can be merged as a separate patch after Andrew's patch will be ful

[PATCH v9 12/15] xen/riscv: introduce vm_event_*() functions

2024-05-06 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V5-V9: - Only rebase was done. --- Changes in V4: - New patch. --- xen/arch/riscv/Makefile | 1 + xen/arch/riscv/vm_event.c | 19 +++ 2 files changed, 20 insertions(+) create mode 100644 xen/arch/riscv/vm_event.c diff --git

[PATCH v9 07/15] xen/riscv: introduce atomic.h

2024-05-06 Thread Oleksii Kurochko
kernel/patch/1391516953-14541-1-git-send-email-will.dea...@arm.com/ [2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444f...@nvidia.com/ Signed-off-by: Bobby Eshleman Signed-off-by: Oleksii Kurochko --- Changes in V9: - update the defintion of write_atomic macros: drop th

[PATCH v9 15/15] xen/README: add compiler and binutils versions for RISC-V64

2024-05-06 Thread Oleksii Kurochko
to utilize Clang, it's important to note that, currently, there is no Xen RISC-V CI job in place to verify the seamless functioning of the build with Clang. Signed-off-by: Oleksii Kurochko --- Changes in V5-V9: - Nothing changed. Only rebase. --- Changes in V6: - update the message in README

[PATCH v9 01/15] xen/riscv: disable unnecessary configs

2024-05-06 Thread Oleksii Kurochko
requires asm/perf.h and asm/perfc-defn.h, so it is also disabled for now, as RISC-V hasn't introduced this headers yet. LIVEPATCH isn't ready for RISC-V too and it can be overriden by randconfig, so to avoid compilation errors for randconfig it is disabled for now. Signed-off-by: Oleksii Kurochko

[PATCH v9 05/15] xen/riscv: introduce bitops.h

2024-05-06 Thread Oleksii Kurochko
* __test_and_set_bit Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V9: - add Acked-by: Jan Beulich - drop redefinition of bitop_uint_t in asm/types.h as some operation in Xen common code expects to work with 32-bit quantities. - s/BITS_PER_LONG

[PATCH v9 08/15] xen/riscv: introduce monitor.h

2024-05-06 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V4-V9: - Nothing changed. Only rebase. --- Changes in V3: - new patch. --- xen/arch/riscv/include/asm/monitor.h | 26 ++ 1 file changed, 26 insertions(+) create mode 100644 xen/arch/riscv/include/asm/monitor.h diff --git

[PATCH v9 10/15] xen/riscv: add required things to current.h

2024-05-06 Thread Oleksii Kurochko
Add minimal requied things to be able to build full Xen. Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V5-V9: - Nothing changed. Only rebase. --- Changes in V4: - BUG() was changed to BUG_ON("unimplemented"); - Change "xen/bug.h" to "xen/li

[PATCH v9 06/15] xen/riscv: introduce cmpxchg.h

2024-05-06 Thread Oleksii Kurochko
".aqrl" was approved by (the author of the RVWMO spec) [2] [1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1391516953-14541-1-git-send-email-will.dea...@arm.com/ [2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444f...@nvidia.com/ Signed-off-by: Oleksii Kurochko

[PATCH v9 04/15] xen/bitops: put __ffs() into linux compatible header

2024-05-06 Thread Oleksii Kurochko
in this file, but to keep smmu-v3.c looks close to linux it was deciced just to define __ffs() in xen/linux-compat.h and include it in smmu-v3.c Signed-off-by: Oleksii Kurochko Acked-by: Shawn Anastasio Reviewed-by: Jan Beulich --- Changes in V9: - update the defintion of __ffs in xen/linux-compat.h

[PATCH v9 00/15] Enable build of full Xen for RISC-V

2024-05-06 Thread Oleksii Kurochko
ases were changed to xen/bug.h as mostly functionilty of bug.h is used. - align arch-riscv.h with Arm's version of it. - change the Author of commit with introduction of asm/atomic.h. - update some definition from spinlock.h. - code style changes. --- Oleksii Kurochko (15): xen/risc

[PATCH v9 02/15] xen: introduce generic non-atomic test_*bit()

2024-05-06 Thread Oleksii Kurochko
) ) __bitop_bad_size(); It was necessary to make bitop bad size check generic too, so arch_check_bitop_size() was introduced. Signed-off-by: Oleksii Kurochko --- The context ("* Find First Set bit. Bits are labelled from 1." in xen/bitops.h ) suggests there's a dependency on an u

[PATCH v1] xen/riscv: improve check-extension() macro

2024-04-26 Thread Oleksii Kurochko
that is being checked. Additionally, zbb-insn is updated to use $(comma) instead of ",". Signed-off-by: Oleksii Kurochko Suggested-by: Jan Beulich --- xen/arch/riscv/arch.mk | 21 +++-- 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/xen/arch/riscv/arc

[PATCH v3] xen/riscv: check whether the assembler has Zbb extension support

2024-04-19 Thread Oleksii Kurochko
Update the argument of the as-insn for the Zbb case to verify that Zbb is supported not only by a compiler, but also by an assembler. Also, check-extenstion(ext_name, "insn") helper macro is introduced to check whether extension is supported by a compiler and an assembler. Signed-off-b

[PATCH v2] xen/riscv: check whether the assembler has Zbb extension support

2024-04-19 Thread Oleksii Kurochko
Update the argument of the as-insn for the Zbb case to verify that Zbb is supported not only by a compiler, but also by an assembler. Also, check_extenstion(ext_name, "insn") helper macro is introduced to check whether extension is supported by a compiler and an assembler. Signed-off-b

[PATCH v8 17/17] xen/README: add compiler and binutils versions for RISC-V64

2024-04-17 Thread Oleksii Kurochko
to utilize Clang, it's important to note that, currently, there is no Xen RISC-V CI job in place to verify the seamless functioning of the build with Clang. Signed-off-by: Oleksii Kurochko --- Changes in V5-V8: - Nothing changed. Only rebase. --- Changes in V6: - update the message in README

[PATCH v8 03/17] xen/bitops: implement fls{l}() in common logic

2024-04-17 Thread Oleksii Kurochko
34: note: in expansion of macro 'min' 1843 | unsigned int inc_order = min(MAX_ORDER, flsl(e - s) - 1); generic_fls{l} was used instead of __builtin_clz{l}(x) as if x is 0, the result in undefined. Signed-off-by: Oleksii Kurochko --- The patch is almost independent from Andrew's patc

[PATCH v8 16/17] xen/riscv: enable full Xen build

2024-04-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Reviewed-by: Jan Beulich --- Changes in V5-V8: - Nothing changed. Only rebase. --- Changes in V4: - drop stubs for irq_actor_none() and irq_actor_none() as common/irq.c is compiled now. - drop defintion of max_page in stubs.c as common/page_alloc.c is compiled

[PATCH v8 12/17] xen/riscv: add minimal stuff to page.h to build full Xen

2024-04-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V5-V8: - Nothing changed. Only rebase. --- Changes in V4: --- - Change message -> subject in "Changes in V3" - s/BUG/BUG_ON("...") - Do proper rebase ( pfn_to_paddr() and paddr_to_pfn() aren't remov

[PATCH v8 06/17] xen/riscv: introduce cmpxchg.h

2024-04-17 Thread Oleksii Kurochko
".aqrl" was approved by (the author of the RVWMO spec) [2] [1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1391516953-14541-1-git-send-email-will.dea...@arm.com/ [2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444f...@nvidia.com/ Signed-off-by: Oleksii Kuroc

[PATCH v8 14/17] xen/riscv: introduce vm_event_*() functions

2024-04-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V5-V8: - Only rebase was done. --- Changes in V4: - New patch. --- xen/arch/riscv/Makefile | 1 + xen/arch/riscv/vm_event.c | 19 +++ 2 files changed, 20 insertions(+) create mode 100644 xen/arch/riscv/vm_event.c diff --git

[PATCH v8 09/17] xen/riscv: introduce monitor.h

2024-04-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V4-V8: - Nothing changed. Only rebase. --- Changes in V3: - new patch. --- xen/arch/riscv/include/asm/monitor.h | 26 ++ 1 file changed, 26 insertions(+) create mode 100644 xen/arch/riscv/include/asm/monitor.h diff --git

[PATCH v8 00/17] Enable build of full Xen for RISC-V

2024-04-17 Thread Oleksii Kurochko
ib.h in most of the cases were changed to xen/bug.h as mostly functionilty of bug.h is used. - align arch-riscv.h with Arm's version of it. - change the Author of commit with introduction of asm/atomic.h. - update some definition from spinlock.h. - code style changes. --- Oleksii Kuroc

[PATCH v8 10/17] xen/riscv: add definition of __read_mostly

2024-04-17 Thread Oleksii Kurochko
The definition of __read_mostly should be removed in: https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b3...@suse.com/ The patch introduces it in arch-specific header to not block enabling of full Xen build for RISC-V. Signed-off-by: Oleksii Kurochko --- - [PATCH] move

[PATCH v8 15/17] xen/riscv: add minimal amount of stubs to build full Xen

2024-04-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V7: - Only rebase was done. --- Changes in V6: - update the commit in stubs.c around /* ... common/irq.c ... */ - add Acked-by: Jan Beulich --- Changes in V5: - drop unrelated changes - assert_failed("unimplm

[PATCH v8 13/17] xen/riscv: add minimal stuff to mm.h to build full Xen

2024-04-17 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V8: - Nothing changed only rebase. --- Changes in V7: - update argument type of maddr_to_virt() function: unsigned long -> paddr_t - rename argument of PFN_ORDER(): pfn -> pg. - add Acked-by: Jan Beulich --- Changes

[PATCH v8 04/17] xen/bitops: put __ffs() into linux compatible header

2024-04-17 Thread Oleksii Kurochko
in this file, but to keep smmu-v3.c looks close to linux it was deciced just to define __ffs() in xen/linux-compat.h and include it in smmu-v3.c Signed-off-by: Oleksii Kurochko Acked-by: Shawn Anastasio --- Changes in V8: - drop ffz() for PPC as there is no any usage of it and it seems to me

[PATCH v8 07/17] xen/riscv: introduce io.h

2024-04-17 Thread Oleksii Kurochko
assembler constraints for addr argument for __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that *addr will be accessed. - add stubs for __raw_readq() and __raw_writeq() for RISCV_32 Addionally, to the header was added definions of ioremap_*(). Signed-off-by: Oleksii Kurochko Ack

[PATCH v8 11/17] xen/riscv: add required things to current.h

2024-04-17 Thread Oleksii Kurochko
Add minimal requied things to be able to build full Xen. Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V5-V8: - Nothing changed. Only rebase. --- Changes in V4: - BUG() was changed to BUG_ON("unimplemented"); - Change "xen/bug.h" to "xen/li

[PATCH v8 08/17] xen/riscv: introduce atomic.h

2024-04-17 Thread Oleksii Kurochko
kernel/patch/1391516953-14541-1-git-send-email-will.dea...@arm.com/ [2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444f...@nvidia.com/ Signed-off-by: Bobby Eshleman Signed-off-by: Oleksii Kurochko --- Changes in V8: - drop "" in __atomic_{acquire, release}_fence(). -

[PATCH v8 05/17] xen/riscv: introduce bitops.h

2024-04-17 Thread Oleksii Kurochko
* __test_and_set_bit Signed-off-by: Oleksii Kurochko --- Changes in V8: - define bitop_uint_t in after the changes in patch related to introduction of "introduce generic non-atomic test_*bit()". - drop duplicated __set_bit() and __clear_bit(). - drop duplicated comment

[PATCH v8 02/17] xen: introduce generic non-atomic test_*bit()

2024-04-17 Thread Oleksii Kurochko
) ) __bitop_bad_size(); It was necessary to make bitop bad size check generic too, so arch_check_bitop_size() was introduced and defined as empty for other architectures except x86. Signed-off-by: Oleksii Kurochko --- The context ("* Find First Set bit. Bits are labelled from 1.&quo

[PATCH v8 01/17] xen/riscv: disable unnecessary configs

2024-04-17 Thread Oleksii Kurochko
-by: Oleksii Kurochko --- Changes in V8: - disabled CPU_BOOT_TIME_CPUPOOLS as it requires an introduction of cpu_physical_id() and acpi_disabled. - leave XSM disabled, add explanation in the commit message. - drop HYPFS as the patch was provided to resolve compilation issue when this condif

[PATCH] xen/riscv: check whether the assembler has Zbb extension support

2024-04-09 Thread Oleksii Kurochko
Update the argument of the as-insn for the Zbb case to verify that Zbb is supported not only by a compiler, but also by an assembler. Signed-off-by: Oleksii Kurochko --- xen/arch/riscv/arch.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/riscv/arch.mk b/xen

[PATCH v7 17/19] xen/riscv: add minimal amount of stubs to build full Xen

2024-04-03 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V7: - Only rebase was done. --- Changes in V6: - update the commit in stubs.c around /* ... common/irq.c ... */ - add Acked-by: Jan Beulich --- Changes in V5: - drop unrelated changes - assert_failed("unimplm

[PATCH v7 16/19] xen/riscv: introduce vm_event_*() functions

2024-04-03 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V5-V7: - Only rebase was done. --- Changes in V4: - New patch. --- xen/arch/riscv/Makefile | 1 + xen/arch/riscv/vm_event.c | 19 +++ 2 files changed, 20 insertions(+) create mode 100644 xen/arch/riscv/vm_event.c diff --git

[PATCH v7 13/19] xen/riscv: add required things to current.h

2024-04-03 Thread Oleksii Kurochko
Add minimal requied things to be able to build full Xen. Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V5/V6/V7: - Nothing changed. Only rebase. --- Changes in V4: - BUG() was changed to BUG_ON("unimplemented"); - Change "xen/bug.h" to "xen/li

[PATCH v7 14/19] xen/riscv: add minimal stuff to page.h to build full Xen

2024-04-03 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V5-V7: - Nothing changed. Only rebase. --- Changes in V4: --- - Change message -> subject in "Changes in V3" - s/BUG/BUG_ON("...") - Do proper rebase ( pfn_to_paddr() and paddr_to_pfn() aren't remov

[PATCH v7 18/19] xen/riscv: enable full Xen build

2024-04-03 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Reviewed-by: Jan Beulich --- Changes in V5-V7: - Nothing changed. Only rebase. --- Changes in V4: - drop stubs for irq_actor_none() and irq_actor_none() as common/irq.c is compiled now. - drop defintion of max_page in stubs.c as common/page_alloc.c is compiled

[PATCH v7 19/19] xen/README: add compiler and binutils versions for RISC-V64

2024-04-03 Thread Oleksii Kurochko
to utilize Clang, it's important to note that, currently, there is no Xen RISC-V CI job in place to verify the seamless functioning of the build with Clang. Signed-off-by: Oleksii Kurochko --- Changes in V5-V7: - Nothing changed. Only rebase. --- Changes in V6: - update the message in README

[PATCH v7 05/19] xen/bitops: implement fls{l}() in common logic

2024-04-03 Thread Oleksii Kurochko
34: note: in expansion of macro 'min' 1843 | unsigned int inc_order = min(MAX_ORDER, flsl(e - s) - 1); generic_fls{l} was used instead of __builtin_clz{l}(x) as if x is 0, the result in undefined. Signed-off-by: Oleksii Kurochko --- Changes in V7: - Code style fixes --- Changes in V6

[PATCH v7 11/19] xen/riscv: introduce monitor.h

2024-04-03 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V4-V7: - Nothing changed. Only rebase. --- Changes in V3: - new patch. --- xen/arch/riscv/include/asm/monitor.h | 26 ++ 1 file changed, 26 insertions(+) create mode 100644 xen/arch/riscv/include/asm/monitor.h diff --git

[PATCH v7 12/19] xen/riscv: add definition of __read_mostly

2024-04-03 Thread Oleksii Kurochko
The definition of __read_mostly should be removed in: https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b3...@suse.com/ The patch introduces it in arch-specific header to not block enabling of full Xen build for RISC-V. Signed-off-by: Oleksii Kurochko --- - [PATCH] move

[PATCH v7 02/19] xen/riscv: disable unnecessary configs

2024-04-03 Thread Oleksii Kurochko
This patch disables unnecessary configs for two cases: 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds (GitLab CI jobs). 2. By using tiny64_defconfig for non-randconfig builds. Only configs which lead to compilation issues were disabled. Signed-off-by: Oleksii Kurochko --- Changes

[PATCH v7 08/19] xen/riscv: introduce cmpxchg.h

2024-04-03 Thread Oleksii Kurochko
".aqrl" was approved by (the author of the RVWMO spec) [2] [1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1391516953-14541-1-git-send-email-will.dea...@arm.com/ [2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444f...@nvidia.com/ Signed-off-by: Oleksii Kurochko

[PATCH v7 10/19] xen/riscv: introduce atomic.h

2024-04-03 Thread Oleksii Kurochko
Signed-off-by: Bobby Eshleman Signed-off-by: Oleksii Kurochko --- Changes in V7: - drop relaxed version of atomic ops as they are not used. - update the commit message - code style fixes - refactor functions write_atomic(), add_sized() to be able to use #ifdef CONFIG_RISCV_32 ... #endif

[PATCH v7 15/19] xen/riscv: add minimal stuff to mm.h to build full Xen

2024-04-03 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V7: - update argument type of maddr_to_virt() function: unsigned long -> paddr_t - rename argument of PFN_ORDER(): pfn -> pg. - add Acked-by: Jan Beulich --- Changes in V6: - drop __virt_to_maddr() ( transform to

[PATCH v7 09/19] xen/riscv: introduce io.h

2024-04-03 Thread Oleksii Kurochko
assembler constraints for addr argument for __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that *addr will be accessed. - add stubs for __raw_readq() and __raw_writeq() for RISCV_32 Addionally, to the header was added definions of ioremap_*(). Signed-off-by: Oleksii Kurochko -

[PATCH v7 07/19] xen/riscv: introduce bitops.h

2024-04-03 Thread Oleksii Kurochko
-> always_inline to be align with definition in xen/compiler.h. * convert identations from tabs to spaces. * inside generic__test_and_* use 'bitops_uint_t' instead of 'unsigned long' to be generic. Signed-off-by: Oleksii Kurochko --- Changes in V7: - Update the commit mess

[PATCH v7 00/19] Enable build of full Xen for RISC-V

2024-04-03 Thread Oleksii Kurochko
rch-riscv.h with Arm's version of it. - change the Author of commit with introduction of asm/atomic.h. - update some definition from spinlock.h. - code style changes. --- Oleksii Kurochko (19): automation: introduce fixed randconfig for RISC-V xen/riscv: disable unnecessary configs xen/riscv

[PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()

2024-04-03 Thread Oleksii Kurochko
(addr) ) __bitop_bad_size(); It was necessary to move the check to generic code and define as 0 for other architectures as they do not require this check. Signed-off-by: Oleksii Kurochko --- Changes in V7: - move everything to xen/bitops.h to follow the same approach for all generic bit ops

[PATCH v7 03/19] xen/riscv: introduce extenstion support check by compiler

2024-04-03 Thread Oleksii Kurochko
. In the future, a feature will be introduced to check whether an extension is supported at runtime. However, this feature requires functionality for parsing device tree source (DTS), which is not yet available. Signed-off-by: Oleksii Kurochko --- Changes in V7: - add variables for each extension

[PATCH v7 06/19] xen/bitops: put __ffs() into linux compatible header

2024-04-03 Thread Oleksii Kurochko
in this file, but to keep smmu-v3.c looks close to linux it was deciced just to define __ffs() in xen/linux-compat.h and include it in smmu-v3.c Signed-off-by: Oleksii Kurochko --- Changes in V7: - introduce ffz(),__ffs() locally in find-next-bit.c - drop inclusion of in find-next-bit.c. - update

[PATCH v7 01/19] automation: introduce fixed randconfig for RISC-V

2024-04-03 Thread Oleksii Kurochko
This patch introduces the anchor riscv-fixed-randconfig, which includes all configurations that should be disabled for randconfig builds. Suggested-by: Stefano Stabellini Signed-off-by: Oleksii Kurochko Reviewed-by: Michal Orzel Acked-by: Stefano Stabellini --- Changes in V7: - Nothing

[PATCH v6 20/20] xen/README: add compiler and binutils versions for RISC-V64

2024-03-15 Thread Oleksii Kurochko
to utilize Clang, it's important to note that, currently, there is no Xen RISC-V CI job in place to verify the seamless functioning of the build with Clang. Signed-off-by: Oleksii Kurochko --- Changes in V6: - update the message in README. --- Changes in V5: - update the commit message

[PATCH v6 16/20] xen/riscv: add minimal stuff to mm.h to build full Xen

2024-03-15 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V6: - drop __virt_to_maddr() ( transform to macro ) and __maddr_to_virt ( rename to maddr_to_virt ). - parenthesize va in definition of vmap_to_mfn(). - Code style fixes. --- Changes in V5: - update the comment around "struct domain *d

[PATCH v6 14/20] xen/riscv: add minimal stuff to page.h to build full Xen

2024-03-15 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V5-6: - Nothing changed. Only rebase. --- Changes in V4: --- - Change message -> subject in "Changes in V3" - s/BUG/BUG_ON("...") - Do proper rebase ( pfn_to_paddr() and paddr_to_pfn() aren't remov

[PATCH v6 15/20] xen/riscv: add minimal stuff to processor.h to build full Xen

2024-03-15 Thread Oleksii Kurochko
The cpu_relax() function, introduced in this commit, is anticipated to support _zihintpause by the CPU. Signed-off-by: Oleksii Kurochko --- Changes in V6: - drop incorrect part in riscv/booting.txt and move the introduction of it to separate patch. - compiler check that __riscv_zihintpause

[PATCH v6 18/20] xen/riscv: add minimal amount of stubs to build full Xen

2024-03-15 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V6: - update the commit in stubs.c around /* ... common/irq.c ... */ - add Acked-by: Jan Beulich --- Changes in V5: - drop unrelated changes - assert_failed("unimplmented...") change to BUG_ON() --- Cha

[PATCH v6 19/20] xen/riscv: enable full Xen build

2024-03-15 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Reviewed-by: Jan Beulich --- Changes in V5-V6: - Nothing changed. Only rebase. --- Changes in V4: - drop stubs for irq_actor_none() and irq_actor_none() as common/irq.c is compiled now. - drop defintion of max_page in stubs.c as common/page_alloc.c is compiled

[PATCH v6 13/20] xen/riscv: add required things to current.h

2024-03-15 Thread Oleksii Kurochko
Add minimal requied things to be able to build full Xen. Signed-off-by: Oleksii Kurochko Acked-by: Jan Beulich --- Changes in V5/V6: - Nothing changed. Only rebase. --- Changes in V4: - BUG() was changed to BUG_ON("unimplemented"); - Change "xen/bug.h" to "xen/li

[PATCH v6 09/20] xen/riscv: introduce io.h

2024-03-15 Thread Oleksii Kurochko
assembler constraints for addr argument for __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that *addr will be accessed. - add stubs for __raw_readq() and __raw_writeq() for RISCV_32 Addionally, to the header was added definions of ioremap_*(). Signed-off-by: Oleksii Kurochko -

[PATCH v6 05/20] xen/bitops: implement fls{l}() in common logic

2024-03-15 Thread Oleksii Kurochko
34: note: in expansion of macro 'min' 1843 | unsigned int inc_order = min(MAX_ORDER, flsl(e - s) - 1); generic_fls{l} was used instead of __builtin_clz{l}(x) as if x is 0, the result in undefined. Signed-off-by: Oleksii Kurochko --- Changes in V6: - new patch for the patch series.

[PATCH v6 12/20] xen/riscv: add definition of __read_mostly

2024-03-15 Thread Oleksii Kurochko
The definition of __read_mostly should be removed in: https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b3...@suse.com/ The patch introduces it in arch-specific header to not block enabling of full Xen build for RISC-V. Signed-off-by: Oleksii Kurochko --- - [PATCH] move

[PATCH v6 17/20] xen/riscv: introduce vm_event_*() functions

2024-03-15 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V5-V6: - Only rebase was done. --- Changes in V4: - New patch. --- xen/arch/riscv/Makefile | 1 + xen/arch/riscv/vm_event.c | 19 +++ 2 files changed, 20 insertions(+) create mode 100644 xen/arch/riscv/vm_event.c diff --git

[PATCH v6 02/20] xen/riscv: disable unnecessary configs

2024-03-15 Thread Oleksii Kurochko
This patch disables unnecessary configs for two cases: 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds (GitLab CI jobs). 2. By using tiny64_defconfig for non-randconfig builds. Signed-off-by: Oleksii Kurochko --- Changes in V6: - Nothing changed. Only rebase. --- Changes in V5

[PATCH v6 07/20] xen/riscv: introduce bitops.h

2024-03-15 Thread Oleksii Kurochko
ted macros/defines. * convert identations from tabs to spaces. * inside generic__test_and_* use 'bitops_uint_t' instead of 'unsigned long' to be generic. Signed-off-by: Oleksii Kurochko --- Changes in V6: - rebase clean ups were done: drop unused asm-generic includes --- Chan

[PATCH v6 03/20] xen/riscv: introduce extenstion support check by compiler

2024-03-15 Thread Oleksii Kurochko
. In the future, a feature will be introduced to check whether an extension is supported at runtime. However, this feature requires functionality for parsing device tree source (DTS), which is not yet available. Signed-off-by: Oleksii Kurochko --- Changes in V6: - new patch for this patch series

[PATCH v6 10/20] xen/riscv: introduce atomic.h

2024-03-15 Thread Oleksii Kurochko
/atomics-ops.h - drop atomic##prefix##_{cmp}xchg_{release, aquire, release}() as they are not used in Xen. - update the defintion of atomic##prefix##_{cmp}xchg according to {cmp}xchg() implementation in Xen. Signed-off-by: Bobby Eshleman Signed-off-by: Oleksii Kurochko --- Changes in V6

[PATCH v6 11/20] xen/riscv: introduce monitor.h

2024-03-15 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V4/V5/V6: - Nothing changed. Only rebase. --- Changes in V3: - new patch. --- xen/arch/riscv/include/asm/monitor.h | 26 ++ 1 file changed, 26 insertions(+) create mode 100644 xen/arch/riscv/include/asm/monitor.h diff

[PATCH v6 06/20] xen/bitops: put __ffs() and ffz() into linux compatible header

2024-03-15 Thread Oleksii Kurochko
that such cases are not encountered in the current code. Signed-off-by: Oleksii Kurochko --- Changes in V6: - new patch for the patch series. --- xen/arch/arm/include/asm/arm64/bitops.h | 21 - xen/arch/ppc/include/asm/bitops.h | 21 - xen/drivers

[PATCH v6 04/20] xen/asm-generic: introduce generic non-atomic test_*bit()

2024-03-15 Thread Oleksii Kurochko
* BITOP_WORD * BITOP_TYPE These functions and macros can be useful for architectures that don't have corresponding arch-specific instructions. Signed-off-by: Oleksii Kurochko --- Changes in V6: - Nothing changed ( only rebase ) --- Changes in V5: - new patch --- xen/include/asm-generic/bitops

[PATCH v6 00/20] Enable build of full Xen for RISC-V

2024-03-15 Thread Oleksii Kurochko
g.h as mostly functionilty of bug.h is used. - align arch-riscv.h with Arm's version of it. - change the Author of commit with introduction of asm/atomic.h. - update some definition from spinlock.h. - code style changes. --- Oleksii Kurochko (20): automation: introduce fixed ran

[PATCH v6 08/20] xen/riscv: introduce cmpxchg.h

2024-03-15 Thread Oleksii Kurochko
loop OR fence.tso; loop: lr.{w|d}; ; sc.{w|d}∗ ; bnez loop atomic loop: lr.{w|d}.aq; ; sc.{w|d}.aqrl; bnez loop Table A.5: Mappings from Linux memory primitives to RISC-V primitives ``` Signed-off-by: Oleksii Kurochko --- Changes in V6: - update the commit

[PATCH v6 01/20] automation: introduce fixed randconfig for RISC-V

2024-03-15 Thread Oleksii Kurochko
This patch introduces the anchor riscv-fixed-randconfig, which includes all configurations that should be disabled for randconfig builds. Suggested-by: Stefano Stabellini Signed-off-by: Oleksii Kurochko Reviewed-by: Michal Orzel Acked-by: Stefano Stabellini --- Changes in V6: - new patch

[PATCH v5 22/23] xen/riscv: enable full Xen build

2024-02-26 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko Reviewed-by: Jan Beulich --- Changes in V5: - Nothing changed. Only rebase. --- Changes in V4: - drop stubs for irq_actor_none() and irq_actor_none() as common/irq.c is compiled now. - drop defintion of max_page in stubs.c as common/page_alloc.c is compiled

[PATCH v5 18/23] xen/riscv: add minimal stuff to processor.h to build full Xen

2024-02-26 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V5: - Code style fixes. - drop introduced TOOLCHAIN_HAS_ZIHINTPAUSE and use as-insn instead and use as-insn istead. --- Changes in V4: - Change message -> subject in "Changes in V3" - Documentation about system requirem

[PATCH v5 14/23] xen/riscv: introduce monitor.h

2024-02-26 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Waiting for dependency to be merged: [PATCH v6 0/9] Introduce generic headers (https://lore.kernel.org/xen-devel/84568b0c24a5ec96244f3f34537e9a148367facf.1707499278.git.oleksii.kuroc...@gmail.com/) --- Changes in V4/V5: - Nothing changed. Only rebase

[PATCH v5 21/23] xen/rirscv: add minimal amount of stubs to build full Xen

2024-02-26 Thread Oleksii Kurochko
Signed-off-by: Oleksii Kurochko --- Changes in V5: - drop unrelated changes - assert_failed("unimplmented...") change to BUG_ON() --- Changes in V4: - added new stubs which are necessary for compilation after rebase: __cpu_up(), __cpu_disable(), __cpu_die() from smpboot.

[PATCH v5 23/23] xen/README: add compiler and binutils versions for RISC-V64

2024-02-26 Thread Oleksii Kurochko
, there is no Xen RISC-V CI job in place to verify the seamless functioning of the build with Clang. Signed-off-by: Oleksii Kurochko --- Changes in V5: - update the commit message and README file with additional explanation about GCC and GNU Binutils version. Additionally, it was added information about

[PATCH v5 13/23] xen/riscv: introduce atomic.h

2024-02-26 Thread Oleksii Kurochko
/atomics-ops.h Signed-off-by: Bobby Eshleman Signed-off-by: Oleksii Kurochko --- Changes in V5: - fence.h changes were moved to separate patch as patches related to io.h and cmpxchg.h, which are dependecies for this patch, also needed changes in fence.h - remove accessing of zero-length array

  1   2   3   4   5   6   7   8   >