Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Mar 2022 18:09:04 -0500
From:      Shawn Webb <shawn.webb@hardenedbsd.org>
To:        Mark Johnston <markj@freebsd.org>
Cc:        src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 84369dd52369 - main - x86: Probe the TSC frequency earlier
Message-ID:  <20220304230904.tx26rtpu4xrpflju@mutt-hbsd>
In-Reply-To: <20220304211027.ztkf4knrpeeyhkld@mutt-hbsd>
References:  <202203011439.221EdtpY038505@gitrepo.freebsd.org> <20220304142447.bmo7r6syd6gsunnt@mutt-hbsd> <YiIsshB5MgS6QdU3@nuc> <20220304175226.avi2r57dvjfeyr7w@mutt-hbsd> <20220304181529.isvkyyx3qwcbt6v7@mutt-hbsd> <YiJa7jmEeRrAlc0S@nuc> <20220304211027.ztkf4knrpeeyhkld@mutt-hbsd>

next in thread | previous in thread | raw e-mail | index | archive | help

--3aelavp4qgrddn42
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 04, 2022 at 04:10:27PM -0500, Shawn Webb wrote:
> On Fri, Mar 04, 2022 at 01:31:10PM -0500, Mark Johnston wrote:
> > On Fri, Mar 04, 2022 at 01:15:29PM -0500, Shawn Webb wrote:
> > > On Fri, Mar 04, 2022 at 12:52:26PM -0500, Shawn Webb wrote:
> > > > On Fri, Mar 04, 2022 at 10:13:54AM -0500, Mark Johnston wrote:
> > > > > On Fri, Mar 04, 2022 at 09:24:47AM -0500, Shawn Webb wrote:
> > > > > > On Tue, Mar 01, 2022 at 02:39:55PM +0000, Mark Johnston wrote:
> > > > > > > The branch main has been updated by markj:
> > > > > > >=20
> > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D84369dd52369cb=
ae28970dca20a53d3de1719907
> > > > > > >=20
> > > > > > > commit 84369dd52369cbae28970dca20a53d3de1719907
> > > > > > > Author:     Mark Johnston <markj@FreeBSD.org>
> > > > > > > AuthorDate: 2022-03-01 14:39:35 +0000
> > > > > > > Commit:     Mark Johnston <markj@FreeBSD.org>
> > > > > > > CommitDate: 2022-03-01 14:39:35 +0000
> > > > > > >=20
> > > > > > >     x86: Probe the TSC frequency earlier
> > > > > > >    =20
> > > > > > >     This lets us use the TSC to implement early DELAY, limiti=
ng the use of
> > > > > > >     the sometimes-unreliable 8254 PIT.
> > > > > > >    =20
> > > > > > >     PR:             262155
> > > > > > >     Reviewed by:    emaste
> > > > > > >     Tested by:      emaste, mike tancsa <mike@sentex.net>, St=
efan Hegnauer <stefan.hegnauer@gmx.ch>
> > > > > > >     MFC after:      1 month
> > > > > > >     Sponsored by:   The FreeBSD Foundation
> > > > > > >     Differential Revision:  https://reviews.freebsd.org/D34367
> > > > > > > ---
> > > > > > >  sys/amd64/amd64/machdep.c |  14 +++++-
> > > > > > >  sys/i386/i386/machdep.c   |  11 ++++-
> > > > > > >  sys/x86/include/clock.h   |   3 +-
> > > > > > >  sys/x86/isa/clock.c       |   4 +-
> > > > > > >  sys/x86/x86/tsc.c         | 123 +++++++++++++++++++++++++---=
------------------
> > > > > > >  5 files changed, 94 insertions(+), 61 deletions(-)
> > > > > >=20
> > > > > > Hey Mark,
> > > > > >=20
> > > > > > Something about this commit breaks booting in Hyper-V. Revertin=
g this
> > > > > > particular commit makes Hyper-V happy again.
> > > > >=20
> > > > > The patch below might be sufficient.  I'll test it in Azure but i=
t'll
> > > > > take me some time.
> > > > >=20
> > > > > diff --git a/sys/x86/x86/delay.c b/sys/x86/x86/delay.c
> > > > > index c767250954da..95b994b15f81 100644
> > > > > --- a/sys/x86/x86/delay.c
> > > > > +++ b/sys/x86/x86/delay.c
> > > > > @@ -89,7 +89,7 @@ delay_tc(int n)
> > > > >  		return (1);
> > > > >  	}
> > > > >  	tc =3D timecounter;
> > > > > -	if (tc->tc_quality <=3D 0)
> > > > > +	if (tc =3D=3D NULL || tc->tc_quality <=3D 0)
> > > > >  		return (0);
> > > > >  	func =3D tc->tc_get_timecount;
> > > > >  	mask =3D tc->tc_counter_mask;
> > > >=20
> > > > Great! I'll give this patch a try and report back.
> > >=20
> > > The proposed patch did not result in successful boot.
> >=20
> > Ok, I forgot about the dummy timecounter, so that patch did nothing.
> > Can you try this one instead, please? https://reviews.freebsd.org/D34444
> >=20
> > I wasn't able to reproduce any problems on Azure, but there HyperV
> > provides an emulated 8254 timer.
>=20
> Can do. I'll report back soon (possibly tomorrow due to time
> constraints.)

That patch indeed made the Hyper-V VM happy. Boot was successful.

Thanks!

--=20
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A=
4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc

--3aelavp4qgrddn42
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmIinA4ACgkQ/y5nonf4
4fpsYw//dMB8v2fJwPQ8AZtiPwhxe0lR4xysNnG2UQVjjz+ugAsqSIzJttJPLnvg
swxZWGnlXFuRF6+YVHvJWtEA8JzbPMKpKNyXbaQex0NYw4CBecvGZnz8HeNTKZF/
B1VOScy42KsE804U9lYx1O8Bl0z810beSTwLsfKeXYCwx8axHhUn2VYCZh++9blN
zB9vrZqEppIn/rw6ir6K3gxZ3+5E+19vRyJvB5GVIJV98FYm/FSEJJib0d/rgKUK
5Vu4YfCIYrkq3nTWY60UTRj3LCGUE/QFi2CIAORMXPqsPYSShDoRphSOL96UkkMR
0riVxunPfu4VZpaakE9vqKPod0MQFRjRlbD3h0Lp6herz+6X0KA8BKL3HSnzeyw7
UOcmc3J7SxmT8XvbkKip2ghkWY3xTXWp6VEgEwLg6+nFApvCnpjfQNVMTFDkY4On
B0Nabi0bdhtJlyiMr93fABzU1ifmy4w9Q8RHQWElOrqqKmGUXQtRgfy3yaWbmL7l
zGhMYy6MURpKgyf/rsINC6mMy08xTvWsl616oDcXn8jzIgwOnjEIYsX4WnP5HXAl
SdrZbwb6lNVgu+rzOGRLtociAjZtRPCiLKarkE1JzO73K/5tchDMhaS+sIhNGcIX
EK/Y+QYDW4BPRP0wHn0eU1YCYPNQPw/cvee8HcPwyii+bRHvwms=
=iCDe
-----END PGP SIGNATURE-----

--3aelavp4qgrddn42--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20220304230904.tx26rtpu4xrpflju>