On 11/04/2023 23.04, Vikram Garhwal wrote:
Xen is supported for aarch64 via xenpvh machine. disable-tcg option fails the
build for aarch64 target.
Link for xen on arm patch series:
https://mail.gnu.org/archive/html/qemu-devel/2023-02/msg03979.html
Signed-off-by: Vikram Garhwal
---
flight 180206 xen-unstable real [real]
flight 180210 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180206/
http://logs.test-lab.xenproject.org/osstest/logs/180210/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be
Hi Roger,
Roger Pau Monné writes:
> On Tue, Mar 14, 2023 at 08:56:29PM +, Volodymyr Babchuk wrote:
>> Prior to this change, lifetime of pci_dev objects was protected by global
>> pcidevs_lock(). Long-term plan is to remove this log, so we need some
>
From: Stefano Stabellini
This patch does following:
1. creates arch_handle_ioreq() and arch_xen_set_memory(). This is done in
preparation for moving most of xen-hvm code to an arch-neutral location,
move the x86-specific portion of xen_set_memory to arch_xen_set_memory.
Also, move
Add a new machine xenpvh which creates a IOREQ server to register/connect with
Xen Hypervisor.
Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device, adds a
TPM emulator and connects to swtpm running on host machine via chardev socket
and support TPM functionalities for a guest
From: Stefano Stabellini
On ARM it is possible to have a functioning xenpv machine with only the
PV backends and no IOREQ server. If the IOREQ server creation fails continue
to the PV backends initialization.
Also, moved the IOREQ registration and mapping subroutine to new function
Add CONFIG_XEN for aarch64 device to support build for ARM targets.
Signed-off-by: Vikram Garhwal
Signed-off-by: Stefano Stabellini
Reviewed-by: Alex Bennée
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index
Replace g_malloc with g_new and perror with error_report.
Signed-off-by: Vikram Garhwal
Reviewed-by: Stefano Stabellini
Reviewed-by: Paul Durrant
---
hw/xen/xen-hvm-common.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/hw/xen/xen-hvm-common.c
From: Stefano Stabellini
have_xen_pci_passthrough is only used for Xen x86 VMs.
Signed-off-by: Stefano Stabellini
Reviewed-by: Alex Bennée
---
meson.build | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meson.build b/meson.build
index 29f8644d6d..52c3995c9d 100644
--- a/meson.build
+++
From: Stefano Stabellini
This is done to prepare for enabling xenpv support for ARM architecture.
On ARM it is possible to have a functioning xenpv machine with only the
PV backends and no IOREQ server. If the IOREQ server creation fails,
continue to the PV backends initialization.
In preparation to moving most of xen-hvm code to an arch-neutral location,
move non IOREQ references to:
- xen_get_vmport_regs_pfn
- xen_suspend_notifier
- xen_wakeup_notifier
- xen_ram_init
towards the end of the xen_hvm_init_pc() function.
This is done to keep the common ioreq functions in one
From: Stefano Stabellini
In preparation to moving most of xen-hvm code to an arch-neutral location, move:
- shared_vmport_page
- log_for_dirtybit
- dirty_bitmap
- suspend
- wakeup
out of XenIOState struct as these are only used on x86, especially the ones
related to dirty logging.
Updated
xen-mapcache.c contains common functions which can be used for enabling Xen on
aarch64 with IOREQ handling. Moving it out from hw/i386/xen to hw/xen to make it
accessible for both aarch64 and x86.
Signed-off-by: Vikram Garhwal
Signed-off-by: Stefano Stabellini
Reviewed-by: Paul Durrant
---
Hi,
Rebased and resending the series with latest QEMU as it's been quite sometime.
There are no code changes.
Also, this series has dependency on following gitlab-ci
patch: https://lists.gnu.org/archive/html/qemu-devel/2023-04/msg01641.html.
This series add xenpvh machine for aarch64. Motivation
Jan Beulich writes:
> On 14.03.2023 21:56, Volodymyr Babchuk wrote:
>> +static inline void refcnt_put(refcnt_t *refcnt, void (*destructor)(refcnt_t
>> *refcnt))
>
> Hmm, this means all callers need to pass (and agree on) the supposedly
> single destructor function that needs calling. Wouldn't
Hello Roger,
Sorry for the late answer.
Roger Pau Monné writes:
> On Tue, Mar 14, 2023 at 08:56:29PM +, Volodymyr Babchuk wrote:
>> We can use reference counter to ease up object lifetime management.
>> This patch adds very basic support for reference counters. refcnt
>> should be used in
Xen is supported for aarch64 via xenpvh machine. disable-tcg option fails the
build for aarch64 target.
Link for xen on arm patch series:
https://mail.gnu.org/archive/html/qemu-devel/2023-02/msg03979.html
Signed-off-by: Vikram Garhwal
---
.gitlab-ci.d/crossbuilds.yml | 4 ++--
1 file changed,
Following changes are done to __unflatten_device_tree():
1. __unflatten_device_tree() is renamed to unflatten_device_tree().
2. Remove static function type.
3. Add handling of memory allocation. This will be useful in dynamic node
programming when we unflatten the dt during
xc_dt_overlay() sends the device tree binary overlay, size of .dtbo and overlay
operation type i.e. add or remove to xen.
Signed-off-by: Vikram Garhwal
---
tools/include/xenctrl.h | 5
tools/libs/ctrl/Makefile.common | 1 +
tools/libs/ctrl/xc_dt_overlay.c | 48
Add remove_device callback for removing the device entry from smmu-master using
following steps:
1. Find if SMMU master exists for the device node.
2. Remove the SMMU master
Signed-off-by: Vikram Garhwal
Reviewed-by: Luca Fancellu
---
xen/drivers/passthrough/arm/smmu.c | 56
Signed-off-by: Vikram Garhwal
---
tools/xl/xl.h | 1 +
tools/xl/xl_cmdtable.c | 6 +
tools/xl/xl_vmcontrol.c | 52 +
3 files changed, 59 insertions(+)
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 72538d6a81..a923daccd3 100644
---
Remove master device from the IOMMU. This will be helpful when removing the
overlay nodes using dynamic programming during run time.
Signed-off-by: Vikram Garhwal
---
xen/drivers/passthrough/device_tree.c | 38 +++
xen/include/xen/iommu.h | 2 ++
2 files
Signed-off-by: Vikram Garhwal
---
tools/include/libxl.h | 11 +
tools/libs/light/Makefile | 3 ++
tools/libs/light/libxl_dt_overlay.c | 71 +
3 files changed, 85 insertions(+)
create mode 100644 tools/libs/light/libxl_dt_overlay.c
diff
Hi,
The main purpose of this series to address first part of the dynamic programming
i.e. making Xen aware of new device tree node which means updating the dt_host
with overlay node information. Here we are adding/removing node from dt_host,
and checking/set IOMMU and IRQ permission but never
Dynamic programming ops will modify the dt_host and there might be other
function which are browsing the dt_host at the same time. To avoid the race
conditions, adding rwlock for browsing the dt_host. But adding rwlock in
device_tree.h causes following circular dependency:
Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_lock().
Moving spin_lock to caller was done to prevent the concurrent access to
iommu_dt_device_is_assigned while doing add/remove/assign/deassign.
Signed-off-by: Vikram Garhwal
Reviewed-by: Luca Fancellu
---
Signed-off-by: Vikram Garhwal
---
tools/include/libxl.h | 11 +
tools/libs/light/Makefile | 3 ++
tools/libs/light/libxl_dt_overlay.c | 71 +
3 files changed, 85 insertions(+)
create mode 100644 tools/libs/light/libxl_dt_overlay.c
diff
Dynamic programming ops will modify the dt_host and there might be other
function which are browsing the dt_host at the same time. To avoid the race
conditions, adding rwlock for browsing the dt_host during runtime.
Signed-off-by: Vikram Garhwal
---
xen/common/device_tree.c | 3
Rename overlay_get_target() to fdt_overlay_target_offset() and remove static
function type.
This is done to get the target path for the overlay nodes which is very useful
in many cases. For example, Xen hypervisor needs it when applying overlays
because Xen needs to do further processing of the
Update sysctl XEN_SYSCTL_dt_overlay to enable support for dtbo nodes addition
using device tree overlay.
xl dt-overlay add file.dtbo:
Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
device_tree_flattened) is created and updated with overlay nodes. This
updated fdt
Add device_tree_find_node_by_path() to find a matching node with path for a
dt_device_node.
Reason behind this function:
Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
device_tree_flattened) is created and updated with overlay nodes. This
updated fdt is further
This is done to access fdt library function which are required for adding device
tree overlay nodes for dynamic programming of nodes.
Signed-off-by: Vikram Garhwal
Acked-by: Julien Grall
---
xen/common/libfdt/Makefile | 4
1 file changed, 4 insertions(+)
diff --git
Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using
device tree overlay.
xl dt-overlay remove file.dtbo:
Removes all the nodes in a given dtbo.
First, removes IRQ permissions and MMIO accesses. Next, it finds the nodes
in dt_host and delete the device node
Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access add.
Signed-off-by: Vikram Garhwal
Reviewed-by: Luca Fancellu
---
xen/drivers/passthrough/device_tree.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/xen/drivers/passthrough/device_tree.c
Introduce a config option where the user can enable support for adding/removing
device tree nodes using a device tree binary overlay.
Signed-off-by: Vikram Garhwal
---
SUPPORT.md | 6 ++
xen/arch/arm/Kconfig | 5 +
2 files changed, 11 insertions(+)
diff --git a/SUPPORT.md
Remove __init from following function to access during runtime:
1. map_irq_to_domain()
2. handle_device_interrupt()
3. map_range_to_domain()
4. unflatten_dt_node()
5. unflatten_device_tree()
Move map_irq_to_domain() prototype from domain_build.h to setup.h.
To avoid the
Update sysctl XEN_SYSCTL_dt_overlay to enable support for dtbo nodes addition
using device tree overlay.
xl dt-overlay add file.dtbo:
Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
device_tree_flattened) is created and updated with overlay nodes. This
updated fdt
xc_dt_overlay() sends the device tree binary overlay, size of .dtbo and overlay
operation type i.e. add or remove to xen.
Signed-off-by: Vikram Garhwal
---
tools/include/xenctrl.h | 5
tools/libs/ctrl/Makefile.common | 1 +
tools/libs/ctrl/xc_dt_overlay.c | 48
Signed-off-by: Vikram Garhwal
---
tools/xl/xl.h | 1 +
tools/xl/xl_cmdtable.c | 6 +
tools/xl/xl_vmcontrol.c | 52 +
3 files changed, 59 insertions(+)
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 72538d6a81..a923daccd3 100644
---
Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using
device tree overlay.
xl dt-overlay remove file.dtbo:
Removes all the nodes in a given dtbo.
First, removes IRQ permissions and MMIO accesses. Next, it finds the nodes
in dt_host and delete the device node
Remove master device from the IOMMU. This will be helpful when removing the
overlay nodes using dynamic programming during run time.
Signed-off-by: Vikram Garhwal
---
xen/drivers/passthrough/device_tree.c | 38 +++
xen/include/xen/iommu.h | 2 ++
2 files
Add remove_device callback for removing the device entry from smmu-master using
following steps:
1. Find if SMMU master exists for the device node.
2. Remove the SMMU master
Signed-off-by: Vikram Garhwal
Reviewed-by: Luca Fancellu
---
xen/drivers/passthrough/arm/smmu.c | 56
Dynamic programming ops will modify the dt_host and there might be other
function which are browsing the dt_host at the same time. To avoid the race
conditions, adding rwlock for browsing the dt_host. But adding rwlock in
device_tree.h causes following circular dependency:
Dynamic programming ops will modify the dt_host and there might be other
function which are browsing the dt_host at the same time. To avoid the race
conditions, adding rwlock for browsing the dt_host during runtime.
Signed-off-by: Vikram Garhwal
---
xen/common/device_tree.c | 3
Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_lock().
Moving spin_lock to caller was done to prevent the concurrent access to
iommu_dt_device_is_assigned while doing add/remove/assign/deassign.
Signed-off-by: Vikram Garhwal
Reviewed-by: Luca Fancellu
---
Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access add.
Signed-off-by: Vikram Garhwal
Reviewed-by: Luca Fancellu
---
xen/drivers/passthrough/device_tree.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/xen/drivers/passthrough/device_tree.c
Remove __init from following function to access during runtime:
1. map_irq_to_domain()
2. handle_device_interrupt()
3. map_range_to_domain()
4. unflatten_dt_node()
5. unflatten_device_tree()
Move map_irq_to_domain() prototype from domain_build.h to setup.h.
To avoid the
Rename overlay_get_target() to fdt_overlay_target_offset() and remove static
function type.
This is done to get the target path for the overlay nodes which is very useful
in many cases. For example, Xen hypervisor needs it when applying overlays
because Xen needs to do further processing of the
Following changes are done to __unflatten_device_tree():
1. __unflatten_device_tree() is renamed to unflatten_device_tree().
2. Remove static function type.
3. Add handling of memory allocation. This will be useful in dynamic node
programming when we unflatten the dt during
Introduce a config option where the user can enable support for adding/removing
device tree nodes using a device tree binary overlay.
Signed-off-by: Vikram Garhwal
---
SUPPORT.md | 6 ++
xen/arch/arm/Kconfig | 5 +
2 files changed, 11 insertions(+)
diff --git a/SUPPORT.md
Add device_tree_find_node_by_path() to find a matching node with path for a
dt_device_node.
Reason behind this function:
Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
device_tree_flattened) is created and updated with overlay nodes. This
updated fdt is further
This is done to access fdt library function which are required for adding device
tree overlay nodes for dynamic programming of nodes.
Signed-off-by: Vikram Garhwal
Acked-by: Julien Grall
---
xen/common/libfdt/Makefile | 4
1 file changed, 4 insertions(+)
diff --git
Hi,
The main purpose of this series to address first part of the dynamic programming
i.e. making Xen aware of new device tree node which means updating the dt_host
with overlay node information. Here we are adding/removing node from dt_host,
and checking/set IOMMU and IRQ permission but never
flight 180204 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180204/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-amd64-i386-xl-vhd 22 guest-start.2 fail blocked in 180198
On Tue, 7 Mar 2023 at 18:27, David Woodhouse wrote:
>
> From: David Woodhouse
>
> Now that we have an internal implementation of XenStore, we can populate
> the xenstore_backend_ops to allow PV backends to talk to it.
>
> Watches can't be processed with immediate callbacks because that would
>
On Tue, 7 Mar 2023 at 18:27, David Woodhouse wrote:
>
> From: David Woodhouse
>
> Now that we have an internal implementation of XenStore, we can populate
> the xenstore_backend_ops to allow PV backends to talk to it.
>
> Watches can't be processed with immediate callbacks because that would
>
flight 180205 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180205/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass
test-arm64-arm64-xl-xsm
flight 180200 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180200/
Failures :-/ but no regressions.
Tests which are failing intermittently (not blocking):
test-amd64-i386-libvirt 7 xen-install fail in 180192 pass in 180200
test-amd64-amd64-xl-qcow2 21
Hi,
On 28/03/2023 10:16, Jan Beulich wrote:
On 28.03.2023 02:53, Stefano Stabellini wrote:
On Mon, 27 Mar 2023, Julien Grall wrote:
From: Julien Grall
It is easier to understand the license of a file when using SPDX.
This is replacing the below pattern with the SPDX tag GPL-2.0-only
in
On 11/04/2023 11:30 am, Simon Gaiser wrote:
> Hi,
>
> I have been recently looking into getting S0ix working on Xen [1].
>
> Thanks to a tip from Andrew I found that the HPET legacy mode was
> preventing my test system from reaching a package C-state lower than PC7
> and thereby also preventing
Hi,
I have been recently looking into getting S0ix working on Xen [1].
Thanks to a tip from Andrew I found that the HPET legacy mode was
preventing my test system from reaching a package C-state lower than PC7
and thereby also preventing S0ix residency.
For testing I simply modified
flight 180203 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180203/
Perfect :-)
All tests in this flight passed as required
version targeted for testing:
ovmf 51734dfc48466eddfb0f8acdb24518266c36c905
baseline version:
ovmf
flight 180199 linux-linus real [real]
flight 180202 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180199/
http://logs.test-lab.xenproject.org/osstest/logs/180202/
Failures :-/ but no regressions.
Tests which are failing intermittently (not blocking):
63 matches
Mail list logo