* Booting 2.6.29-rc3 on mpc8661d_hpcn failing
@ 2009-01-30 12:31 Martyn Welch
2009-01-30 13:17 ` Martyn Welch
2009-01-30 14:42 ` Kumar Gala
0 siblings, 2 replies; 16+ messages in thread
From: Martyn Welch @ 2009-01-30 12:31 UTC (permalink / raw)
To: linuxppc-dev list
Hi Guys,
It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I have just updated u-boot to the latest git to see if that improved matters, however I get stuck at the following. Any ideas?
Using MPC86xx HPCN machine description
Total memory = 1024MB; using 2048kB for hash table (at cf400000)
Linux version 2.6.29-rc3-00014-g4cd6797 (welchma@ubuntu8041) (gcc version 4.1.29
Found initrd at 0xcf783000:0xcfe8ab7e
CPU maps initialized for 1 thread per core
console [udbg0] enabled
setup_arch: bootmem
mpc86xx_hpcn_setup_arch()
Found FSL PCI host bridge at 0x00000000ffe08000. Firmware bus number: 0->2
PCI host bridge /pcie@ffe08000 (primary) ranges:
MEM 0x0000000080000000..0x000000009fffffff -> 0x0000000080000000
IO 0x00000000ffc00000..0x00000000ffc0ffff -> 0x0000000000000000
Found FSL PCI host bridge at 0x00000000ffe09000. Firmware bus number: 0->0
PCI host bridge /pcie@ffe09000 ranges:
MEM 0x00000000a0000000..0x00000000bfffffff -> 0x00000000a0000000
IO 0x00000000ffc10000..0x00000000ffc1ffff -> 0x0000000000000000
MPC86xx HPCN board from Freescale Semiconductor
arch: exit
Zone PFN ranges:
DMA 0x00000000 -> 0x00030000
Normal 0x00030000 -> 0x00030000
HighMem 0x00030000 -> 0x00040000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00000000 -> 0x00040000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line:
mpic: Setting up MPIC " MPIC " version 1.2 at ffe40000, max 2 CPUs
mpic: ISU size: 256, shift: 8, mask: ff
mpic: Initializing for 256 sources
i8259 legacy interrupt controller initialized
PID hash table entries: 4096 (order: 12, 16384 bytes)
clocksource: timebase mult[2800000] shift[22] registered
Console: colour dummy device 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1023696k/1048576k available (4968k kernel code, 23968k reserved, 160k d)
SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Calibrating delay loop... 199.68 BogoMIPS (lpj=99840)
Mount-cache hash table entries: 512
mpic: requesting IPIs ...
Processor 1 found.
Martyn
--
Martyn Welch MEng MPhil MIET (Principal Software Engineer) T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd, |Registered in England and Wales
Tove Valley Business Park, Towcester, |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB VAT:GB 729849476
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-01-30 12:31 Booting 2.6.29-rc3 on mpc8661d_hpcn failing Martyn Welch
@ 2009-01-30 13:17 ` Martyn Welch
2009-01-30 14:42 ` Kumar Gala
1 sibling, 0 replies; 16+ messages in thread
From: Martyn Welch @ 2009-01-30 13:17 UTC (permalink / raw)
To: linuxppc-dev list
Martyn Welch wrote:
> Hi Guys,
>
> It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I have just
> updated u-boot to the latest git to see if that improved matters,
> however I get stuck at the following. Any ideas?
>
Gah! That lost it's formatting some how, sorry.
I have just tried 2.6.29-rc2 and I get the same.
Martyn
--
Martyn Welch MEng MPhil MIET (Principal Software Engineer) T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd, |Registered in England and Wales
Tove Valley Business Park, Towcester, |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB VAT:GB 729849476
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-01-30 12:31 Booting 2.6.29-rc3 on mpc8661d_hpcn failing Martyn Welch
2009-01-30 13:17 ` Martyn Welch
@ 2009-01-30 14:42 ` Kumar Gala
2009-01-30 16:47 ` Becky Bruce
1 sibling, 1 reply; 16+ messages in thread
From: Kumar Gala @ 2009-01-30 14:42 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev list
On Jan 30, 2009, at 6:31 AM, Martyn Welch wrote:
> Hi Guys,
>
> It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I have
> just updated u-boot to the latest git to see if that improved
> matters, however I get stuck at the following. Any ideas?
did you update your .dtb as well?
- k
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-01-30 14:42 ` Kumar Gala
@ 2009-01-30 16:47 ` Becky Bruce
2009-02-02 9:36 ` Martyn Welch
0 siblings, 1 reply; 16+ messages in thread
From: Becky Bruce @ 2009-01-30 16:47 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev list, Martyn Welch
On Jan 30, 2009, at 8:42 AM, Kumar Gala wrote:
>
> On Jan 30, 2009, at 6:31 AM, Martyn Welch wrote:
>
>> Hi Guys,
>>
>> It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I have
>> just updated u-boot to the latest git to see if that improved
>> matters, however I get stuck at the following. Any ideas?
>
> did you update your .dtb as well?
We've changed the memory map for that board in the latest u-boot,
which is why you need a new .dtb. If this still failing, let me know,
and I'll give it a try on my board and see what's up since this is
probably my fault :)
Cheers,
B
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-01-30 16:47 ` Becky Bruce
@ 2009-02-02 9:36 ` Martyn Welch
2009-02-02 15:45 ` Kumar Gala
0 siblings, 1 reply; 16+ messages in thread
From: Martyn Welch @ 2009-02-02 9:36 UTC (permalink / raw)
To: Becky Bruce; +Cc: linuxppc-dev list
Becky Bruce wrote:
>
> On Jan 30, 2009, at 8:42 AM, Kumar Gala wrote:
>
>>
>> On Jan 30, 2009, at 6:31 AM, Martyn Welch wrote:
>>
>>> Hi Guys,
>>>
>>> It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I have
>>> just updated u-boot to the latest git to see if that improved
>>> matters, however I get stuck at the following. Any ideas?
>>
>> did you update your .dtb as well?
Yup, just double checked it. SOC mapped at ffe00000. If I use the wrong DTB I don't get any serial output...
>
> We've changed the memory map for that board in the latest u-boot, which
> is why you need a new .dtb. If this still failing, let me know, and
> I'll give it a try on my board and see what's up since this is probably
> my fault :)
>
It appears the same problem is affecting our sbc610 as well, the location of the SOC hasn't changed on that board.
Martyn
--
Martyn Welch MEng MPhil MIET (Principal Software Engineer) T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd, |Registered in England and Wales
Tove Valley Business Park, Towcester, |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB VAT:GB 729849476
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-02 9:36 ` Martyn Welch
@ 2009-02-02 15:45 ` Kumar Gala
2009-02-02 16:00 ` Martyn Welch
0 siblings, 1 reply; 16+ messages in thread
From: Kumar Gala @ 2009-02-02 15:45 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev list
On Feb 2, 2009, at 3:36 AM, Martyn Welch wrote:
> Becky Bruce wrote:
>> On Jan 30, 2009, at 8:42 AM, Kumar Gala wrote:
>>>
>>> On Jan 30, 2009, at 6:31 AM, Martyn Welch wrote:
>>>
>>>> Hi Guys,
>>>>
>>>> It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I
>>>> have just updated u-boot to the latest git to see if that
>>>> improved matters, however I get stuck at the following. Any ideas?
>>>
>>> did you update your .dtb as well?
>
> Yup, just double checked it. SOC mapped at ffe00000. If I use the
> wrong DTB I don't get any serial output...
>
>> We've changed the memory map for that board in the latest u-boot,
>> which is why you need a new .dtb. If this still failing, let me
>> know, and I'll give it a try on my board and see what's up since
>> this is probably my fault :)
>
> It appears the same problem is affecting our sbc610 as well, the
> location of the SOC hasn't changed on that board.
>
> Martyn
Hm.. maybe try a git-bisect between 2.6.28 and 2.6.29-rc3?
- k
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-02 15:45 ` Kumar Gala
@ 2009-02-02 16:00 ` Martyn Welch
2009-02-02 16:11 ` Kumar Gala
0 siblings, 1 reply; 16+ messages in thread
From: Martyn Welch @ 2009-02-02 16:00 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev list
Kumar Gala wrote:
>
> On Feb 2, 2009, at 3:36 AM, Martyn Welch wrote:
>
>> Becky Bruce wrote:
>>> On Jan 30, 2009, at 8:42 AM, Kumar Gala wrote:
>>>>
>>>> On Jan 30, 2009, at 6:31 AM, Martyn Welch wrote:
>>>>
>>>>> Hi Guys,
>>>>>
>>>>> It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I have
>>>>> just updated u-boot to the latest git to see if that improved
>>>>> matters, however I get stuck at the following. Any ideas?
>>>>
>>>> did you update your .dtb as well?
>>
>> Yup, just double checked it. SOC mapped at ffe00000. If I use the
>> wrong DTB I don't get any serial output...
>>
>>> We've changed the memory map for that board in the latest u-boot,
>>> which is why you need a new .dtb. If this still failing, let me
>>> know, and I'll give it a try on my board and see what's up since this
>>> is probably my fault :)
>>
>> It appears the same problem is affecting our sbc610 as well, the
>> location of the SOC hasn't changed on that board.
>>
>> Martyn
>
> Hm.. maybe try a git-bisect between 2.6.28 and 2.6.29-rc3?
>
That's was today's "little" task. I was just in the process of writing an email :-)
It got me to the following commit:
commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
I tried reverting it, but as I had kinda thought, that really didn't help.
I'm just recompiling to check that I didn't screw-up during the bisection.
Martyn
--
Martyn Welch MEng MPhil MIET (Principal Software Engineer) T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd, |Registered in England and Wales
Tove Valley Business Park, Towcester, |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB VAT:GB 729849476
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-02 16:00 ` Martyn Welch
@ 2009-02-02 16:11 ` Kumar Gala
2009-02-02 16:20 ` Martyn Welch
0 siblings, 1 reply; 16+ messages in thread
From: Kumar Gala @ 2009-02-02 16:11 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev list
On Feb 2, 2009, at 10:00 AM, Martyn Welch wrote:
> Kumar Gala wrote:
>> On Feb 2, 2009, at 3:36 AM, Martyn Welch wrote:
>>> Becky Bruce wrote:
>>>> On Jan 30, 2009, at 8:42 AM, Kumar Gala wrote:
>>>>>
>>>>> On Jan 30, 2009, at 6:31 AM, Martyn Welch wrote:
>>>>>
>>>>>> Hi Guys,
>>>>>>
>>>>>> It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I
>>>>>> have just updated u-boot to the latest git to see if that
>>>>>> improved matters, however I get stuck at the following. Any
>>>>>> ideas?
>>>>>
>>>>> did you update your .dtb as well?
>>>
>>> Yup, just double checked it. SOC mapped at ffe00000. If I use the
>>> wrong DTB I don't get any serial output...
>>>
>>>> We've changed the memory map for that board in the latest u-boot,
>>>> which is why you need a new .dtb. If this still failing, let me
>>>> know, and I'll give it a try on my board and see what's up since
>>>> this is probably my fault :)
>>>
>>> It appears the same problem is affecting our sbc610 as well, the
>>> location of the SOC hasn't changed on that board.
>>>
>>> Martyn
>> Hm.. maybe try a git-bisect between 2.6.28 and 2.6.29-rc3?
>
> That's was today's "little" task. I was just in the process of
> writing an email :-)
>
> It got me to the following commit:
>
> commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744
> Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>
> powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
>
> I tried reverting it, but as I had kinda thought, that really didn't
> help.
>
> I'm just recompiling to check that I didn't screw-up during the
> bisection.
Hmm.
take a look at this thread.
http://ozlabs.org/pipermail/linuxppc-dev/2009-January/067437.html
- k
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-02 16:11 ` Kumar Gala
@ 2009-02-02 16:20 ` Martyn Welch
2009-02-02 20:49 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 16+ messages in thread
From: Martyn Welch @ 2009-02-02 16:20 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev list
Kumar Gala wrote:
>
> On Feb 2, 2009, at 10:00 AM, Martyn Welch wrote:
>
>> Kumar Gala wrote:
>>> On Feb 2, 2009, at 3:36 AM, Martyn Welch wrote:
>>>> Becky Bruce wrote:
>>>>> On Jan 30, 2009, at 8:42 AM, Kumar Gala wrote:
>>>>>>
>>>>>> On Jan 30, 2009, at 6:31 AM, Martyn Welch wrote:
>>>>>>
>>>>>>> Hi Guys,
>>>>>>>
>>>>>>> It seems that 2.6.29-rc3 is not booting on the MPC8641 HPCN. I
>>>>>>> have just updated u-boot to the latest git to see if that
>>>>>>> improved matters, however I get stuck at the following. Any ideas?
>>>>>>
>>>>>> did you update your .dtb as well?
>>>>
>>>> Yup, just double checked it. SOC mapped at ffe00000. If I use the
>>>> wrong DTB I don't get any serial output...
>>>>
>>>>> We've changed the memory map for that board in the latest u-boot,
>>>>> which is why you need a new .dtb. If this still failing, let me
>>>>> know, and I'll give it a try on my board and see what's up since
>>>>> this is probably my fault :)
>>>>
>>>> It appears the same problem is affecting our sbc610 as well, the
>>>> location of the SOC hasn't changed on that board.
>>>>
>>>> Martyn
>>> Hm.. maybe try a git-bisect between 2.6.28 and 2.6.29-rc3?
>>
>> That's was today's "little" task. I was just in the process of writing
>> an email :-)
>>
>> It got me to the following commit:
>>
>> commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744
>> Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>>
>> powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
>>
>> I tried reverting it, but as I had kinda thought, that really didn't
>> help.
>>
>> I'm just recompiling to check that I didn't screw-up during the
>> bisection.
>
Nope, didn't screw-up...
> Hmm.
>
> take a look at this thread.
>
> http://ozlabs.org/pipermail/linuxppc-dev/2009-January/067437.html
>
...and that confirms that this issue has well and truly left this newbies comfort zone ;-)
Martyn
--
Martyn Welch MEng MPhil MIET (Principal Software Engineer) T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd, |Registered in England and Wales
Tove Valley Business Park, Towcester, |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB VAT:GB 729849476
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-02 16:20 ` Martyn Welch
@ 2009-02-02 20:49 ` Benjamin Herrenschmidt
2009-02-03 12:22 ` Martyn Welch
0 siblings, 1 reply; 16+ messages in thread
From: Benjamin Herrenschmidt @ 2009-02-02 20:49 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev list
> >> commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744
> >> Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> >>
> >> powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
> >>
> >> I tried reverting it, but as I had kinda thought, that really didn't
> >> help.
> >>
> >> I'm just recompiling to check that I didn't screw-up during the
> >> bisection.
> >
Is this a chip that must not have M set ? Or something else ? You guys
have to help if you CC me, I have about 0 idea what a MPC8661d is :-)
Also, does 4c456a67f501b8b15542c7c21c28812bf88f484b help ?
>
Cheers,
Ben.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-02 20:49 ` Benjamin Herrenschmidt
@ 2009-02-03 12:22 ` Martyn Welch
2009-02-03 15:50 ` Martyn Welch
0 siblings, 1 reply; 16+ messages in thread
From: Martyn Welch @ 2009-02-03 12:22 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev list
Benjamin Herrenschmidt wrote:
>>>> commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744
>>>> Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>>>>
>>>> powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
>>>>
>>>> I tried reverting it, but as I had kinda thought, that really didn't
>>>> help.
>>>>
>>>> I'm just recompiling to check that I didn't screw-up during the
>>>> bisection.
>
> Is this a chip that must not have M set ? Or something else ? You guys
> have to help if you CC me, I have about 0 idea what a MPC8661d is :-)
>
Sorry, my fault. It's a Freescale SOC with two e600 cores. Beyond that, I'm afraid I'm a little out of my depth.
> Also, does 4c456a67f501b8b15542c7c21c28812bf88f484b help ?
I believe that to be included in 2.6.29-rc3 if my (rather rudimentary) git skills haven't let me down? The problem persists in 2.6.29-rc3.
Martyn
--
Martyn Welch MEng MPhil MIET (Principal Software Engineer) T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd, |Registered in England and Wales
Tove Valley Business Park, Towcester, |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB VAT:GB 729849476
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-03 12:22 ` Martyn Welch
@ 2009-02-03 15:50 ` Martyn Welch
2009-02-04 0:47 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 16+ messages in thread
From: Martyn Welch @ 2009-02-03 15:50 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev list
Martyn Welch wrote:
> Benjamin Herrenschmidt wrote:
>>>>> commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744
>>>>> Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>>>>>
>>>>> powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
>>>>>
>>>>> I tried reverting it, but as I had kinda thought, that really
>>>>> didn't help.
>>>>>
>>>>> I'm just recompiling to check that I didn't screw-up during the
>>>>> bisection.
>>
>> Is this a chip that must not have M set ? Or something else ? You guys
>> have to help if you CC me, I have about 0 idea what a MPC8661d is :-)
>>
>
> Sorry, my fault. It's a Freescale SOC with two e600 cores. Beyond that,
> I'm afraid I'm a little out of my depth.
>> Also, does 4c456a67f501b8b15542c7c21c28812bf88f484b help ?
>
> I believe that to be included in 2.6.29-rc3 if my (rather rudimentary)
> git skills haven't let me down? The problem persists in 2.6.29-rc3.
>
I've done a bit more investigation:
The primary CPU is spinning in smp_generic_give_timebase() waiting for "!tbsync->ack". The secondary CPU has made it into smp_generic_take_timebase() and has apparently (according to some printk's I put in there) set "tbsync->ack=1". After that I don't get any printk's, I guess that the one I have put in the "!tbsync->handshake" while loop is making it to the print buffer, but with both processors spinning it's not getting to the serial console.
At a guess, given that commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744 seems to be the point that it stopped working correctly, that "tbsync" is now somehow becoming cached?
Martyn
--
Martyn Welch MEng MPhil MIET (Principal Software Engineer) T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd, |Registered in England and Wales
Tove Valley Business Park, Towcester, |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB VAT:GB 729849476
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-03 15:50 ` Martyn Welch
@ 2009-02-04 0:47 ` Benjamin Herrenschmidt
2009-02-04 12:22 ` Martyn Welch
0 siblings, 1 reply; 16+ messages in thread
From: Benjamin Herrenschmidt @ 2009-02-04 0:47 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev list
On Tue, 2009-02-03 at 15:50 +0000, Martyn Welch wrote:
>
> The primary CPU is spinning in smp_generic_give_timebase() waiting for
> "!tbsync->ack". The secondary CPU has made it into
> smp_generic_take_timebase() and has apparently (according to some
> printk's I put in there) set "tbsync->ack=1". After that I don't get
> any printk's, I guess that the one I have put in the "!
> tbsync->handshake" while loop is making it to the print buffer, but
> with both processors spinning it's not getting to the serial console.
>
> At a guess, given that commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744
> seems to be the point that it stopped working correctly, that "tbsync"
> is now somehow becoming cached?
>
Maybe we are missing the M bit in the mapping ?
Let's see... the kernel mapping is done via BATs on those guys (ie, e600
is a hash table based processor right ? some kind of 74xx). The code
that sets them up is in
arch/powerpc/mm/ppc_mmu_32.c
In mmu_mapin_ram() we call setbat() multiple times. The last argument is
the "flags" which is set to _PAGE_RAM. That should contain
_PAGE_COHERENT when CONFIG_SMP is set unless I screwed up. IE. _PAGE_RAM
is _PAGE_KERNEL | _PAGE_HWEXEC. _PAGE_KERNEL is _PAGE_BASE plus things,
and _PAGE_BASE should contains _PAGE_COHERENT if CONFIG_SMP or
CONFIG_PPC_STD_MMU are set and they should both be in your case.
setbat() itself will clear _PAGE_COHERENT under some circumstances
however. Either if the flags contain _PAGE_NO_CACHE, which should not be
the case here, or if the CPU feature bit CPU_FTR_NEED_COHERENT is -not-
set. I think that could be the cause of the problem.
CPU_FTR_NEED_COHERENT is set as part of CPU_FTR_COMMON if CONFIG_SMP
is set (among other things). So it -should- be set for you. since
CPU_FTR_COMMON should be OR'ed with all CPU table entries.
So I'm a bit at a loss here... unless something else went wrong.
Please let me know what you find out.
Cheers,
Ben.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-04 0:47 ` Benjamin Herrenschmidt
@ 2009-02-04 12:22 ` Martyn Welch
2009-02-10 15:40 ` Kumar Gala
0 siblings, 1 reply; 16+ messages in thread
From: Martyn Welch @ 2009-02-04 12:22 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev list
On Wed, 2009-02-04 at 11:47 +1100, Benjamin Herrenschmidt wrote:
> On Tue, 2009-02-03 at 15:50 +0000, Martyn Welch wrote:
> >
> > The primary CPU is spinning in smp_generic_give_timebase() waiting for
> > "!tbsync->ack". The secondary CPU has made it into
> > smp_generic_take_timebase() and has apparently (according to some
> > printk's I put in there) set "tbsync->ack=1". After that I don't get
> > any printk's, I guess that the one I have put in the "!
> > tbsync->handshake" while loop is making it to the print buffer, but
> > with both processors spinning it's not getting to the serial console.
> >
> > At a guess, given that commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744
> > seems to be the point that it stopped working correctly, that "tbsync"
> > is now somehow becoming cached?
> >
> Maybe we are missing the M bit in the mapping ?
>
> Let's see... the kernel mapping is done via BATs on those guys (ie, e600
> is a hash table based processor right ? some kind of 74xx). The code
> that sets them up is in
>
> arch/powerpc/mm/ppc_mmu_32.c
>
> In mmu_mapin_ram() we call setbat() multiple times. The last argument is
> the "flags" which is set to _PAGE_RAM. That should contain
> _PAGE_COHERENT when CONFIG_SMP is set unless I screwed up. IE. _PAGE_RAM
> is _PAGE_KERNEL | _PAGE_HWEXEC. _PAGE_KERNEL is _PAGE_BASE plus things,
> and _PAGE_BASE should contains _PAGE_COHERENT if CONFIG_SMP or
> CONFIG_PPC_STD_MMU are set and they should both be in your case.
>
> setbat() itself will clear _PAGE_COHERENT under some circumstances
> however. Either if the flags contain _PAGE_NO_CACHE, which should not be
> the case here, or if the CPU feature bit CPU_FTR_NEED_COHERENT is -not-
> set. I think that could be the cause of the problem.
>
> CPU_FTR_NEED_COHERENT is set as part of CPU_FTR_COMMON if CONFIG_SMP
> is set (among other things). So it -should- be set for you. since
> CPU_FTR_COMMON should be OR'ed with all CPU table entries.
>
> So I'm a bit at a loss here... unless something else went wrong.
>
> Please let me know what you find out.
>
> Cheers,
> Ben.
I think it is indeed something else. I added the patch below which
resulted in the following lines in the kernel messages:
Set BAT 2 for 0x10000000 from phys:0x0 at virt:0xc0000000
Page coherency set
Set BAT 3 for 0x10000000 from phys:0x10000000 at virt:0xd0000000
Page coherency set
...
tbsync structure allocated at 0xef818360 for 0x48
tbsync happens to live at 0xc0515110
running happens to live at 0xc0515114
This suggests to me that whilst *tbsync and running are located within
RAM mapped by the BATs, the memory allocated for the tbsync structure is
not and is mapped via page tables. I guess this structure is then only
mapped correctly for the first core.
Martyn
--
diff --git a/arch/powerpc/kernel/smp-tbsync.c b/arch/powerpc/kernel/smp-tbsync.c
index a5e5452..fdeda20 100644
--- a/arch/powerpc/kernel/smp-tbsync.c
+++ b/arch/powerpc/kernel/smp-tbsync.c
@@ -117,6 +117,10 @@ void __devinit smp_generic_give_timebase(void)
/* if this fails then this kernel won't work anyway... */
tbsync = kzalloc( sizeof(*tbsync), GFP_KERNEL );
+ printk("tbsync structure allocated at 0x%p for 0x%x\n", tbsync,
+ sizeof(*tbsync));
+ printk("tbsync happens to live at 0x%p\n", &tbsync);
+ printk("running happens to live at 0x%p\n", &running);
mb();
running = 1;
diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
index fe65c40..2035cd6 100644
--- a/arch/powerpc/mm/ppc_mmu_32.c
+++ b/arch/powerpc/mm/ppc_mmu_32.c
@@ -123,6 +123,9 @@ void __init setbat(int index, unsigned long virt, phys_addr_
int wimgxpp;
struct ppc_bat *bat = BATS[index];
+ printk("Set BAT %d for 0x%x from phys:0x%lx at virt:0x%lx\n", index,
+ size, phys, virt);
+
if ((flags & _PAGE_NO_CACHE) ||
(cpu_has_feature(CPU_FTR_NEED_COHERENT) == 0))
flags &= ~_PAGE_COHERENT;
@@ -134,6 +137,11 @@ void __init setbat(int index, unsigned long virt, phys_addr
wimgxpp = flags & (_PAGE_WRITETHRU | _PAGE_NO_CACHE
| _PAGE_COHERENT | _PAGE_GUARDED);
wimgxpp |= (flags & _PAGE_RW)? BPP_RW: BPP_RX;
+ if (wimgxpp & _PAGE_COHERENT) {
+ printk("Page coherency set\n");
+ } else {
+ printk("Page coherency cleared\n");
+ }
bat[1].batu = virt | (bl << 2) | 2; /* Vs=1, Vp=0 */
bat[1].batl = BAT_PHYS_ADDR(phys) | wimgxpp;
#ifndef CONFIG_KGDB /* want user access for breakpoints */
--
Martyn Welch MEng MPhil MIET (Principal Software Engineer) T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd, |Registered in England and Wales
Tove Valley Business Park, Towcester, |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB VAT:GB 729849476
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-04 12:22 ` Martyn Welch
@ 2009-02-10 15:40 ` Kumar Gala
2009-02-10 20:58 ` Kumar Gala
0 siblings, 1 reply; 16+ messages in thread
From: Kumar Gala @ 2009-02-10 15:40 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev list
I might have missed this but what u-boot rev are you using?
- k
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Booting 2.6.29-rc3 on mpc8661d_hpcn failing
2009-02-10 15:40 ` Kumar Gala
@ 2009-02-10 20:58 ` Kumar Gala
0 siblings, 0 replies; 16+ messages in thread
From: Kumar Gala @ 2009-02-10 20:58 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev list
I've posted a patch that I believe should fix your issue.
- k
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-02-10 20:59 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-30 12:31 Booting 2.6.29-rc3 on mpc8661d_hpcn failing Martyn Welch
2009-01-30 13:17 ` Martyn Welch
2009-01-30 14:42 ` Kumar Gala
2009-01-30 16:47 ` Becky Bruce
2009-02-02 9:36 ` Martyn Welch
2009-02-02 15:45 ` Kumar Gala
2009-02-02 16:00 ` Martyn Welch
2009-02-02 16:11 ` Kumar Gala
2009-02-02 16:20 ` Martyn Welch
2009-02-02 20:49 ` Benjamin Herrenschmidt
2009-02-03 12:22 ` Martyn Welch
2009-02-03 15:50 ` Martyn Welch
2009-02-04 0:47 ` Benjamin Herrenschmidt
2009-02-04 12:22 ` Martyn Welch
2009-02-10 15:40 ` Kumar Gala
2009-02-10 20:58 ` Kumar Gala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).