On Tue, Dec 04, 2018 at 12:46:06PM +0100, Peter Hessler wrote: > On 2018 Dec 03 (Mon) at 16:56:10 -0800 (-0800), Chris Cappuccio wrote: > :Reyk Floeter [r...@openbsd.org] wrote: > :> > :> Yes, KVM???s stable bit is not a reliable indication as it is seems to > depend on the capabilities of the KVM version and not the actual availability > of the feature on the particular hardware. How annoying. > :> > :> As mentioned before: I???d like to disable pvclock for now and I can do > that in the morning CET if nobody beats me to it. > :> > :> I have an idea how to deal with old platforms afterwards but this needs > some more tests and thoughts. > :> > : > :Perhaps the solution is as "simple" as checking the status of the bit > :after the presence of the bit is established ? > : > > This makes sense, OK >
See my other mail, this diff is not OK. Reyk > > > > :Index: pvclock.c > :=================================================================== > :RCS file: /cvs/src/sys/dev/pv/pvclock.c,v > :retrieving revision 1.2 > :diff -u -p -u -r1.2 pvclock.c > :--- pvclock.c 24 Nov 2018 13:12:29 -0000 1.2 > :+++ pvclock.c 4 Dec 2018 00:53:56 -0000 > :@@ -127,8 +127,10 @@ pvclock_match(struct device *parent, voi > : void > : pvclock_attach(struct device *parent, struct device *self, void *aux) > : { > :- struct pvclock_softc *sc = (struct pvclock_softc *)self; > :- paddr_t pa; > :+ struct pvclock_softc *sc = (struct pvclock_softc *)self; > :+ struct pvclock_time_info *ti; > :+ paddr_t pa; > :+ uint8_t flags; > : > : if ((sc->sc_time = km_alloc(PAGE_SIZE, > : &kv_any, &kp_zero, &kd_nowait)) == NULL) { > :@@ -151,6 +153,13 @@ pvclock_attach(struct device *parent, st > : > : /* Better than HPET but below TSC */ > : sc->sc_tc->tc_quality = 1500; > :+ > :+ ti = sc->sc_time; > :+ flags = ti->ti_flags; > :+ if ((flags & PVCLOCK_FLAG_TSC_STABLE) == 0) { > :+ printf(": unstable timestamp counter\n"); > :+ return; > :+ } > : > : tc_init(sc->sc_tc); > : > : > > -- > fortune -as