[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [RFC v2 2/7] target/arm: Allow KVM device address overwri
From: |
Peter Maydell |
Subject: |
Re: [Qemu-arm] [RFC v2 2/7] target/arm: Allow KVM device address overwriting |
Date: |
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
addr_fixed_bits ?
(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
> group,
> - uint64_t attr, int dev_fd);
> + uint64_t attr, int dev_fd, uint64_t addr_fixup);
>
> /**
> * kvm_arm_init_cpreg_list:
> --
> 2.5.5
Otherwise
Reviewed-by: Peter Maydell <address@hidden>
thanks
-- PMM
[Qemu-arm] [RFC v2 1/7] linux-headers: Partial update for KVM/ARM multiple redistributor region registration, Eric Auger, 2018/05/13
[Qemu-arm] [RFC v2 4/7] hw/intc/arm_gicv3_kvm: Get prepared to handle multiple redist regions, Eric Auger, 2018/05/13
[Qemu-arm] [RFC v2 5/7] hw/arm/virt: GICv3 DT node with one or two redistributor regions, Eric Auger, 2018/05/13