[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2 2/7] target/arm: Allow KVM device address overw
Re: [Qemu-devel] [RFC v2 2/7] target/arm: Allow KVM device address overwriting
Tue, 22 May 2018 13:33:29 +0100
On 13 May 2018 at 15:35, Eric Auger <address@hidden> wrote:
> for KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION attribute, the attribute
> data pointed to by kvm_device_attr.addr is a OR of the
> redistributor region address and other fields such as the index
> of the redistributor region and the number of redistributors the
> region can contain.
> The existing machine init done notifier framework sets the address
> field to the actual address of the device and does not allow to OR
> this value with other fields.
> This patch extends the KVMDevice struct with a new kda_addr_fixup
> member. Its value is passed at registration time and OR'ed with the
> resolved address on kvm_arm_set_device_addr().
> diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h
> index 1e23640..4050017 100644
> --- a/target/arm/kvm_arm.h
> +++ b/target/arm/kvm_arm.h
> @@ -34,6 +34,7 @@ int kvm_arm_vcpu_init(CPUState *cs);
> * @group: device control API group for setting addresses
> * @attr: device control API address type
> * @dev_fd: device control device file descriptor (or -1 if not supported)
> + * @addr_fixup: value to be OR'ed with resolved address
I think addr_fixup is a bit vague; how about
(here and in the function argument name). Or something else if
somebody has a better idea.
> * Remember the memory region @mr, and when it is mapped by the
> * machine model, tell the kernel that base address using the
> @@ -45,7 +46,7 @@ int kvm_arm_vcpu_init(CPUState *cs);
> * address at the point where machine init is complete.
> void kvm_arm_register_device(MemoryRegion *mr, uint64_t devid, uint64_t
> - uint64_t attr, int dev_fd);
> + uint64_t attr, int dev_fd, uint64_t addr_fixup);
> * kvm_arm_init_cpreg_list:
Reviewed-by: Peter Maydell <address@hidden>
[Qemu-devel] [RFC v2 4/7] hw/intc/arm_gicv3_kvm: Get prepared to handle multiple redist regions, Eric Auger, 2018/05/13
[Qemu-devel] [RFC v2 6/7] hw/arm/virt-acpi-build: Advertise one or two GICR structures, Eric Auger, 2018/05/13
[Qemu-devel] [RFC v2 5/7] hw/arm/virt: GICv3 DT node with one or two redistributor regions, Eric Auger, 2018/05/13