SKIP_IF(geteuid() != 0);
 
+       // The PMU event we use only works on Power7 or later
+       SKIP_IF(!have_hwcap(PPC_FEATURE_ARCH_2_06));
+
        if (read_debugfs_file("powerpc/rfi_flush", &rfi_flush_org)) {
                perror("Unable to read powerpc/rfi_flush debugfs file");
                SKIP_IF(1);
 
        s64 miss_percent;
        bool is_p9;
 
+       // The PMU events we use only work on Power8 or later
+       SKIP_IF(!have_hwcap2(PPC_FEATURE2_ARCH_2_07));
+
        state = get_sysfs_state();
        if (state == UNKNOWN) {
                printf("Error: couldn't determine spectre_v2 mitigation state?\n");