On Sun, Jun 19, 2016 at 02:14:12PM +0200, BALATON Zoltan wrote: > On Sun, 19 Jun 2016, Benjamin Herrenschmidt wrote: > > The 75x and 74xx processors have some thermal monitoring SPRs that > > some OSes such as MacOS do use. Our current "dumb" implementation > > isn't good enough and will cause some versions of MacOS to hang during > > boot. > > > > This lifts an improved emulation from MacOnLinux and adapts it to > > qemu, thus fixing the problem. > > > > Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org> > > --- > > target-ppc/helper.h | 1 + > > target-ppc/misc_helper.c | 41 +++++++++++++++++++++++++++++++++++++++++ > > target-ppc/translate_init.c | 13 ++++++++++--- > > 3 files changed, 52 insertions(+), 3 deletions(-) > > > > diff --git a/target-ppc/helper.h b/target-ppc/helper.h > > index f4410a8..18eb52f 100644 > > --- a/target-ppc/helper.h > > +++ b/target-ppc/helper.h > > @@ -670,3 +670,4 @@ DEF_HELPER_4(dscli, void, env, fprp, fprp, i32) > > DEF_HELPER_4(dscliq, void, env, fprp, fprp, i32) > > > > DEF_HELPER_1(tbegin, void, env) > > +DEF_HELPER_1(fixup_thrm, void, env) > > diff --git a/target-ppc/misc_helper.c b/target-ppc/misc_helper.c > > index 7d41b01..4315778 100644 > > --- a/target-ppc/misc_helper.c > > +++ b/target-ppc/misc_helper.c > > @@ -166,3 +166,44 @@ void ppc_store_msr(CPUPPCState *env, target_ulong > > value) > > { > > hreg_store_msr(env, value, 0); > > } > > + > > +/* This code is lifted from MacOnLinux. It is called whenever > > + * THRM1,2 or 3 is read an fixes up the values in such a way > > + * that will mac MacOS not hang. These registers exist on some > > Typo: mac -> make?
I've made this change, along with a number of checkpatch fixes as I've merged this into my tree. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature