On Thu, Jul 02, 2009 at 02:46:33PM -0700, Gandham, Raghu wrote:
> > From: Kevin D. Kissell [mailto:kevink@paralogos.com]
> > Sent: Wednesday, July 01, 2009 9:02 PM
> > To: Gandham, Raghu
> > Cc: linux-mips@linux-mips.org; Dearman, Chris
> > Subject: Re: [PATCH 15/15] Do not rely on the initial state of TC/VPE
> > bindings when doing cross VPE writes
> >
> > Note that, regardless of the reset state, smtc_configure_tlb() should
> > have at least temporarily bound TC 1 to VPE1, which may be why this
> > never seemed to be a problem on the 34K. If one wants to support
> > designs with more than 2 VPEs, then this is probably one of the things
> > that needs to be fixed. That having been said, rather than adding a
> > usually-redundant write_vpe_c0_vpeconf0() in that clause, wouldn't it
> be
> > cleaner to just move the MVP setting from the top of the loop to the
> > point in the loop just after the TCs have been bound to the VPE in
> > question, i.e.,
> >
> > 454 if (slop) {
> > 455 if (tc != 0) {
> > 456 smtc_tc_setup(vpe,tc, cpu);
> > 457 cpu++;
> > 458 }
> > 459 printk(" %d", tc);
> > 460 tc++;
> > 461 slop--;
> > 462 }
> >
> > write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() |
> > VPECONF0_MVP);
> >
> > 463 if (vpe != 0) {
> > 464 /*
> > 465 * Clear any stale software interrupts
> from
> > VPE's Cause
> > 466 */
> >
> > This should definitely be OK for a 34K, because it's being executed by
> > TC0 in VPE0 and the reset state of VPE0 has MVP set. If it weren't,
> > smtc_configure_tlb() would have failed.
> >
> > Regards,
> >
> > Kevin K.
>
>
> I will resend this patch with your suggestion.
Ping? Don't think I ever received that, if you sent it.
Ralf
|