use serde::Deserialize;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Deserialize)]
pub enum PageBoundary {
#[default]
Stop,
CrossWithTlb,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Deserialize)]
#[serde(tag = "kind", deny_unknown_fields)]
pub enum LoadPrefetcherConfig {
#[default]
None,
Stride {
table_size: usize,
l1_lines: usize,
l2_lines: usize,
page_boundary: PageBoundary,
},
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Deserialize)]
#[serde(tag = "kind", deny_unknown_fields)]
pub enum StorePrefetcherConfig {
#[default]
None,
Stream {
streams: usize,
l2_lines: usize,
},
}