Message ID | 20131029210544.GA18167@p100.box (mailing list archive) |
---|---|
State | Rejected, archived |
Headers | show |
I seem to recall the aliasing boundary value returned by my rp3440 is "unknown". On 10/29/2013 5:05 PM, Helge Deller wrote: > Our value of SHMLBA is hardcoded to 4MB on parisc due to aliasing restrictions > of the platform. The firmware function PDC_CACHE does return the machine > dependend value of this aliasing requirement. > So, if there is a difference between those two - which we don't expect - let's > report it at least. > > Signed-off-by: Helge Deller <deller@gmx.de> > > diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c > index c035673..3523e20 100644 > --- a/arch/parisc/kernel/cache.c > +++ b/arch/parisc/kernel/cache.c > @@ -142,6 +142,15 @@ parisc_cache_init(void) > if (pdc_cache_info(&cache_info) < 0) > panic("parisc_cache_init: pdc_cache_info failed"); > > + /* > + * The alias field returned by PDC_CACHE specifies the aliasing > + * boundaries for virtual addresses. So, let's verify if our hardcoded > + * value of SHMLBA (4 MB) is correct for this machine. > + */ > + if ((4096UL << (cache_info.dc_conf.cc_alias-1)) != SHMLBA) > + pr_warn("WARNING: PDC_CACHE returns aliasing of %lu kB.\n", > + (4UL << (cache_info.dc_conf.cc_alias-1))); > + > #if 0 > printk("ic_size %lx dc_size %lx it_size %lx\n", > cache_info.ic_size, > -- > To unsubscribe from this list: send the line "unsubscribe linux-parisc" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > >
On 10/29/2013 10:10 PM, John David Anglin wrote: > I seem to recall the aliasing boundary value returned by my rp3440 is "unknown". Even better, then it would be interesting to see what this patch reports on your machine.... > > On 10/29/2013 5:05 PM, Helge Deller wrote: >> Our value of SHMLBA is hardcoded to 4MB on parisc due to aliasing restrictions >> of the platform. The firmware function PDC_CACHE does return the machine >> dependend value of this aliasing requirement. >> So, if there is a difference between those two - which we don't expect - let's >> report it at least. >> >> Signed-off-by: Helge Deller <deller@gmx.de> >> >> diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c >> index c035673..3523e20 100644 >> --- a/arch/parisc/kernel/cache.c >> +++ b/arch/parisc/kernel/cache.c >> @@ -142,6 +142,15 @@ parisc_cache_init(void) >> if (pdc_cache_info(&cache_info) < 0) >> panic("parisc_cache_init: pdc_cache_info failed"); >> + /* >> + * The alias field returned by PDC_CACHE specifies the aliasing >> + * boundaries for virtual addresses. So, let's verify if our hardcoded >> + * value of SHMLBA (4 MB) is correct for this machine. >> + */ >> + if ((4096UL << (cache_info.dc_conf.cc_alias-1)) != SHMLBA) >> + pr_warn("WARNING: PDC_CACHE returns aliasing of %lu kB.\n", >> + (4UL << (cache_info.dc_conf.cc_alias-1))); >> + >> #if 0 >> printk("ic_size %lx dc_size %lx it_size %lx\n", >> cache_info.ic_size, >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-parisc" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> > > -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 2013-10-29 at 22:05 +0100, Helge Deller wrote: > Our value of SHMLBA is hardcoded to 4MB on parisc due to aliasing restrictions > of the platform. The firmware function PDC_CACHE does return the machine > dependend value of this aliasing requirement. > So, if there is a difference between those two - which we don't expect - let's > report it at least. We know that architecturally it's defined to be 16MB. However, we also know from the chip architects that the greatest stride ever done or planned was 4MB, which is why we use it. HPUX does the same, so there's not much point issuing a warning, because it's likely that IODC isn't setting up the values correctly and there's nothing a warning will achieve except worrying the users if they bother to read it. James -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 10/29/2013 10:26 PM, James Bottomley wrote: > On Tue, 2013-10-29 at 22:05 +0100, Helge Deller wrote: >> Our value of SHMLBA is hardcoded to 4MB on parisc due to aliasing restrictions >> of the platform. The firmware function PDC_CACHE does return the machine >> dependend value of this aliasing requirement. >> So, if there is a difference between those two - which we don't expect - let's >> report it at least. > > We know that architecturally it's defined to be 16MB. However, we also > know from the chip architects that the greatest stride ever done or > planned was 4MB, which is why we use it. HPUX does the same, so there's > not much point issuing a warning, because it's likely that IODC isn't > setting up the values correctly and there's nothing a warning will > achieve except worrying the users if they bother to read it. Ok, thanks for this info. I'll drop that patch. Helge -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c index c035673..3523e20 100644 --- a/arch/parisc/kernel/cache.c +++ b/arch/parisc/kernel/cache.c @@ -142,6 +142,15 @@ parisc_cache_init(void) if (pdc_cache_info(&cache_info) < 0) panic("parisc_cache_init: pdc_cache_info failed"); + /* + * The alias field returned by PDC_CACHE specifies the aliasing + * boundaries for virtual addresses. So, let's verify if our hardcoded + * value of SHMLBA (4 MB) is correct for this machine. + */ + if ((4096UL << (cache_info.dc_conf.cc_alias-1)) != SHMLBA) + pr_warn("WARNING: PDC_CACHE returns aliasing of %lu kB.\n", + (4UL << (cache_info.dc_conf.cc_alias-1))); + #if 0 printk("ic_size %lx dc_size %lx it_size %lx\n", cache_info.ic_size,
Our value of SHMLBA is hardcoded to 4MB on parisc due to aliasing restrictions of the platform. The firmware function PDC_CACHE does return the machine dependend value of this aliasing requirement. So, if there is a difference between those two - which we don't expect - let's report it at least. Signed-off-by: Helge Deller <deller@gmx.de> -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html