I did rework the function slightly to improve readability and maintainability. Removed also duplicated code and whitespace issues.
Signed-off-by: Robert Richter <[EMAIL PROTECTED]> --- lib/pfmlib_amd64.c | 58 +++++++++++++++++++++++++-------------------------- 1 files changed, 28 insertions(+), 30 deletions(-) diff --git a/lib/pfmlib_amd64.c b/lib/pfmlib_amd64.c index f4e4a0a..58a4e78 100644 --- a/lib/pfmlib_amd64.c +++ b/lib/pfmlib_amd64.c @@ -75,8 +75,8 @@ #define AMD64_FAM10H AMD64_FAM10H_REV_B typedef enum { - AMD64_CPU_UN, - AMD64_K7, + AMD64_CPU_UN, + AMD64_K7, AMD64_K8_REV_B, AMD64_K8_REV_C, AMD64_K8_REV_D, @@ -93,7 +93,7 @@ static const char *amd64_rev_strs[]= { static const char *amd64_cpu_strs[]= { "unknown model", - "K7", + "K7", "K8 RevB", "K8 RevC", "K8 RevD", @@ -127,8 +127,8 @@ pfm_pmu_support_t amd64_support; static amd64_rev_t amd64_get_revision(int family, int model, int stepping) { - if (family == 6) - return AMD64_K7; + if (family == 6) + return AMD64_K7; if (family == 15) { switch (model >> 4) { @@ -190,36 +190,34 @@ pfm_amd64_setup(int revision) amd64_cpu_strs[revision]); amd64_support.pmu_name = amd64_pmu.name; - if (amd64_pmu.revision ==AMD64_K7) { - amd64_pmu.events = amd64_k7_table.events; - amd64_support.pme_count = amd64_k7_table.num; - amd64_pmu.cpu_clks = amd64_k7_table.cpu_clks; - amd64_pmu.ret_inst = amd64_k7_table.ret_inst; - amd64_support.pmu_type = PFMLIB_AMD64_PMU; - amd64_support.num_cnt = PMU_AMD64_NUM_COUNTERS; - amd64_support.pmc_count = PMU_AMD64_NUM_COUNTERS; - amd64_support.pmd_count = PMU_AMD64_NUM_COUNTERS; - } - else { - /* defaults (K8) */ - amd64_pmu.events = amd64_k8_table.events; - amd64_support.pme_count = amd64_k8_table.num; - amd64_pmu.cpu_clks = amd64_k8_table.cpu_clks; - amd64_pmu.ret_inst = amd64_k8_table.ret_inst; - amd64_support.pmu_type = PFMLIB_AMD64_PMU; - amd64_support.num_cnt = PMU_AMD64_NUM_COUNTERS; - amd64_support.pmc_count = PMU_AMD64_NUM_COUNTERS; - amd64_support.pmd_count = PMU_AMD64_NUM_COUNTERS; + /* K8 (default) */ + amd64_pmu.events = amd64_k8_table.events; + amd64_support.pme_count = amd64_k8_table.num; + amd64_pmu.cpu_clks = amd64_k8_table.cpu_clks; + amd64_pmu.ret_inst = amd64_k8_table.ret_inst; + amd64_support.pmu_type = PFMLIB_AMD64_PMU; + amd64_support.num_cnt = PMU_AMD64_NUM_COUNTERS; + amd64_support.pmc_count = PMU_AMD64_NUM_COUNTERS; + amd64_support.pmd_count = PMU_AMD64_NUM_COUNTERS; + + /* K7 */ + if (amd64_pmu.revision == AMD64_K7) { + amd64_pmu.events = amd64_k7_table.events; + amd64_support.pme_count = amd64_k7_table.num; + amd64_pmu.cpu_clks = amd64_k7_table.cpu_clks; + amd64_pmu.ret_inst = amd64_k7_table.ret_inst; + return; } - /* additional features */ + /* Barcelona */ if (IS_FAMILY_10H()) { - amd64_pmu.events = amd64_fam10h_table.events; - amd64_support.pme_count = amd64_fam10h_table.num; - amd64_pmu.cpu_clks = amd64_fam10h_table.cpu_clks; - amd64_pmu.ret_inst = amd64_fam10h_table.ret_inst; + amd64_pmu.events = amd64_fam10h_table.events; + amd64_support.pme_count = amd64_fam10h_table.num; + amd64_pmu.cpu_clks = amd64_fam10h_table.cpu_clks; + amd64_pmu.ret_inst = amd64_fam10h_table.ret_inst; amd64_support.pmc_count = PMU_AMD64_NUM_PERFSEL; amd64_support.pmd_count = PMU_AMD64_NUM_PERFCTR; + return; } } -- 1.5.3.7 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel