Kconfig | 6 + Makefile | 2 lzo_test.c | 340 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 348 insertions(+) diff -ruNp 940-lzo-test.patch-old/kernel/power/Kconfig 940-lzo-test.patch-new/kernel/power/Kconfig --- 940-lzo-test.patch-old/kernel/power/Kconfig 2010-02-03 12:58:29.000000000 +1100 +++ 940-lzo-test.patch-new/kernel/power/Kconfig 2010-02-03 12:36:41.000000000 +1100 @@ -461,3 +461,9 @@ config PM_RUNTIME and the bus type drivers of the buses the devices are on are responsible for the actual handling of the autosuspend requests and wake-up events. + +config TOI_LZO_TEST + tristate "Test LZO" + depends on CRYPTO + ---help--- + Test LZO compression. diff -ruNp 940-lzo-test.patch-old/kernel/power/lzo_test.c 940-lzo-test.patch-new/kernel/power/lzo_test.c --- 940-lzo-test.patch-old/kernel/power/lzo_test.c 1970-01-01 10:00:00.000000000 +1000 +++ 940-lzo-test.patch-new/kernel/power/lzo_test.c 2010-02-03 12:57:23.000000000 +1100 @@ -0,0 +1,340 @@ +#include +#include +#include + +/* + * Test LZO compression. + */ + +static char *original = + "\xf8\x8f\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x30\x90\x09\x00\x00\xea\xff\xff\x30\x90\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x68\x90\x09\x00\x00\xea\xff\xff" + "\x68\x90\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xa0\x90\x09\x00\x00\xea\xff\xff\xa0\x90\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x90\x09\x00\x00\xea\xff\xff" + "\xd8\x90\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x10\x91\x09\x00\x00\xea\xff\xff\x10\x91\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x48\x91\x09\x00\x00\xea\xff\xff" + "\x48\x91\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x80\x91\x09\x00\x00\xea\xff\xff\x80\x91\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x91\x09\x00\x00\xea\xff\xff" + "\xb8\x91\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xf0\x91\x09\x00\x00\xea\xff\xff\xf0\x91\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x28\x92\x09\x00\x00\xea\xff\xff" + "\x28\x92\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x60\x92\x09\x00\x00\xea\xff\xff\x60\x92\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x98\x92\x09\x00\x00\xea\xff\xff" + "\x98\x92\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xd0\x92\x09\x00\x00\xea\xff\xff\xd0\x92\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x93\x09\x00\x00\xea\xff\xff" + "\x08\x93\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x40\x93\x09\x00\x00\xea\xff\xff\x40\x93\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x78\x93\x09\x00\x00\xea\xff\xff" + "\x78\x93\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xb0\x93\x09\x00\x00\xea\xff\xff\xb0\x93\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x93\x09\x00\x00\xea\xff\xff" + "\xe8\x93\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x20\x94\x09\x00\x00\xea\xff\xff\x20\x94\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x58\x94\x09\x00\x00\xea\xff\xff" + "\x58\x94\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x90\x94\x09\x00\x00\xea\xff\xff\x90\x94\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x94\x09\x00\x00\xea\xff\xff" + "\xc8\x94\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x95\x09\x00\x00\xea\xff\xff\x00\x95\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x38\x95\x09\x00\x00\xea\xff\xff" + "\x38\x95\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x70\x95\x09\x00\x00\xea\xff\xff\x70\x95\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x95\x09\x00\x00\xea\xff\xff" + "\xa8\x95\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xe0\x95\x09\x00\x00\xea\xff\xff\xe0\x95\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x18\x96\x09\x00\x00\xea\xff\xff" + "\x18\x96\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x50\x96\x09\x00\x00\xea\xff\xff\x50\x96\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x88\x96\x09\x00\x00\xea\xff\xff" + "\x88\x96\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xc0\x96\x09\x00\x00\xea\xff\xff\xc0\x96\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x96\x09\x00\x00\xea\xff\xff" + "\xf8\x96\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x30\x97\x09\x00\x00\xea\xff\xff\x30\x97\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x68\x97\x09\x00\x00\xea\xff\xff" + "\x68\x97\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xa0\x97\x09\x00\x00\xea\xff\xff\xa0\x97\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x97\x09\x00\x00\xea\xff\xff" + "\xd8\x97\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x10\x98\x09\x00\x00\xea\xff\xff\x10\x98\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x48\x98\x09\x00\x00\xea\xff\xff" + "\x48\x98\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x80\x98\x09\x00\x00\xea\xff\xff\x80\x98\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x98\x09\x00\x00\xea\xff\xff" + "\xb8\x98\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xf0\x98\x09\x00\x00\xea\xff\xff\xf0\x98\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x28\x99\x09\x00\x00\xea\xff\xff" + "\x28\x99\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x60\x99\x09\x00\x00\xea\xff\xff\x60\x99\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x98\x99\x09\x00\x00\xea\xff\xff" + "\x98\x99\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xd0\x99\x09\x00\x00\xea\xff\xff\xd0\x99\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x9a\x09\x00\x00\xea\xff\xff" + "\x08\x9a\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x40\x9a\x09\x00\x00\xea\xff\xff\x40\x9a\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x78\x9a\x09\x00\x00\xea\xff\xff" + "\x78\x9a\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xb0\x9a\x09\x00\x00\xea\xff\xff\xb0\x9a\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x9a\x09\x00\x00\xea\xff\xff" + "\xe8\x9a\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x20\x9b\x09\x00\x00\xea\xff\xff\x20\x9b\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x58\x9b\x09\x00\x00\xea\xff\xff" + "\x58\x9b\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x90\x9b\x09\x00\x00\xea\xff\xff\x90\x9b\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x9b\x09\x00\x00\xea\xff\xff" + "\xc8\x9b\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x9c\x09\x00\x00\xea\xff\xff\x00\x9c\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x38\x9c\x09\x00\x00\xea\xff\xff" + "\x38\x9c\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x70\x9c\x09\x00\x00\xea\xff\xff\x70\x9c\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x9c\x09\x00\x00\xea\xff\xff" + "\xa8\x9c\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xe0\x9c\x09\x00\x00\xea\xff\xff\xe0\x9c\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x18\x9d\x09\x00\x00\xea\xff\xff" + "\x18\x9d\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x50\x9d\x09\x00\x00\xea\xff\xff\x50\x9d\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x88\x9d\x09\x00\x00\xea\xff\xff" + "\x88\x9d\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xc0\x9d\x09\x00\x00\xea\xff\xff\xc0\x9d\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x9d\x09\x00\x00\xea\xff\xff" + "\xf8\x9d\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x30\x9e\x09\x00\x00\xea\xff\xff\x30\x9e\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x68\x9e\x09\x00\x00\xea\xff\xff" + "\x68\x9e\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xa0\x9e\x09\x00\x00\xea\xff\xff\xa0\x9e\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x9e\x09\x00\x00\xea\xff\xff" + "\xd8\x9e\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x10\x9f\x09\x00\x00\xea\xff\xff\x10\x9f\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x48\x9f\x09\x00\x00\xea\xff\xff" + "\x48\x9f\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x80\x9f\x09\x00\x00\xea\xff\xff\x80\x9f\x09\x00\x00\xea\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\xff\xff\xff\xff" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x9f\x09\x00\x00\xea\xff\xff" + "\xb8\x9f\x09\x00\x00\xea\xff\xff\x00\x00\x00\x00\x00\x00\x00\x40" + "\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\xf0\x9f\x09\x00\x00\xea\xff\xff\xf0\x9f\x09\x00\x00\xea\xff\xff"; + +static __init int test(void) +{ + struct crypto_comp *tfm = crypto_alloc_comp("lzo", 0, 0); + char *compressed = NULL, *decompressed = NULL; + int comp_size, decomp_size, comp_result, decomp_result, okay; + + if (IS_ERR(tfm)) { + printk(KERN_INFO "Failed to initialise the lzo " + "compression transform.\n"); + return 1; + } + + compressed = vmalloc_32(2 * PAGE_SIZE); + if (!compressed) + goto out; + + decompressed = (char *) get_zeroed_page(GFP_KERNEL); + if (!decompressed) + goto out; + + comp_result = crypto_comp_compress(tfm, original, PAGE_SIZE, + compressed, &comp_size); + + if (comp_result) { + printk("Compression failed (returned %d).\n", comp_result); + goto out; + } + + decomp_result = crypto_comp_decompress(tfm, compressed, comp_size, + decompressed, &decomp_size); + + okay = (!decomp_result && decomp_size == PAGE_SIZE && + !memcmp(decompressed, original, PAGE_SIZE)); + + if (!okay) { + printk("Compression test failed.\n"); + print_hex_dump(KERN_ERR, "Original page: ", DUMP_PREFIX_NONE, + 16, 1, original, PAGE_SIZE, 0); + printk(KERN_ERR "\nOutput %d bytes. Result %d.", comp_size, + comp_result); + print_hex_dump(KERN_ERR, "Compressed to: ", DUMP_PREFIX_NONE, + 16, 1, compressed, comp_size, 0); + printk(KERN_ERR "\nRestored to %d bytes, result code %d.\n", + decomp_size, decomp_result); + print_hex_dump(KERN_ERR, "Decompressed : ", DUMP_PREFIX_NONE, + 16, 1, decompressed, decomp_size, 0); + } else + printk("Compression test passed.\n"); +out: + crypto_free_comp(tfm); + + if (compressed) + vfree(compressed); + + if (decompressed) + free_page((unsigned long) decompressed); + + return 0; +} + +#ifdef MODULE +static __exit void unload(void) +{ + /* Nothing to do */ +} + +module_init(test); +module_exit(unload); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Nigel Cunningham"); +MODULE_DESCRIPTION("TuxOnIce LZO test module"); +#else +late_initcall(test); +#endif diff -ruNp 940-lzo-test.patch-old/kernel/power/Makefile 940-lzo-test.patch-new/kernel/power/Makefile --- 940-lzo-test.patch-old/kernel/power/Makefile 2010-02-03 12:58:29.000000000 +1100 +++ 940-lzo-test.patch-new/kernel/power/Makefile 2010-02-03 12:35:44.000000000 +1100 @@ -41,3 +41,5 @@ obj-$(CONFIG_HIBERNATION) += swsusp.o hi obj-$(CONFIG_HIBERNATION_NVS) += hibernate_nvs.o obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o + +obj-$(CONFIG_TOI_LZO_TEST) += lzo_test.o