From 9f015e965a14cf0b010d7ccb680a12174ad66d47 Mon Sep 17 00:00:00 2001 From: malc Date: Sun, 8 Jul 2007 17:41:22 +0400 Subject: [PATCH] v1.00b --- FILES | 1 + OMakefile | 2 +- README | 46 ++++++++++++++++++++++++++-------------------- Thanks | 2 ++ apc.ml | 2 +- mod/itc.patch | 15 +++++++++++++++ 6 files changed, 46 insertions(+), 22 deletions(-) create mode 100644 mod/itc.patch diff --git a/FILES b/FILES index 062811f..c3e02fd 100644 --- a/FILES +++ b/FILES @@ -3,6 +3,7 @@ OMakefile OMakeroot mod/Makefile mod/itc-mod.c +mod/itc.patch ml_apc.c build.linux build.solaris diff --git a/OMakefile b/OMakefile index 9964ea8..d5d6404 100644 --- a/OMakefile +++ b/OMakefile @@ -1,4 +1,4 @@ -version = 1.00a +version = 1.00b .PHONY: all clean dist mod opt .DEFAULT: all diff --git a/README b/README index c9fb7bc..03f3d91 100644 --- a/README +++ b/README @@ -104,9 +104,10 @@ Process: $ sh build.linux -# if following fails on X86 read bellow -$ su -c 'insmod mod/its.ko' - 2.6 Kernels -$ su -c 'insmod mod/its.o' - 2.4 Kernels +# if following step fails(on X86) read next section before trying to +# execute mknod +$ su -c 'insmod mod/itc.ko' - 2.6 Kernels +$ su -c 'insmod mod/itc.o' - 2.4 Kernels $ major=$(awk '/ itc$/ {print $1}' /proc/devices) $ su -c "mknod -m 0444 itc c $major 0" @@ -118,22 +119,27 @@ $ ./apc Following applies only to Linux running on X86. If the module fails to load consult dmesg(8). Most likely cause is the -lack of exported `default_idle' function and no specific power -management idle function is specified. Few workarounds follow: - -Variant 1 - Add `idle=halt' to the kernel command line (method depends on the - boot-loader) and reboot. - -Variant 2 (DANGEROUS) - ------------------------------------------------------------------ - Kernel 2.6 - $ func=$(awk '/default_idle$/ {print "0x" $1}' /proc/kallsyms) - $ su -c "/sbin/insmod ./itc.ko idle_func=$func" - - ------------------------------------------------------------------ - Kernel 2.4 - $ func=$(awk '/default_idle$/ {print "0x" $1}' /proc/ksyms) - $ su -c "/sbin/insmod ./itc.o idle_func=$func" +lack of exported `default_idle' function. Few workarounds follow. If +the dmesg reads "itc: Unknown symbol default_idle" you might want to +try patching the module sources: + +$ (cd mod && patch -p0 String.concat "\n" diff --git a/mod/itc.patch b/mod/itc.patch new file mode 100644 index 0000000..501689b --- /dev/null +++ b/mod/itc.patch @@ -0,0 +1,15 @@ +--- itc-mod.c.orig 2007-06-11 12:05:44.000000000 +0400 ++++ itc-mod.c 2007-06-11 12:06:20.000000000 +0400 +@@ -143,12 +143,8 @@ + * + **********************************************************************/ + #if LINUX_VERSION_CODE > KERNEL_VERSION (2, 6, 0) +-#ifndef CONFIG_APM + #define QUIRK + #endif +-#else +-void default_idle (void); +-#endif + + static void + itc_monotonic (struct timeval *tv) -- 2.11.4.GIT