Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Sep 2016 15:41:38 -0500
From:      Krzysztof Parzyszek <kristof@swissmail.org>
To:        Mark Millard <markmi@dsl-only.net>
Cc:        Jukka Ukkonen <jau789@gmail.com>, freebsd-ppc@freebsd.org
Subject:   Re: PowerMac G5 hangs/crashes on boot: 10.2, 11.0-RCx
Message-ID:  <b39a5ae1-7aa5-a71f-3aff-221fc9c2e4da@swissmail.org>
In-Reply-To: <0A9EB3C7-F430-4F82-9B09-632754BB82C8@dsl-only.net>
References:  <6ad00a2d-4213-18b8-7974-534aa3758837@swissmail.org> <E90BB066-47C9-4626-BE6C-5D15ECA0E4EE@gmail.com> <db0aa91b-aa79-689a-e901-437e18b49b81@swissmail.org> <0A9EB3C7-F430-4F82-9B09-632754BB82C8@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 9/9/2016 3:21 PM, Mark Millard wrote:
>
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205458 (from 2015-Dec-20)
>
> It reports as the technique:
>
>> The change is in ofw_sprg_prepare of sys/powerpc/ofw/ofw_machdep.c and could look something like (presented in a form to show new/PowerMacG5-Specific code and old general code):
>>
>> #ifdef POWERMAC_G5_SPECIFIC_BUILD
>> 	__asm __volatile("mfsprg0 %0\n\t"
>> 			 "mtsprg1 %1\n\t"
>> 			 "mtsprg2 %2\n\t"
>> 			 "mtsprg3 %3\n\t"
>> 			 : "=&r"(ofw_sprg0_save)
>> 			 : "r"(ofmsr[2]),
>> 			 "r"(ofmsr[3]),
>> 			 "r"(ofmsr[4]));
>> #else
>> // The historical code:
>> 	__asm __volatile("mfsprg0 %0\n\t"
>> 			 "mtsprg0 %1\n\t"
>> 			 "mtsprg1 %2\n\t"
>> 			 "mtsprg2 %3\n\t"
>> 			 "mtsprg3 %4\n\t"
>> 			 : "=&r"(ofw_sprg0_save)
>> 			 : "r"(ofmsr[1]),
>> 			 "r"(ofmsr[2]),
>> 			 "r"(ofmsr[3]),
>> 			 "r"(ofmsr[4]));
>> #endif
>>
>> In other words: for PowerMac G5's omit the mtsprg0 from ofmsr[1]: leave the register as it already is instead of resetting it. The value in ofmsr[1] is inappropriate to the context. I deliberately kept the change minimal and left in all other code related to the register.
>

Hi Mark,

I reinstalled 10.3, and it boots *sometimes*.  I cannot try this change 
though, because it hangs well before the kernel finishes building.

The custom kernel I had before was quite stable, once it booted, but at 
the moment I cannot get any kernel to build.

-Krzysztof




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b39a5ae1-7aa5-a71f-3aff-221fc9c2e4da>