Messages in this thread Patch in this message | | | From | Jesper Juhl <> | Subject | [PATCH] This makes APM_NOINTS configurable in 2.0.36 | Date | Fri, 11 Dec 1998 12:12:54 +0100 |
| |
Since I got no responce to my first post of this, I'll post it again. Please send me comments on the patch bellow.
What it does is this; It makes APM_NOINTS (in drivers/char/apm_bios.c) configurable from "make config" and "make menuconfig". This is becourse that option causes problems with the IBM ThinkPad 600 (and others), and many users will find a config option easier than editing the .c source themselves.
<PATCH START>
diff -u -r linux-2.0.36.orig/Documentation/Configure.help linux-2.0.36/Documentation/Configure.help --- linux-2.0.36.orig/Documentation/Configure.help Tue Dec 8 21:55:00 1998 +++ linux-2.0.36/Documentation/Configure.help Tue Dec 8 21:48:47 1998 @@ -4179,6 +4179,17 @@ events while one is already being processed they will be ignored. Without this the Thinkpad 560 has troubles with apmd, and pcmcia-cs. +Enable interrupts in APM BIOS calls +CONFIG_APM_INTS + This option will enable interrupts in APM BIOS calls (normally + disabled; the CPU Idle BIOS call should turn interrupts on before + it does a 'hlt'). + This option will cause hibernation mode to work properly on the IBM + ThinkPad 600 (and possibly on other ThinkPads as well). + Only turn this on if you experience problems with sleep and/or + hibernation mode. + Most people say N. + Watchdog Timer Support CONFIG_WATCHDOG If you enable this option and create a character special file diff -u -r linux-2.0.36.orig/drivers/char/ChangeLog linux-2.0.36/drivers/char/ChangeLog --- linux-2.0.36.orig/drivers/char/ChangeLog Tue Dec 8 21:54:36 1998 +++ linux-2.0.36/drivers/char/ChangeLog Tue Dec 8 22:11:23 1998 @@ -1,3 +1,10 @@ +Tue Dec 8 22:04:45 1998 Jesper Juhl <jesper.juhl@dif.dk> + + * apm_bios.c (APM_NOINTS): + Changed this option to be configurable from 'make config' + etc. This was done, since some IBM ThinkPad's (notably + the ThinkPad 600) lockup if you have APM_NOINTS defined.
+ Wed Jun 5 18:52:04 1996 Theodore Ts'o <tytso@rsts-11.mit.edu> * tty_io.c (do_tty_hangup): Only in linux-2.0.36/drivers/char: ChangeLog~ diff -u -r linux-2.0.36.orig/drivers/char/Config.in linux-2.0.36/drivers/char/Config.in --- linux-2.0.36.orig/drivers/char/Config.in Tue Dec 8 22:00:24 1998 +++ linux-2.0.36/drivers/char/Config.in Tue Dec 8 21:43:26 1998 @@ -61,6 +61,7 @@ bool ' Enable console blanking using APM' CONFIG_APM_DISPLAY_BLANK bool ' Power off on shutdown' CONFIG_APM_POWER_OFF bool ' Ignore multiple suspend' CONFIG_APM_IGNORE_MULTIPLE_SUSPEND + bool ' Enable interrupts in APM BIOS calls' CONFIG_APM_INTS fi if [ "$CONFIG_ALPHA_BOOK1" = "y" ]; then bool 'Tadpole ANA H8 Support' CONFIG_H8 diff -u -r linux-2.0.36.orig/drivers/char/apm_bios.c linux-2.0.36/drivers/char/apm_bios.c --- linux-2.0.36.orig/drivers/char/apm_bios.c Tue Dec 8 21:54:38 1998 +++ linux-2.0.36/drivers/char/apm_bios.c Tue Dec 8 21:44:04 1998 @@ -26,6 +26,9 @@ * April 1996, Stephen Rothwell (Stephen.Rothwell@canb.auug.org.au) * Version 1.0 and 1.1 * May 1996, Version 1.2 + * December 1998, Jesper Juhl (jesper.juhl@dif.dk): + * Made APM_NOINTS configurable from 'make config' etc. as this often + * causes problems with IBM ThinkPad's. * * History: * 0.6b: first version in official kernel, Linux 1.3.46 @@ -164,7 +167,11 @@ * Define to disable interrupts in APM BIOS calls (the CPU Idle BIOS call * should turn interrupts on before it does a 'hlt'). */ -#define APM_NOINTS +#ifdef CONFIG_APM_INTS +# undef APM_NOINTS +#else +# define APM_NOINTS +#endif /* * Define to make the APM BIOS calls zero all data segment registers (do @@ -207,6 +214,7 @@ #else # define APM_DO_CLI #endif + #ifdef APM_ZERO_SEGS # define APM_DO_ZERO_SEGS \ "pushl %%ds\n\t" \ <PATCH STOP>
Best regards Jesper Juhl
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |