[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080708193741.GB28899@phobos.i.cabal.ca>
Date: Tue, 8 Jul 2008 15:37:41 -0400
From: Kyle McMartin <kyle@...artin.ca>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: kyle@...artin.ca, kmcmartin@...hat.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] padlock: don't whinge when loaded on a non-VIA cpu
On Tue, Jul 08, 2008 at 07:52:11PM +0100, Alan Cox wrote:
> On Tue, 8 Jul 2008 15:04:27 -0400
> Kyle McMartin <kmcmartin@...hat.com> wrote:
>
> > I've become seriously tired of seeing these messages on every machine
> > running an i386 Fedora kernel...
> >
> > padlock: VIA PadLock not detected.
> > padlock: VIA PadLock Hash Engine not detected.
> >
> > So let's eliminate them!
>
> Silly question - but why are they being printed even for older VIA
> processors. We don't see the following on boot
>
> i386: no CMOV instruction detected
> i386: no SSE3 instruction detected
>
> So I think your patch should be a bit more brutal ;)
>
I completely agree, but I don't know anything about Centaur cpuids...
Something like this might suffice:
diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c
index bb30eb9..0192de4 100644
--- a/drivers/crypto/padlock-aes.c
+++ b/drivers/crypto/padlock-aes.c
@@ -384,6 +384,10 @@ static int __init padlock_init(void)
{
int ret;
+ if (!((boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR) &&
+ (boot_cpu_data.x86 >= 6))) /* only on VIA C3 and above */
+ return -ENODEV;
+
if (!cpu_has_xcrypt) {
printk(KERN_ERR PFX "VIA PadLock not detected.\n");
return -ENODEV;
diff --git a/drivers/crypto/padlock-sha.c b/drivers/crypto/padlock-sha.c
index c666b4e..70ec14b 100644
--- a/drivers/crypto/padlock-sha.c
+++ b/drivers/crypto/padlock-sha.c
@@ -253,6 +253,10 @@ static int __init padlock_init(void)
{
int rc = -ENODEV;
+ if (!((boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR) &&
+ (boot_cpu_data.x86 >= 6))) /* only on VIA C3 and above */
+ return -ENODEV;
+
if (!cpu_has_phe) {
printk(KERN_ERR PFX "VIA PadLock Hash Engine not detected.\n");
return -ENODEV;
--
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