ppc64 snapshot
Justin Hibbits
jrh29 at alumni.cwru.edu
Sun Apr 11 00:19:24 UTC 2010
On Sat, Apr 10, 2010 at 12:04 PM, Nathan Whitehorn
<nwhitehorn at freebsd.org>wrote:
> On 04/10/10 10:53, Justin Hibbits wrote:
>
> On Sat, Apr 10, 2010 at 8:58 AM, Nathan Whitehorn <nwhitehorn at freebsd.org>wrote:
>
>> On 04/10/10 06:52, Justin Hibbits wrote:
>>
>> On Fri, Apr 9, 2010 at 11:59 PM, Nathan Whitehorn <nwhitehorn at freebsd.org
>> > wrote:
>>
>>> On 04/09/10 21:50, Justin Hibbits wrote:
>>>
>>> On Fri, Apr 9, 2010 at 9:20 PM, Nathan Whitehorn <nwhitehorn at freebsd.org
>>> > wrote:
>>>
>>>> On 04/09/10 19:54, Justin Hibbits wrote:
>>>>
>>>> On Thu, Apr 8, 2010 at 9:57 PM, Justin Hibbits <jrh29 at alumni.cwru.edu>wrote:
>>>>
>>>>> On Tue, Apr 6, 2010 at 1:22 PM, Nathan Whitehorn <
>>>>> nwhitehorn at freebsd.org> wrote:
>>>>>
>>>>>> Justin Hibbits wrote:
>>>>>>
>>>>>>> I just got my hands on a dual-core G5 (Late 2005), and want to
>>>>>>> throw
>>>>>>> -CURRENT on it. Is there a snapshot available with the recent ppc64
>>>>>>> changes
>>>>>>> that I could test out?
>>>>>>>
>>>>>>> - Justin
>>>>>>> _______________________________________________
>>>>>>> freebsd-ppc at freebsd.org mailing list
>>>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-ppc
>>>>>>> To unsubscribe, send any mail to "
>>>>>>> freebsd-ppc-unsubscribe at freebsd.org"
>>>>>>>
>>>>>>>
>>>>>> I just finished implementing the last missing feature in the 64-bit
>>>>>> PowerPC port, and there are no more 64-bit-specific bugs that I know about.
>>>>>> Once M. Warner Losh's build system changes are in the tree, I will submit a
>>>>>> final patch set for review, and merge it to head, but the port should be
>>>>>> completely usable at this point.
>>>>>>
>>>>>> System Compatibility:
>>>>>> - Apple G5 machines
>>>>>>
>>>>>> Caveats:
>>>>>> - Do not run ofwdump on an SMP system, as it can cause hangs (also a
>>>>>> 32-bit bug)
>>>>>> - Many ports (e.g. X and GTK) need patches not currently in the ports
>>>>>> tree to compile, since this is a new platform
>>>>>>
>>>>>> Instructions:
>>>>>> svn co http://svn.freebsd.org/base/projects/ppc64
>>>>>> cd ppc64
>>>>>> make buildworld buildkernel installkernel installworld distribution
>>>>>> DESTDIR=/path/to/installation TARGET_ARCH=powerpc64
>>>>>>
>>>>>> I would appreciate any feedback or tests, as well as testing on 32-bit
>>>>>> Book-E systems to make sure I did not break anything. Many thanks to Andreas
>>>>>> Tobler for his tireless testing efforts during development of this port.
>>>>>> -Nathan
>>>>>>
>>>>>>
>>>>> I've finally had a chance to test it, but it hangs with the string
>>>>>
>>>>> Kernel entry at 0x1034e0...
>>>>>
>>>>> nothing more. I tried booting verbose, but that gave nothing, it
>>>>> looks like it may not even be leaving the loader.
>>>>>
>>>>> - Justin
>>>>>
>>>>
>>>> I just tried a fresh head boot, and I got the same thing loading a ppc32
>>>> kernel. Trying with hw.physmem=512M (the machine has 4GB physical memory)
>>>> failed as well, and loading a ppc32 kernel from loader.ppc64 same result.
>>>> Any ideas of how to continue debugging this?
>>>>
>>>> - Justin
>>>>
>>>> This sounds like an issue with syscons. Can you try setting
>>>> hw.syscons.disable=1 from the loader? That should make the kernel fall back
>>>> to the Open Firmware text console.
>>>> -Nathan
>>>>
>>>
>>> Same result, with both ppc32 and ppc64 kernels. Should I just start
>>> riddling the kernel with printf()s to track this down?
>>>
>>>
>>> That is really strange. One of the very first things the kernel does is
>>> to print out some lines from KDB.
>>>
>>> You can try to add an OF_printf() to the line right after OF_bootstrap()
>>> in aim/machdep.c. That is the earliest you can use Open Firmware and get
>>> output from the kernel. But I suspect it's not even getting there.
>>>
>>> The entry point looks a little wonky to me -- mine is 100160, and it
>>> should always be somewhere around there. Could you check if the printed
>>> entry point address corresponds to the first instructions in the text
>>> segment with objdump? You can use make buildenv TARGET_ARCH=powerpc64 to get
>>> a toolchain and objdump for PPC64 executables.
>>> -Nathan
>>>
>>
>> 100160 is the start of the text segment. 1034e0 is the beginning of
>> .__start.
>>
>> - Justin
>>
>> One other suggestion: try directly loading a PPC32 kernel from Open
>> Firmware instead of the loader first.
>> -Nathan
>>
>
> Just to rule out my build environment, could you send me (or link me to) a
> known-good ppc64 kernel and loader? I'll try booting the kernel directly
> tonight.
>
> - Justin
>
>
> These are from my iMac, so they should work. You should also be aware that
> OF can only directly load 32-bit kernels.
> -Nathan
>
Nathan,
Good news, your kernel boots on my G5. In fact, it finds almost everything,
but panics with:
panic: no PIC detected
So apparently it's my build environment that's at fault.
- Justin
More information about the freebsd-ppc
mailing list