lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201212112150.38410.linux@rainbow-software.org>
Date:	Tue, 11 Dec 2012 21:50:38 +0100
From:	Ondrej Zary <linux@...nbow-software.org>
To:	"H. Peter Anvin" <hpa@...or.com>
Cc:	Alan Cox <alan@...rguk.ukuu.org.uk>,
	"Rafael J. Wysocki" <rjw@...k.pl>, linux-acpi@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] Enable A20 using KBC for some MSI laptops to fix S3 resume

On Tuesday 11 December 2012 21:36:46 H. Peter Anvin wrote:
> On 12/11/2012 12:29 PM, Ondrej Zary wrote:
> > Something like this? (It works.)
>
> Something like that.  We need to make sure we send the proper sequence,
> though, or it might break some SMM firmware...

Could you please create proper patch? You're the x86 expert (and I'm not).

I've read that 0xd1 command with 0xdf data is often used to enable A20. But I 
don't know when this must be done or what else needs to be done for the SMM 
to not break.

> > diff --git a/drivers/input/serio/i8042-x86ia64io.h
> > b/drivers/input/serio/i8042-x86ia64io.h index d6cc77a..0807ac7 100644
> > --- a/drivers/input/serio/i8042-x86ia64io.h
> > +++ b/drivers/input/serio/i8042-x86ia64io.h
> > @@ -921,6 +921,7 @@ static int __init i8042_platform_init(void)
> >  	int retval;
> >
> >  #ifdef CONFIG_X86
> > +	u8 a20_on = 0xdf;
> >  	/* Just return if pre-detection shows no i8042 controller exist */
> >  	if (!x86_platform.i8042_detect())
> >  		return -ENODEV;
> > @@ -960,6 +961,13 @@ static int __init i8042_platform_init(void)
> >
> >  	if (dmi_check_system(i8042_dmi_dritek_table))
> >  		i8042_dritek = true;
> > +
> > +	/*
> > +	 * A20 was already enabled during early kernel init. But some buggy
> > +	 * BIOSes (in MSI Laptops) require A20 to be enabled using 8042 to
> > +	 * resume from S3. So we do it here and hope that nothing breaks.
> > +	 */
> > +	i8042_command(&a20_on, 0x10d1);
> >  #endif /* CONFIG_X86 */
> >
> >  	return retval;


-- 
Ondrej Zary
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ