[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/hvm: do not register hpet mmio during s3 cycle
>>> On 07.11.17 at 21:39, <chanudete@xxxxxxxxxxxx> wrote: > Do it once at domain creation (hpet_init). > > Sleep -> Resume cycles will end up crashing an HVM guest with hpet as > the sequence during resume takes the path: > -> hvm_s3_suspend > -> hpet_reset > -> hpet_deinit > -> hpet_init > -> register_mmio_handler > -> hvm_next_io_handler > > register_mmio_handler will use a new io handler each time, until > eventually it reaches NR_IO_HANDLERS, then hvm_next_io_handler calls > domain_crash. > > Signed-off-by: Eric Chanudet <chanudete@xxxxxxxxxxxx> This is certainly worthwhile to consider for 4.10 - please Cc Julien on v2. > +void hpet_reinit(struct domain *d) static > +{ > + HPETState *h = domain_vhpet(d); > + > + if ( !has_vhpet(d) ) > + return; > + > + hpet_set(h); The local variable, being used only once, isn't needed. > @@ -698,7 +713,7 @@ void hpet_deinit(struct domain *d) > void hpet_reset(struct domain *d) > { > hpet_deinit(d); > - hpet_init(d); > + hpet_reinit(d); > } This being the only caller, it then becomes questionable whether hpet_reinit() needs to be a separate function, or wouldn't better be inlined here. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |