/Xen_Project_X.YY_Release_Notes
Best regards,
Oleksii
guest_physmap_add_page(), making guest_physmap_add_entry()
unnecessary.
Signed-off-by: Oleksii Kurochko
---
Changes in v3:
- Introudce p2m_write_lock() and p2m_is_write_locked().
- Introduce p2m_force_tlb_flush_sync() and p2m_flush_tlb() to flush TLBs
after p2m table update.
- Change an argument of
which corresponds
to Arm's THIRD_MASK.
- Replaced open-coded bit shifts with the BIT() macro.
- Other minor changes, such as using RISC-V-specific functions to validate
P2M PTEs, and replacing Arm-specific GUEST_* macros with their RISC-V
equivalents.
Signed-off-by: Oleksi
ports (e.g. RISC-V or PowerPC).
No functional changes — the definition is preserved via a macro alias
for Arm.
Suggested-by: Jan Beulich
Signed-off-by: Oleksii Kurochko
---
Changes in v3:
- New patch
---
xen/arch/arm/include/asm/p2m.h | 2 ++
xen/common/device-tree/dom0less-build.c | 2
walk logic has been adjusted, as ARM uses the
opposite number of levels compared to RISC-V.
Signed-off-by: Oleksii Kurochko
---
Changes in V3:
- Move page_list_add(page, &p2m->pages) inside p2m_alloc_page().
- Use 'unsigned long' for local vairiable 'i' in p2m_sp
asserts
unreachable, as RAM type checking is not yet implemented.
Signed-off-by: Oleksii Kurochko
---
Changes in V3:
- Update defintion of mfn_valid().
- Use __ro_after_init for variable start_page.
- Drop ASSERT_UNREACHABLE() in page_get_owner_and_nr_reference().
- Update the comment inside d
xt_storage` in its `P2M_TYPES` bits. In addition to updating
the metadata of the new intermediate page table, the corresponding entry
in the metadata for the original superpage is invalidated.
Also, update p2m_{get,set}_type to work with P2M types which don't fit
into PTE bits.
Signed-
pointing to next-level page
tables with correct attributes.
- p2m_alloc_page(): Allocates page table pages, supporting both hardware and
guest domains.
- p2m_create_table(): Allocates and initializes a new page table page and
installs it into the hierarchy.
Signed-off-by: Oleksii Kurochko
the need for mode-specific ifdefs.
Signed-off-by: Oleksii Kurochko
---
Changes in v3:
- Update the comment above defintions of PGT_gfn_width, PGT_gfn_mask.
- Add page_get_xenheap_gfn().
- Make commit message clearer.
---
Changes in v2:
- This changes were part of "xen/riscv: implemen
Implement put_page(), as it will be used by p2m_put_code().
Although CONFIG_STATIC_MEMORY has not yet been introduced for RISC-V,
a stub for PGC_static is added to avoid cluttering the code of
put_page_nr() with #ifdefs.
Signed-off-by: Oleksii Kurochko
---
xen/arch/riscv/include/asm/mm.h | 7
a 2MB
superpage.
- p2m_get_type(): Extracts the stored p2m_type from the PTE bits.
- p2m_free_page(): Returns a page to a domain's freelist.
- Introduce p2m_is_foreign() and connected to it things.
Defines XEN_PT_ENTRIES in asm/page.h to simplify loops over page table
entries.
Signed
ff-by: Oleksii Kurochko
---
Changes in V3:
- Drop p2m_access_t connected stuff as it isn't going to be used, at least
now.
- Move defintion of P2M_ROOT_ORDER and P2M_ROOT_PAGES to earlier patches.
- Update the comment above lowest_mapped_gfn declaration.
- Update the com
_type_t to represent the PBMT field values.
- Maps types like p2m_mmio_direct_dev to p2m_mmio_direct_io, others default
to pbmt_pma.
Signed-off-by: Oleksii Kurochko
---
Changes in V3:
- s/p2m_entry_from_mfn/p2m_pte_from_mfn.
- s/pbmt_type_t/pbmt_type.
- s/pbmt_max/pbmt_count.
- s/p2m_type
domain structure.
- p2m_init() to initalize members introduced in p2m_domain structure.
- Call of paging_domain_init() in p2m_init() to initlize paging spinlock
and freelist head.
Signed-off-by: Oleksii Kurochko
---
Changes in V3:
- s/p2m_type/p2m_types.
- Drop init. of p2m->clean_pte
code how to map device memory.
Signed-off-by: Oleksii Kurochko
---
Changes in V3:
- Drop p2m_ram_ro.
- Rename p2m_mmio_direct_dev to p2m_mmio_direct_io to make it more RISC-V
specicific.
- s/p2m_mmio_direct_dev/p2m_mmio_direct_io.
---
Changes in V2:
- Drop stuff connected to foreign mapping as
some pages before
allocate 16 KiB pages for root page table.
- Allocate root p2m table after p2m pool is initialized.
- Add construct_hgatp() to construct the hgatp register value based on
p2m->root, p2m->hgatp_mode and VMID.
Signed-off-by: Oleksii Kurochko
---
Changes in v3:
is equal to 2^XLEN-1.
Signed-off-by: Oleksii Kurochko
---
Changes in V3:
- Update the comment message above declaration of sbi_remote_hfence_gvma()
and update the commit message in sync.
- Drop ASSERT() in sbi_remote_hfence_gvma().
---
xen/arch/riscv/include/asm/sbi.h | 19
Introduce helpers pte_{set,get}_mfn() to simplify setting and getting
of mfn.
Also, introduce PTE_PPN_MASK and add BUILD_BUG_ON() to be sure that
PTE_PPN_MASK remains the same for all MMU modes except Sv32.
Signed-off-by: Oleksii Kurochko
Acked-by: Jan Beulich
---
Changes in V3:
- Add Acked
:
- start_addr and size are both 0, or
- size is equal to 2^XLEN-1.
Signed-off-by: Oleksii Kurochko
---
Changes in V3:
- Drop ASSERT() in sbi_remote_hfence_gvma_vmid() as failure will happen anyway
if
rfence isn't initialized.
- Drop "This function call is only valid for harts im
VMID has enough bits to hold VMIDLEN,
and introducing a new function vmidlen_detect() to clarify the VMIDLEN
value.
Signed-off-by: Oleksii Kurochko
---
Changes in V3:
- Reimplemnt VMID allocation similar to what x86 has implemented.
---
Changes in V2:
- New patch.
---
xen/arch/riscv/Makefile
paging_freelist_init() to struct paging_domain.
Signed-off-by: Oleksii Kurochko
---
Changes in v3:
- Drop usage of p2m_ prefix inside struct paging_domain().
- Introduce paging_domain_init() to init paging struct.
---
Changes in v2:
- Drop the comment above inclusion of in riscv/p2m.c.
- Use
to implement p2m lookup:
- xen/riscv: implement mfn_valid() and page reference, ownership handling
helpers
- xen/riscv: add support of page lookup by GFN
- Re-sort patch series.
- All other changes are patch-specific. Please check them.
---
Oleksii Kurochko (20):
xen/riscv: impleme
On 7/22/25 2:05 PM, Jan Beulich wrote:
On 22.07.2025 14:03, Oleksii Kurochko wrote:
On 7/21/25 3:39 PM, Jan Beulich wrote:
On 18.07.2025 16:37, Oleksii Kurochko wrote:
On 7/2/25 12:28 PM, Jan Beulich wrote:
On 02.07.2025 12:09, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote
ompile out the Dom0
creation code on ARM. This is useful for embedded or dom0less-only
scenarios to reduce binary size and complexity.
The ARM boot path has been updated to panic if it detects a non-dom0less
configuration while `CONFIG_DOM0_BOOT` is disabled, preventing an invalid
boot.
Signed-off-b
On 7/28/25 11:09 AM, Jan Beulich wrote:
On 28.07.2025 10:52, Oleksii Kurochko wrote:
On 7/23/25 11:46 AM, Jan Beulich wrote:
I assume that I have in this case to take some pages for an intermediate page
table from freelist P2M pool, set an owner domain to NULL (pg->inuse.domain =
N
/* Order-size of the free chunk this page is the head of. */
unsigned int order;
} free;
+
+ struct page_list_entry metadata_list;
} v;
Am I missing something?
~ Oleksii
On 7/22/25 6:02 PM, Jan Beulich wrote:
On 22.07.2025 16:57, Oleksii Kurochko wrote:
On 7/21/25 3:34 PM, Jan Beulich wrote:
On 17.07.2025 18:37, Oleksii Kurochko wrote:
On 7/2/25 11:25 AM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
Add support for down large memory
On 23/07/2025 18:04, Jan Beulich wrote:
> On 23.07.2025 16:33, Oleksii Moisieiev wrote:
>> Hi Jan,
>>
>> On 23/07/2025 17:27, Jan Beulich wrote:
>>> On 23.07.2025 16:05, Oleksii Moisieiev wrote:
>>>> --- a/xen/arch/arm/Kconfig
>>>> +++ b/
Hi Jan,
On 23/07/2025 17:27, Jan Beulich wrote:
> On 23.07.2025 16:05, Oleksii Moisieiev wrote:
>> --- a/xen/arch/arm/Kconfig
>> +++ b/xen/arch/arm/Kconfig
>> @@ -19,6 +19,7 @@ config ARM
>> select HAS_ALTERNATIVE if HAS_VMAP
>> select HAS_DEVICE
Sorry, missed that on my send script
On 23/07/2025 17:29, Jan Beulich wrote:
> On 23.07.2025 16:05, Oleksii Moisieiev wrote:
>> This commit introduces a new Kconfig option, `CONFIG_DOM0_BOOT`, to
>> allow for building Xen without support for booting a regular domain (Dom0).
>&g
t the Dom0
creation code on ARM. This is useful for embedded or dom0less-only
scenarios to reduce binary size and complexity.
The ARM boot path has been updated to panic if it detects a non-dom0less
configuration while `CONFIG_DOM0_BOOT` is disabled, preventing an invalid
boot.
Signed-off-b
On 7/22/25 4:35 PM, Jan Beulich wrote:
On 22.07.2025 16:25, Oleksii Kurochko wrote:
On 7/22/25 2:00 PM, Jan Beulich wrote:
On 22.07.2025 13:34, Oleksii Kurochko wrote:
On 7/22/25 12:41 PM, Oleksii Kurochko wrote:
On 7/21/25 2:18 PM, Jan Beulich wrote:
On 18.07.2025 11:52, Oleksii Kurochko
Hi Jan,
On 22/07/2025 15:21, Jan Beulich wrote:
> On 22.07.2025 13:41, Oleksii Moisieiev wrote:
>> --- a/docs/misc/xen-command-line.pandoc
>> +++ b/docs/misc/xen-command-line.pandoc
>> @@ -1096,6 +1096,15 @@ affinities to prefer but be not limited to the
>> specified n
On 7/21/25 3:34 PM, Jan Beulich wrote:
On 17.07.2025 18:37, Oleksii Kurochko wrote:
On 7/2/25 11:25 AM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
Add support for down large memory mappings ("superpages") in the RISC-V
p2m mapping so that smaller, more precis
On 7/22/25 2:00 PM, Jan Beulich wrote:
On 22.07.2025 13:34, Oleksii Kurochko wrote:
On 7/22/25 12:41 PM, Oleksii Kurochko wrote:
On 7/21/25 2:18 PM, Jan Beulich wrote:
On 18.07.2025 11:52, Oleksii Kurochko wrote:
On 7/17/25 12:25 PM, Jan Beulich wrote:
On 17.07.2025 10:56, Oleksii
On 7/21/25 3:42 PM, Jan Beulich wrote:
On 18.07.2025 16:49, Oleksii Kurochko wrote:
On 7/2/25 12:09 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
Implement the mfn_valid() macro to verify whether a given MFN is valid by
checking that it falls within the range
On 7/21/25 3:39 PM, Jan Beulich wrote:
On 18.07.2025 16:37, Oleksii Kurochko wrote:
On 7/2/25 12:28 PM, Jan Beulich wrote:
On 02.07.2025 12:09, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
@@ -613,3 +612,91 @@ void __iomem *ioremap(paddr_t pa, size_t len
c6
Signed-off-by: Oleksii Moisieiev
---
xen/arch/arm/include/asm/smccc.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/xen/arch/arm/include/asm/smccc.h b/xen/arch/arm/include/asm/smccc.h
index a289c48b7f..dc6af94db1 100644
--- a/xen/arch/arm/include/asm/smccc.h
+++ b/xen/arch/arm/i
SCMI with "arm_sci" xl.cfg option.
Note that "arm,scmi-smc" and "arm,scmi-shmem" nodes will be removed from
dom0/hwdom DT in case of
Signed-off-by: Grygorii Strashko
Signed-off-by: Oleksii Moisieiev
---
Changes in v5:
- rename dom0_scmi_smc_passthrough to scmi_
ice is not protected by IOMMU
2) add chained call to sci_do_domctl() in do_domctl()
Signed-off-by: Grygorii Strashko
Signed-off-by: Oleksii Moisieiev
---
Changes in v5:
- return -EINVAL if mediator without assign_dt_device was provided
- invert return code check for iommu_do_domctl in
XEN_DOMCTL_ass
en/include/xen/lib/arm/io.h
Signed-off-by: Oleksii Moisieiev
---
Changes in v5:
- move memcpy_toio/fromio to the generic place
xen/include/xen/lib/arm/io.h | 15 +++
xen/lib/Makefile | 1 +
xen/lib/arm/Makefile | 1 +
xen/lib/arm/io.c
domain_relinquish_resources()
- sci_domain_destroy() called from arch_domain_destroy()
- sci_handle_call() called from vsmccc_handle_call()
- sci_dt_handle_node()
- sci_dt_finalize() called from handle_node() (Dom0 DT)
Signed-off-by: Oleksii Moisieiev
Signed-off-by: Grygorii Strashko
---
Changes in v5
DT devices
should be bound
to the Xen SCMI.
&i2c1 {
access-controllers = <&scmi 0>;
};
The Dom0 and dom0less domains DT devices will be processed automatically through
sci_assign_dt_device() call, but to assign SCMI devices from toolstack the
xl.cfg:"dtdev" proper
From: Grygorii Strashko
Add documentation section for Simple Arm SCMI over SMC/HVC calls forwarding
driver (EL3).
Signed-off-by: Grygorii Strashko
Signed-off-by: Oleksii Moisieiev
---
Changes in v5:
- rename dom0_scmi_smc_passthrough in documentation
.../arm/firmware/arm-scmi.rst
Change -ENOPNOTSUPP error code to -ENXIO when iommu is disabled during
iommu_do_domctl call. As was discussed in [1]
[0]:
https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2506171701190.1780597@ubuntu-linux-20-04-desktop/
Signed-off-by: Oleksii Moisieiev
---
Changes in v5:
- set error
SCI driver:
- convert to DT device;
- convert to SCI Xen interface.
There are no functional changes in general, the driver is just adopted
to the SCI interface.
Signed-off-by: Grygorii Strashko
Signed-off-by: Oleksii Moisieiev
---
xen/arch/arm/firmware/Kconfig| 13 ++-
xe
SCMI access to system resources from different
domains.
Signed-off-by: Oleksii Moisieiev
---
Changes in v5:
- rework multi-agent driver to leave Host Device-tree unmodified
.../arm/firmware/arm-scmi.rst | 341 +-
1 file changed, 340 insertions(+), 1 deletion(-)
rough for dom0less case
- toolstack comments from Anthony PERARD
- added dom0less support
- added doc for "xen,scmi-secondary-agents"
Grygorii Strashko (5):
xen/arm: scmi-smc: update to be used under sci subsystem
xen/arm: scmi-smc: passthrough SCMI SMC to domain, single agent
docs:
On 7/22/25 12:41 PM, Oleksii Kurochko wrote:
On 7/21/25 2:18 PM, Jan Beulich wrote:
On 18.07.2025 11:52, Oleksii Kurochko wrote:
On 7/17/25 12:25 PM, Jan Beulich wrote:
On 17.07.2025 10:56, Oleksii Kurochko wrote:
On 7/16/25 6:18 PM, Jan Beulich wrote:
On 16.07.2025 18:07, Oleksii
On 7/21/25 2:18 PM, Jan Beulich wrote:
On 18.07.2025 11:52, Oleksii Kurochko wrote:
On 7/17/25 12:25 PM, Jan Beulich wrote:
On 17.07.2025 10:56, Oleksii Kurochko wrote:
On 7/16/25 6:18 PM, Jan Beulich wrote:
On 16.07.2025 18:07, Oleksii Kurochko wrote:
On 7/16/25 1:31 PM, Jan Beulich wrote
.
Not a functional change.
Signed-off-by: Alejandro Vallejo
Reviewed-by: Stefano Stabellini
LGTM: Reviewed-by: Oleksii Kurochko # riscv
~ Oleksii
---
xen/arch/arm/domain_build.c | 1 +
xen/arch/arm/include/asm/setup.h| 2 +-
xen/arch/arm/setup.c
LGTM: Reviewed-by: Oleksii Kurochko # riscv
~ Oleksii
---
xen/Kconfig.debug| 2 +-
xen/arch/arm/Kconfig | 2 +-
xen/arch/ppc/Kconfig | 2 +-
xen/arch/riscv/Kconfig | 2 +-
xen/common/Kconfig | 15 ++-
xen
Not a functional change.
Signed-off-by: Alejandro Vallejo
Reviewed-by: Stefano Stabellini
LGTM: Reviewed-by: Oleksii Kurochko # riscv
~ Oleksii
---
v7:
* v6 was misrebased, and dt_read_number()'s refactor was lost. v7 ensures
it's preserved in the code motion
---
xen/arch/ris
only to non-hardware domain guests.
I’m not sure it’s necessary to mention “(for both ARM32 and ARM64)” explicitly,
as, at least for me,
it sounds like the default assumption unless stated otherwise.
But I don’t mind having this clarification included explicitly if you prefer:
Acked-by: Oleksii
On 7/2/25 1:44 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
Introduce helper functions for safely querying the P2M (physical-to-machine)
mapping:
- add p2m_read_lock(), p2m_read_unlock(), and p2m_is_locked() for managing
P2M lock state.
- Implement p2m_get_entry
On 7/2/25 12:09 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
Implement the mfn_valid() macro to verify whether a given MFN is valid by
checking that it falls within the range [start_page, max_page).
These bounds are initialized based on the start and end addresses of RAM
On 7/2/25 12:28 PM, Jan Beulich wrote:
On 02.07.2025 12:09, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
@@ -613,3 +612,91 @@ void __iomem *ioremap(paddr_t pa, size_t len)
{
return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
}
+
+int page_is_ram_type(unsigned
On 7/17/25 12:37 PM, Jan Beulich wrote:
On 17.07.2025 11:42, Oleksii Kurochko wrote:
On 7/16/25 6:12 PM, Jan Beulich wrote:
On 16.07.2025 17:53, Oleksii Kurochko wrote:
On 7/16/25 1:43 PM, Jan Beulich wrote:
On 16.07.2025 13:32, Oleksii Kurochko wrote:
On 7/2/25 10:35 AM, Jan Beulich wrote
On 7/17/25 12:25 PM, Jan Beulich wrote:
On 17.07.2025 10:56, Oleksii Kurochko wrote:
On 7/16/25 6:18 PM, Jan Beulich wrote:
On 16.07.2025 18:07, Oleksii Kurochko wrote:
On 7/16/25 1:31 PM, Jan Beulich wrote:
On 15.07.2025 16:47, Oleksii Kurochko wrote:
On 7/1/25 5:08 PM, Jan Beulich wrote
On 7/2/25 11:25 AM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
Add support for down large memory mappings ("superpages") in the RISC-V
p2m mapping so that smaller, more precise mappings ("finer-grained entries")
can be inserted into lower levels of the
On 7/16/25 6:12 PM, Jan Beulich wrote:
On 16.07.2025 17:53, Oleksii Kurochko wrote:
On 7/16/25 1:43 PM, Jan Beulich wrote:
On 16.07.2025 13:32, Oleksii Kurochko wrote:
On 7/2/25 10:35 AM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/p2m.c
+++ b/xen
On 7/16/25 6:18 PM, Jan Beulich wrote:
On 16.07.2025 18:07, Oleksii Kurochko wrote:
On 7/16/25 1:31 PM, Jan Beulich wrote:
On 15.07.2025 16:47, Oleksii Kurochko wrote:
On 7/1/25 5:08 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/p2m.c
+++ b/xen
On 7/16/25 1:31 PM, Jan Beulich wrote:
On 15.07.2025 16:47, Oleksii Kurochko wrote:
On 7/1/25 5:08 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -345,6 +345,26 @@ static pte_t *p2m_get_root_pointer(struct
On 7/16/25 1:43 PM, Jan Beulich wrote:
On 16.07.2025 13:32, Oleksii Kurochko wrote:
On 7/2/25 10:35 AM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -387,6 +387,17 @@ static inline bool p2me_is_valid(struct
On 7/2/25 10:35 AM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -387,6 +387,17 @@ static inline bool p2me_is_valid(struct p2m_domain *p2m,
pte_t pte)
return p2m_type_radix_get(p2m, pte) != p2m_invalid
On 7/1/25 5:08 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -345,6 +345,26 @@ static pte_t *p2m_get_root_pointer(struct p2m_domain *p2m,
gfn_t gfn)
return __map_domain_page(p2m->root + root_table_i
On 7/14/25 9:15 AM, Jan Beulich wrote:
On 11.07.2025 17:56, Oleksii Kurochko wrote:
On 7/1/25 4:23 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
+/*
+ * In the case of the P2M, the valid bit is used for other purpose. Use
+ * the type to check whether an entry is valid
On 7/1/25 4:23 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
This patch introduces a working implementation of p2m_free_entry() for RISC-V
based on ARM's implementation of p2m_free_entry(), enabling proper cleanup
of page table entries in the P2M (physical-to-ma
On 7/8/25 3:58 PM, Jan Beulich wrote:
On 07.07.2025 11:01, Oleksii Kurochko wrote:
--- /dev/null
+++ b/xen/arch/riscv/aplic-priv.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * xen/arch/riscv/aplic-priv.h
+ *
+ * Private part of aplic.h header.
+ *
+ * RISC-V Advanced Platform
On 7/8/25 3:52 PM, Jan Beulich wrote:
On 07.07.2025 11:01, Oleksii Kurochko wrote:
imsic_init() is introduced to parse device tree node, which has the following
bindings [2], and based on the parsed information update IMSIC configuration
which is stored in imsic_cfg.
The following helpers are
On 7/8/25 6:04 PM, Jan Beulich wrote:
On 08.07.2025 17:42, Oleksii Kurochko wrote:
On 7/8/25 2:45 PM, Jan Beulich wrote:
On 08.07.2025 12:37, Oleksii Kurochko wrote:
On 7/8/25 11:01 AM, Oleksii Kurochko wrote:
On 7/8/25 9:10 AM, Jan Beulich wrote:
On 07.07.2025 18:10, Oleksii Kurochko
On 7/8/25 2:45 PM, Jan Beulich wrote:
On 08.07.2025 12:37, Oleksii Kurochko wrote:
On 7/8/25 11:01 AM, Oleksii Kurochko wrote:
On 7/8/25 9:10 AM, Jan Beulich wrote:
On 07.07.2025 18:10, Oleksii Kurochko wrote:
On 7/7/25 5:15 PM, Jan Beulich wrote:
On 07.07.2025 17:00, Oleksii Kurochko
On 7/8/25 11:01 AM, Oleksii Kurochko wrote:
On 7/8/25 9:10 AM, Jan Beulich wrote:
On 07.07.2025 18:10, Oleksii Kurochko wrote:
On 7/7/25 5:15 PM, Jan Beulich wrote:
On 07.07.2025 17:00, Oleksii Kurochko wrote:
On 7/7/25 2:53 PM, Jan Beulich wrote:
On 07.07.2025 13:46, Oleksii Kurochko
On 7/8/25 9:10 AM, Jan Beulich wrote:
On 07.07.2025 18:10, Oleksii Kurochko wrote:
On 7/7/25 5:15 PM, Jan Beulich wrote:
On 07.07.2025 17:00, Oleksii Kurochko wrote:
On 7/7/25 2:53 PM, Jan Beulich wrote:
On 07.07.2025 13:46, Oleksii Kurochko wrote:
On 7/7/25 9:20 AM, Jan Beulich wrote:
On
On 7/7/25 5:15 PM, Jan Beulich wrote:
On 07.07.2025 17:00, Oleksii Kurochko wrote:
On 7/7/25 2:53 PM, Jan Beulich wrote:
On 07.07.2025 13:46, Oleksii Kurochko wrote:
On 7/7/25 9:20 AM, Jan Beulich wrote:
On 04.07.2025 17:01, Oleksii Kurochko wrote:
On 7/1/25 3:49 PM, Jan Beulich wrote:
On
On 7/7/25 2:53 PM, Jan Beulich wrote:
On 07.07.2025 13:46, Oleksii Kurochko wrote:
On 7/7/25 9:20 AM, Jan Beulich wrote:
On 04.07.2025 17:01, Oleksii Kurochko wrote:
On 7/1/25 3:49 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
This patch introduces p2m_set_entry() and
On 7/7/25 9:20 AM, Jan Beulich wrote:
On 04.07.2025 17:01, Oleksii Kurochko wrote:
On 7/1/25 3:49 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
This patch introduces p2m_set_entry() and its core helper __p2m_set_entry() for
RISC-V, based loosely on the Arm
mit/7390e2365828b83e27ead56b03114a56e3699dd5
Co-developed-by: Romain Caritey
Signed-off-by: Oleksii Kurochko
Acked-by: Jan Beulich
---
Changes in V6:
- Nothing changed. Only rebase.
---
Changes in V5:
- Add Acked-by: Jan Beulich .
---
Changes in V3-4:
- Nothing changed. Only rebase.
---
Changes in
the code from [1].
[1]
https://gitlab.com/xen-project/people/olkur/xen/-/commit/7390e2365828b83e27ead56b03114a56e3699dd5
Co-developed-by: Romain Caritey
Signed-off-by: Oleksii Kurochko
Acked-by: Jan Beulich
---
Changes in V6:
- Fix code style issue: start multi-word comments with a capital let
ommit/392a531bfad39bf4656ce8128e004b241b8b3f3e
Co-developed-by: Romain Caritey
Signed-off-by: Oleksii Kurochko
---
Changes in V6:
- Code style fixes.
- Shorten message string in aplic_init().
- Add hex offset for APLIC regs in struct aplic_regs.
---
Changes in V5:
- Fix a typo in panic massege in aplic_init(): s/Fa
/people/olkur/xen/-/commit/0b1a94f2bc3bb1a81cd26bb75f0bf578f84cb4d4
[2]
https://elixir.bootlin.com/linux/v6.12/source/Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml
Co-developed-by: Romain Caritey
Signed-off-by: Oleksii Kurochko
---
Changes in V6:
- Code style fixes
(); otherwise
"Unhandled exception: Store/AMO Page Fault" occurs.
- Enable local interrupt to recieve an input from UART
Signed-off-by: Oleksii Kurochko
Acked-by: Jan Beulich
---
Changes in V4-V6:
- Nothing changed. Only rebase.
---
Changes in v3:
- Drop inclusion of as nothing
basic initialization steps for APLIC and IMSIC.
Co-developed-by: Romain Caritey
Signed-off-by: Oleksii Kurochko
Acked-by: Jan Beulich
---
Changes in V5-V6:
- Nothing changed. Only rebase.
---
Changes in V4:
- Add Acked-by: Jan Beulich .
---
Changes in V3:
- Drop ASSERIT(intc_hw_ops) in
controller h/w operations and
host_irq_type for APLIC:
- aplic_host_irq_type
Patch is based on the code from [1].
[1]
https://gitlab.com/xen-project/people/olkur/xen/-/commit/7390e2365828b83e27ead56b03114a56e3699dd5
Co-developed-by: Romain Caritey
Signed-off-by: Oleksii Kurochko
Acked-by: Jan
staging:
xen/riscv: initialize bitmap to zero in riscv_fill_hwcap_from_isa_string()
xen/asm-generic: introduce asm-generic/irq-dt.h
- All other changes are patch-specific. Please check each patch separately.
---
Oleksii Kurochko (7):
xen/riscv: imsic_init() implementation
xen/riscv
everywhere else)?
To be in sync with other already merged functions, f.e.
set_cpuid_to_hartid(cpuid, hartid).
~ Oleksii
On 7/1/25 3:49 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
This patch introduces p2m_set_entry() and its core helper __p2m_set_entry() for
RISC-V, based loosely on the Arm implementation, with several RISC-V-specific
modifications.
Key differences include:
- TLB
On 7/3/25 3:09 PM, Jan Beulich wrote:
On 03.07.2025 13:54, Oleksii Kurochko wrote:
On 7/3/25 1:33 PM, Jan Beulich wrote:
On 03.07.2025 13:02, Oleksii Kurochko wrote:
On 6/30/25 5:59 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
+ unsigned
On 7/3/25 1:33 PM, Jan Beulich wrote:
On 03.07.2025 13:02, Oleksii Kurochko wrote:
On 6/30/25 5:59 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
+ unsigned long nr, mfn_t mfn, p2m_type_t t)
+{
+struct p2m_domain *p2m = p2m_get_hostp2m(d
On 6/30/25 5:59 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
+ unsigned long nr, mfn_t mfn, p2m_type_t t)
+{
+struct p2m_domain *p2m = p2m_get_hostp2m(d);
+int rc;
+
+p2m_write_lock(p2m);
+rc = p2m_set_entry(p2m, start_gfn, nr
On 6/30/25 5:48 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
Introduce page_set_xenheap_gfn() helper to encode the GFN associated with
a Xen heap page directly into the type_info field of struct page_info.
Introduce a GFN field in the type_info of a Xen heap page by
On 7/2/25 1:56 PM, Jan Beulich wrote:
On 02.07.2025 13:48, Oleksii Kurochko wrote:
On 7/1/25 3:04 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
@@ -113,3 +117,58 @@ int p2m_init(struct domain *d)
return 0;
}
+
+/*
+ * Set the pool of pages to the required
On 7/1/25 3:04 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
@@ -113,3 +117,58 @@ int p2m_init(struct domain *d)
return 0;
}
+
+/*
+ * Set the pool of pages to the required number of pages.
+ * Returns 0 for success, non-zero for failure.
+ * Call with d
On 7/2/25 12:34 PM, Jan Beulich wrote:
On 02.07.2025 12:30, Oleksii Kurochko wrote:
On 7/1/25 3:04 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
@@ -113,3 +117,58 @@ int p2m_init(struct domain *d)
return 0;
}
+
+/*
+ * Set the pool of pages to the
On 7/1/25 3:04 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
@@ -113,3 +117,58 @@ int p2m_init(struct domain *d)
return 0;
}
+
+/*
+ * Set the pool of pages to the required number of pages.
+ * Returns 0 for success, non-zero for failure.
+ * Call with d
On 6/30/25 5:50 PM, Jan Beulich wrote:
On 30.06.2025 17:27, Oleksii Kurochko wrote:
On 6/30/25 4:45 PM, Jan Beulich wrote:
On 30.06.2025 16:38, Oleksii Kurochko wrote:
On 6/30/25 4:33 PM, Oleksii Kurochko wrote:
On 6/26/25 4:59 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko
On 7/1/25 12:27 PM, Jan Beulich wrote:
On 01.07.2025 11:44, Oleksii Kurochko wrote:
On 7/1/25 8:29 AM, Jan Beulich wrote:
On 30.06.2025 18:18, Oleksii Kurochko wrote:
On 6/30/25 5:22 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/include/asm/p2m.h
On 7/1/25 8:29 AM, Jan Beulich wrote:
On 30.06.2025 18:18, Oleksii Kurochko wrote:
On 6/30/25 5:22 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -26,6 +26,12 @@ struct p2m_domain
On 6/30/25 5:22 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -26,6 +26,12 @@ struct p2m_domain {
/* Pages used to construct the p2m */
struct page_list_head pages;
+/* The
On 6/30/25 4:45 PM, Jan Beulich wrote:
On 30.06.2025 16:38, Oleksii Kurochko wrote:
On 6/30/25 4:33 PM, Oleksii Kurochko wrote:
On 6/26/25 4:59 PM, Jan Beulich wrote:
On 10.06.2025 15:05, Oleksii Kurochko wrote:
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
1 - 100 of 1601 matches
Mail list logo