From b4e7a6ad130200f67ff0a67145d2f2a2e7c81d0e Mon Sep 17 00:00:00 2001 From: malc Date: Fri, 31 Aug 2007 00:58:11 +0400 Subject: [PATCH] Go to some lengths to obtain idle_func address --- apc-linux.run | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/apc-linux.run b/apc-linux.run index 494dbc1..d3a8193 100755 --- a/apc-linux.run +++ b/apc-linux.run @@ -1,3 +1,5 @@ +#!/bin/sh + set -e dev="/dev/itc" @@ -8,8 +10,8 @@ dev="/dev/itc" } case `uname -r | cut -d. -f1,2` in - 2.6) kms=ko;; - 2.4) kms=o;; + 2.6) kms=ko; syms=/proc/kallsyms;; + 2.4) kms=o; syms=/proc/ksyms;; *) echo "unknown kernel version"; exit 1;; esac @@ -22,9 +24,20 @@ test -z "$kmod" && { exit 1 } +case `uname -m` in + i[3456]86) + func=$(awk '/default_idle$/ {print "0x" $1}' $syms) + args="idle_func=$func" + ;; + + *) + args= + ;; +esac + if ! test -c $dev; then echo "ITC kernel module is not running. Will try to load $kmod." - su -c "insmod $kmod" + su -c "insmod $kmod $args" fi if ! test -r $dev; then -- 2.11.4.GIT