ebb_state
ebb_state.stats.spurious++;
ebb_state.stats.ebb_count++;
trace_log_counter(ebb_state.trace, ebb_state.stats.ebb_count);
if (ebb_state.stats.ebb_count == NUMBER_OF_EBBS)
trace_log_reg(ebb_state.trace, SPRN_SIAR, siar);
trace_log_reg(ebb_state.trace, SPRN_PMC1, val);
trace_log_reg(ebb_state.trace, SPRN_MMCR0, val);
while (ebb_state.stats.ebb_count < NUMBER_OF_EBBS)
FAIL_IF(ebb_state.stats.ebb_count != NUMBER_OF_EBBS);
while (ebb_state.stats.ebb_count < 1)
FAIL_IF(ebb_state.stats.ebb_count == 0);
while (ebb_state.stats.ebb_count < 10) {
FAIL_IF(ebb_state.stats.ebb_count == 0);
FAIL_IF(ebb_state.stats.ebb_count == 0);
ebb_state.stats.spurious++;
ebb_state.stats.ebb_count++;
trace_log_counter(ebb_state.trace, ebb_state.stats.ebb_count);
trace_log_reg(ebb_state.trace, SPRN_MMCR0, val);
trace_log_string(ebb_state.trace, "frozen");
while ((ebb_state.stats.ebb_count < 20 && !fc_cleared) ||
ebb_state.stats.ebb_count < 1)
while ((ebb_state.stats.ebb_count < 20 && !bad_mmcr2) ||
ebb_state.stats.ebb_count < 1)
FAIL_IF(ebb_state.stats.ebb_count == 0);
ebb_state.stats.spurious++;
ebb_state.stats.ebb_count++;
trace_log_counter(ebb_state.trace, ebb_state.stats.ebb_count);
trace_log_reg(ebb_state.trace, SPRN_MMCR0, val);
if (ebb_state.pmc_enable[PMC_INDEX(i)])
ebb_state.stats.no_overflow++;
memset(&ebb_state.stats, 0, sizeof(ebb_state.stats));
ebb_state.stats.ebb_count, ebb_state.stats.spurious,
ebb_state.stats.negative, ebb_state.stats.no_overflow,
ebb_state.stats.pmc_count[0], ebb_state.stats.pmc_count[1],
ebb_state.stats.pmc_count[2], ebb_state.stats.pmc_count[3],
ebb_state.stats.pmc_count[4], ebb_state.stats.pmc_count[5]);
trace_buffer_print(ebb_state.trace);
ebb_state.stats.negative++;
ebb_state.stats.pmc_count[PMC_INDEX(pmc)] += val - start_value;
trace_log_reg(ebb_state.trace, SPRN_PMC1 + pmc - 1, val);
struct ebb_state ebb_state;
while (ebb_state.stats.ebb_count < 20) {
FAIL_IF(ebb_state.stats.ebb_count == 0);
ebb_state.trace = trace_buffer_allocate(1 * 1024 * 1024);
count = ebb_state.stats.pmc_count[PMC_INDEX(pmc)];
lower = ebb_state.stats.ebb_count * (sample_period - fudge);
upper = ebb_state.stats.ebb_count * (sample_period + fudge);
extern struct ebb_state ebb_state;
ebb_state.pmc_enable[PMC_INDEX(pmc)] = true;
while (ebb_state.stats.ebb_count < 20) {
FAIL_IF(ebb_state.stats.ebb_count == 0);
ebb_state.stats.ebb_count++;
event->result.value = ebb_state.stats.pmc_count[4-1];
printf("Took %d EBBs\n", ebb_state.stats.ebb_count);
ebb_state.stats.spurious++;
while (ebb_state.stats.ebb_count < 1000000) {
FAIL_IF(ebb_state.stats.ebb_count == 0);
while (ebb_state.stats.ebb_count < 50) {
FAIL_IF(ebb_state.stats.ebb_count == 0);
FAIL_IF(ebb_state.stats.ebb_count == 0);
ebb_state.stats.spurious++;
ebb_state.stats.ebb_count++;
while (ebb_state.stats.ebb_count < 20 && !mmcr0_mismatch)
FAIL_IF(ebb_state.stats.ebb_count == 0);
ebb_state.stats.spurious++;
ebb_state.stats.ebb_count++;
while (ebb_state.stats.ebb_count < 10)
FAIL_IF(ebb_state.stats.ebb_count == 0 || pmc56_overflowed != 0);
while (ebb_state.stats.ebb_count < 1)
FAIL_IF(ebb_state.stats.ebb_count == 0);