Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2025 Arm Ltd.
4 * Based on arch/x86/kernel/cpu/resctrl/internal.h
5 */
6
7#ifndef __LINUX_RESCTRL_TYPES_H
8#define __LINUX_RESCTRL_TYPES_H
9
10/* Reads to Local DRAM Memory */
11#define READS_TO_LOCAL_MEM BIT(0)
12
13/* Reads to Remote DRAM Memory */
14#define READS_TO_REMOTE_MEM BIT(1)
15
16/* Non-Temporal Writes to Local Memory */
17#define NON_TEMP_WRITE_TO_LOCAL_MEM BIT(2)
18
19/* Non-Temporal Writes to Remote Memory */
20#define NON_TEMP_WRITE_TO_REMOTE_MEM BIT(3)
21
22/* Reads to Local Memory the system identifies as "Slow Memory" */
23#define READS_TO_LOCAL_S_MEM BIT(4)
24
25/* Reads to Remote Memory the system identifies as "Slow Memory" */
26#define READS_TO_REMOTE_S_MEM BIT(5)
27
28/* Dirty Victims to All Types of Memory */
29#define DIRTY_VICTIMS_TO_ALL_MEM BIT(6)
30
31/* Max event bits supported */
32#define MAX_EVT_CONFIG_BITS GENMASK(6, 0)
33
34enum resctrl_res_level {
35 RDT_RESOURCE_L3,
36 RDT_RESOURCE_L2,
37 RDT_RESOURCE_MBA,
38 RDT_RESOURCE_SMBA,
39
40 /* Must be the last */
41 RDT_NUM_RESOURCES,
42};
43
44/*
45 * Event IDs, the values match those used to program IA32_QM_EVTSEL before
46 * reading IA32_QM_CTR on RDT systems.
47 */
48enum resctrl_event_id {
49 QOS_L3_OCCUP_EVENT_ID = 0x01,
50 QOS_L3_MBM_TOTAL_EVENT_ID = 0x02,
51 QOS_L3_MBM_LOCAL_EVENT_ID = 0x03,
52};
53
54#endif /* __LINUX_RESCTRL_TYPES_H */