[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 09/26] target/arm/kvm-rme: Initialize Realm memory
From: |
Jean-Philippe Brucker |
Subject: |
Re: [PATCH v3 09/26] target/arm/kvm-rme: Initialize Realm memory |
Date: |
Fri, 7 Feb 2025 15:59:20 +0000 |
On Tue, Feb 04, 2025 at 03:30:00PM +1000, Gavin Shan wrote:
> > + hwaddr ram_base;
> > + size_t ram_size;
> > };
>
> s/size_t/hwaddr. To be consistent with RmeRamRegion, we may reuse
> it like below.
>
> struct RmeGuest {
> :
> GSlist *populate_ram_regions;
> RmeRamRegion init_ram_region;
> };
Good idea, I'll make that init_ram
>
> > OBJECT_DEFINE_SIMPLE_TYPE_WITH_INTERFACES(RmeGuest, rme_guest, RME_GUEST,
> > CONFIDENTIAL_GUEST_SUPPORT,
> > { TYPE_USER_CREATABLE }, { })
> > +typedef struct {
> > + hwaddr base;
> > + hwaddr size;
> > +} RmeRamRegion;
> > +
> > static RmeGuest *rme_guest;
> > +static int rme_init_ram(hwaddr base, size_t size, Error **errp)
> > +{
> > + int ret;
> > + uint64_t start = QEMU_ALIGN_DOWN(base, RME_PAGE_SIZE);
> > + uint64_t end = QEMU_ALIGN_UP(base + size, RME_PAGE_SIZE);
> > + struct kvm_cap_arm_rme_init_ipa_args init_args = {
> > + .init_ipa_base = start,
> > + .init_ipa_size = end - start,
> > + };
> > +
> > + ret = kvm_vm_enable_cap(kvm_state, KVM_CAP_ARM_RME, 0,
> > + KVM_CAP_ARM_RME_INIT_IPA_REALM,
> > + (intptr_t)&init_args);
> > + if (ret) {
> > + error_setg_errno(errp, -ret,
> > + "failed to init RAM [0x%"HWADDR_PRIx",
> > 0x%"HWADDR_PRIx")",
> ^^^^^^^^^^
> ^^^^^^^^^^^
> The type for 'start' and 'end' would be 'hwaddr'.
Right, I changed everything to hwaddr
Thanks,
Jean