forked from luck/tmp_suning_uos_patched
selftests/powerpc: Add test of L3 bank handling
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
6873def900
commit
1feaa87c2f
|
@ -1,7 +1,7 @@
|
|||
noarg:
|
||||
$(MAKE) -C ../
|
||||
|
||||
PROGS := count_instructions
|
||||
PROGS := count_instructions l3_bank_test
|
||||
EXTRA_SOURCES := ../harness.c event.c
|
||||
|
||||
SUB_TARGETS = ebb
|
||||
|
|
48
tools/testing/selftests/powerpc/pmu/l3_bank_test.c
Normal file
48
tools/testing/selftests/powerpc/pmu/l3_bank_test.c
Normal file
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Copyright 2014, Michael Ellerman, IBM Corp.
|
||||
* Licensed under GPLv2.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "event.h"
|
||||
#include "utils.h"
|
||||
|
||||
#define MALLOC_SIZE (0x10000 * 10) /* Ought to be enough .. */
|
||||
|
||||
/*
|
||||
* Tests that the L3 bank handling is correct. We fixed it in commit e9aaac1.
|
||||
*/
|
||||
static int l3_bank_test(void)
|
||||
{
|
||||
struct event event;
|
||||
char *p;
|
||||
int i;
|
||||
|
||||
p = malloc(MALLOC_SIZE);
|
||||
FAIL_IF(!p);
|
||||
|
||||
event_init(&event, 0x84918F);
|
||||
|
||||
FAIL_IF(event_open(&event));
|
||||
|
||||
for (i = 0; i < MALLOC_SIZE; i += 0x10000)
|
||||
p[i] = i;
|
||||
|
||||
event_read(&event);
|
||||
event_report(&event);
|
||||
|
||||
FAIL_IF(event.result.running == 0);
|
||||
FAIL_IF(event.result.enabled == 0);
|
||||
|
||||
event_close(&event);
|
||||
free(p);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return test_harness(l3_bank_test, "l3_bank_test");
|
||||
}
|
Loading…
Reference in New Issue
Block a user