Excerpts from David Gibson's message of February 25, 2022 1:42 pm: > On Thu, Feb 24, 2022 at 03:58:17PM -0300, Fabiano Rosas wrote: >> This adds migration support for TCG pseries machines running a KVM-HV >> guest. >> @@ -734,6 +777,7 @@ const VMStateDescription vmstate_ppc_cpu = { >> &vmstate_tlbemb, >> &vmstate_tlbmas, >> &vmstate_compat, >> + &vmstate_nested, > > The hdecr stuff doesn't seem quite right. Notionally the L1 cpu, > since it is in PAPR mode, doesn't *have* an HDECR. It's only the L0 > nested-KVM extensions that allow it to kind of fake access to an > HDECR. We're kind of abusing the HDECR fields in the cpu structure > for this. At the very least I think the fake-HDECR migration stuff > needs to go in the spapr_cpu_state not the general cpu state, since it > would make no sense if the L1 were a powernv system.
We could possibly just make a new timer for this, btw. It's not really buying a lot and may be slightly confusing to share hdecr. It could still cause a HDEC exception though. (If we really wanted to divorce that confusion about the HV architecture from the vhyp nested L0 implementation we could come up with an entirely new set of "exit nested" kind of exceptions that don't look like HV interrupts, but reusing the HV interrupts was simple and kind of neat in a way). Thanks, Nick