[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47D76561.8050805@in.ibm.com>
Date: Wed, 12 Mar 2008 10:38:49 +0530
From: Chandru <chandru@...ibm.com>
To: Vivek Goyal <vgoyal@...hat.com>, Muli Ben-Yehuda <muli@...ibm.com>
CC: akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
jdmason@...zu.us
Subject: Re: [RFC] [Patch] calgary iommu: Use the first kernel's tce tables
in kdump
> Hi Chandru,
>
> - How do we make sure that previous kernel's TCE tables are not
> overwritten
> by new kernel (In case previous kernel allocated TCE tables in first
> 640 KB?)
>
TCE tables are allocated using alloc_bootmem_low() with goal set to 0.
Don't know if this will be sufficient. Investigating...
> - How do we make sure that when new kernel tries to setup an entry in
> TCE table, then it does not try to clear up an existing entry which is
> still in use?
>
A bitmap is created once the first kernel's TCE table is found. This
bitmap is populated by reading the entries in the tce table. Non-zero
entries in the table are marked as used/reserved in the bitmap.
> Did you try the Muli suggestion of ignoring DMA error in exception
> handler?
With what I tried, I was not successful
> What happens if I setup new table and try to switch to new
> table?
This is the root cause of the problem.
> Some sort of error will occur.
The pci bus on that PHB goes into an undefined state ( returning
0xffffffff for all reads on that bus ).
> Can't we modify the handler and
> ignore it for kdump case and move on?
>
The system booted! , :) with the following change. Muli acceptable??
static void calgary_watchdog(unsigned long data)
{
...
...
/* Disable bus that caused the error and ignore if it's kdump kernel */
+ if ( !is_kdump_kernel()) {
target = calgary_reg(bbar, phb_offset(tbl->it_busno) |
PHB_CONFIG_RW_OFFSET);
val32 = be32_to_cpu(readl(target));
val32 |= PHB_SLOT_DISABLE;
writel(cpu_to_be32(val32), target);
+ }
readl(target); /* flush */
..
..
}
> Thanks
> Vivek
>
-Chandru
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists