[PATCH/2.6.17-rc4 7/10] Powerpc: workaround for tsi108 pci c onfi g read exception

Zang Roy-r61911 tie-fei.zang at freescale.com
Thu May 18 19:45:28 EST 2006


> 
> On Wed, 2006-05-17 at 18:14 +0800, Zang Roy-r61911 wrote:
> > Workaround for Tundra Semiconductor tsi108 host bridge pci 
> config read
> > exception
> 
> Use ppc_md.machine_check_exception instead of modifying the generic
> traps.c. Also make sure you can't configure your chip not to issue
> machine checks on target/master aborts on config space accesses....
> 
> Ben.

I will try ppc_md.machine_check_exception.  I am sure this machine check is 
needed. I can not pass the pci probe, if I comment off this code.
Roy.


> 
> > Signed-off-by: Alexandre Bounine <alexandreb at tundra.com>
> > Signed-off-by: Roy Zang	<tie-fei.zang at freescale.com>
> > 
> > ---
> > 
> >  arch/powerpc/kernel/traps.c |   13 +++++++++++++
> >  1 files changed, 13 insertions(+), 0 deletions(-)
> > 
> > 0575fbe21e4f1045528bb91ec4b34bb7955c4a92
> > diff --git a/arch/powerpc/kernel/traps.c 
> b/arch/powerpc/kernel/traps.c
> > index 064a525..7468d76 100644
> > --- a/arch/powerpc/kernel/traps.c
> > +++ b/arch/powerpc/kernel/traps.c
> > @@ -262,6 +262,19 @@ #if defined(CONFIG_PPC_PMAC) && defined(
> >  		}
> >  	}
> >  #endif /* CONFIG_PPC_PMAC && CONFIG_PPC32 */
> > +
> > +#ifdef CONFIG_TSI108_BRIDGE
> > +	extern void tsi108_clear_pci_cfg_error(void);
> > +	const struct exception_table_entry *entry;
> > +
> > +	/* Are we prepared to handle this fault?  */
> > +	if ((entry = search_exception_tables(regs->nip)) != NULL) {
> > +		tsi108_clear_pci_cfg_error();
> > +		regs->msr |= MSR_RI;
> > +		regs->nip = entry->fixup;
> > +		return 1;
> > +	}
> > +#endif /* CONFIG_TSI108_BRIDGE */
> >  	return 0;
> >  }
> >  
> 



More information about the Linuxppc-dev mailing list