blob: c27dd40af7c3b40b0e839108d744398f7604db01 [file] [log] [blame]
Ovidiu Panait87a739e2022-05-31 21:14:31 +03001/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright (C) 2022, Ovidiu Panait <ovpanait@gmail.com>
4 */
5
6#ifndef __ASM_MICROBLAZE_CPUINFO_H
7#define __ASM_MICROBLAZE_CPUINFO_H
8
9/**
10 * struct microblaze_cpuinfo - CPU info for microblaze processor core.
11 *
12 * @icache_size: Size of instruction cache memory in bytes.
13 * @icache_line_length: Instruction cache line length in bytes.
14 * @dcache_size: Size of data cache memory in bytes.
15 * @dcache_line_length: Data cache line length in bytes.
16 */
17struct microblaze_cpuinfo {
18 u32 icache_size;
19 u32 icache_line_length;
20
21 u32 dcache_size;
22 u32 dcache_line_length;
23};
24
25/**
26 * microblaze_early_cpuinfo_init() - Initialize cpuinfo with default values.
27 *
28 * Initializes the global data cpuinfo structure with default values (cache
29 * size, cache line size, etc.). It is called very early in the boot process
30 * (start.S codepath right before the first cache flush call) to ensure that
31 * cache related operations are properly handled.
32 */
33void microblaze_early_cpuinfo_init(void);
34
35#endif /* __ASM_MICROBLAZE_CPUINFO_H */