anchor.diff:  linux_cpuinfo_lookup(Key) when is_list(Key) ->
       linux_info_lookup(Key, "/proc/cpuinfo").
   
  +linux_cpuinfo_cpu() ->
  +    case linux_cpuinfo_lookup("cpu") of
  +        [Model] ->
  +            Model;
  +        _ ->
  +            "-"
  +    end.
  +
  +linux_cpuinfo_motherboard() ->
  +    case linux_cpuinfo_lookup("motherboard") of
  +        [MB] ->
  +            MB;
  +        _ ->
  +            "-"
  +    end.
  +
  +linux_cpuinfo_bogomips() ->
  +    case linux_cpuinfo_lookup("bogomips") of
  +        BMips when is_list(BMips) ->
  +            try lists:sum([bogomips_to_int(BM) || BM <- BMips])
  +            catch
  +                _:_:_ ->
  +                    "-"
  +            end;
  +        _ ->
  +            "-"
  +    end.
  +
  +linux_cpuinfo_total_bogomips() ->
  +    case linux_cpuinfo_lookup("total bogomips") of
  +        [TMB] ->
  +            TMB;
  +        _ ->
  +            "-"
  +    end.
  +
  +bogomips_to_int(BM) ->
  +    try list_to_float(BM) of
  +        F ->
  +            floor(F)
  +    catch
  +        _:_:_ ->
  +            try list_to_integer(BM) of
  +                I ->
  +                    I
  +            catch
  +                _:_:_ ->
  +                    throw(noinfo)
  +            end
  +    end.
  +
  +linux_cpuinfo_model() ->
  +    case linux_cpuinfo_lookup("model") of
  +        [M] ->
  +            M;
  +        _ ->
  +            "-"
  +    end.
  +
  +linux_cpuinfo_platform() ->
  +    case linux_cpuinfo_lookup("platform") of
  +        [P] ->
  +            P;
  +        _ ->
  +            "-"
  +    end.
  +
  +linux_cpuinfo_model_name() ->
  +    case linux_cpuinfo_lookup("model name") of
  +        [P|_] ->
  +            P;
  +        _ ->
  +            "-"
  +    end.
  +
  +linux_cpuinfo_processor() ->
  +    case linux_cpuinfo_lookup("Processor") of
  +        [P] ->
  +            P;
  +        _ ->
  +            "-"
  +    end.
  +
  +
   linux_which_cpuinfo(montavista) ->
       CPU =
  -        case linux_cpuinfo_lookup("cpu") of
  +        case linux_cpuinfo_cpu() of
               "-" ->
                   throw(noinfo);
               Model ->
  -                case linux_cpuinfo_lookup("motherboard") of
  +                case linux_cpuinfo_motherboard() of
                       "-" ->
                           Model;
                       MB ->
                           Model ++ " (" ++ MB ++ ")"
                   end
           end,
  -    case linux_cpuinfo_lookup("bogomips") of
  +    case linux_cpuinfo_bogomips() of
           "-" ->
               {ok, CPU};
           BMips ->
  
positive.code:         _:_:_ -> "-"
      end.
  
      
  linux_info_lookup(Key, File) ->
      try [string:trim(S) || S <- string:tokens(os:cmd("grep " ++ "\"" ++ Key ++ "\"" ++ " " ++ File), [$:,$\n])] of
          [Key, Value | _] ->
              Value;
          _ ->
              "-"
      catch
          _:_:_ ->
              "-"
      end.
      
  
  
  %% ----------------------------------------------------------------
  
negative.code:             {ok, {CPU, BogoMIPS}} ->
                  io:format("CPU: "
                            "~n   Model:    ~s"
                            "~n   BogoMIPS: ~w"
                            "~n", [CPU, BogoMIPS]),
                  if
                      (BogoMIPS > 20000) ->
                          1;
                      (BogoMIPS > 10000) ->
                          2;
                      (BogoMIPS > 5000) ->
                          3;
                      (BogoMIPS > 2000) ->
                          5;
                      (BogoMIPS > 1000) ->
                          8;
                      true ->
                          10
                  end;
              {ok, CPU} ->
                  io:format("CPU: "
  