brintos

brintos / linux-shallow public Read only

0
0
Text · 903 B · a5dfa9b Raw
52 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2/*3 * Copyright 2014, Michael Ellerman, IBM Corp.4 */5 6#include <stdio.h>7#include <stdlib.h>8 9#include "event.h"10#include "utils.h"11 12#define MALLOC_SIZE     (0x10000 * 10)  /* Ought to be enough .. */13 14/*15 * Tests that the L3 bank handling is correct. We fixed it in commit e9aaac1.16 */17static int l3_bank_test(void)18{19	struct event event;20	char *p;21	int i;22 23	// The L3 bank logic is only used on Power8 or later24	SKIP_IF(!have_hwcap2(PPC_FEATURE2_ARCH_2_07));25 26	p = malloc(MALLOC_SIZE);27	FAIL_IF(!p);28 29	event_init(&event, 0x84918F);30 31	FAIL_IF(event_open(&event));32 33	for (i = 0; i < MALLOC_SIZE; i += 0x10000)34		p[i] = i;35 36	event_read(&event);37	event_report(&event);38 39	FAIL_IF(event.result.running == 0);40	FAIL_IF(event.result.enabled == 0);41 42	event_close(&event);43	free(p);44 45	return 0;46}47 48int main(void)49{50	return test_harness(l3_bank_test, "l3_bank_test");51}52