[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 08/16] target/arm/kvm-rme: Populate the realm with boot i
From: |
Jean-Philippe Brucker |
Subject: |
Re: [RFC PATCH 08/16] target/arm/kvm-rme: Populate the realm with boot images |
Date: |
Wed, 8 Feb 2023 12:10:13 +0000 |
On Fri, Jan 27, 2023 at 01:54:23PM -1000, Richard Henderson wrote:
> > static void rme_vm_state_change(void *opaque, bool running, RunState
> > state)
> > {
> > int ret;
> > @@ -72,6 +115,9 @@ static void rme_vm_state_change(void *opaque, bool
> > running, RunState state)
> > }
> > }
> > + g_slist_foreach(rme_images, rme_populate_realm, NULL);
> > + g_slist_free_full(g_steal_pointer(&rme_images), g_free);
>
> I suppose this technically works because you clear the list, and thus the
> hook is called only on the first transition to RUNNING. On all subsequent
> transitions the list is empty.
>
> I see that i386 sev does this immediately during machine init, alongside the
> kernel setup. Since kvm_init has already been called, that seems workable,
> rather than queuing anything for later.
The problem I faced was that RME_POPULATE_REALM needs to be called after
rom_reset(), which copies all the blobs into guest memory, and that
happens at device reset time, after machine init and
kvm_cpu_synchronize_post_init().
> But I think ideally this would be handled generically in (approximately)
> kvm_cpu_synchronize_post_init, looping over all blobs. This would handle
> any usage of '-device loader,...', instead of the 4 specific things you
> handle in the next patch.
I'd definitely prefer something generic that hooks into the loader, I'll
look into that. I didn't do it right away because the arm64 Linux kernel
loading is special, requires reserving extra RAM in addition to the blob
(hence the two parameters to kvm_arm_rme_add_blob()). But we could just
have a special case for the extra memory needed by Linux and make the rest
generic.
Thanks,
Jean
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [RFC PATCH 08/16] target/arm/kvm-rme: Populate the realm with boot images,
Jean-Philippe Brucker <=