brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · b4a5e95 Raw
60 lines · c
1/* SPDX-License-Identifier: GPL-2.02 *3 * Copyright 2016-2020 HabanaLabs, Ltd.4 * All Rights Reserved.5 *6 */7 8#ifndef INCLUDE_MMU_GENERAL_H_9#define INCLUDE_MMU_GENERAL_H_10 11#define PAGE_SHIFT_4KB			1212#define PAGE_SHIFT_64KB			1613#define PAGE_SHIFT_2MB			2114#define PAGE_SHIFT_16MB			2415#define PAGE_SHIFT_64MB			2616#define PAGE_SHIFT_1GB			3017#define PAGE_SIZE_4KB			_BITUL(PAGE_SHIFT_4KB)18#define PAGE_SIZE_64KB			_BITUL(PAGE_SHIFT_64KB)19#define PAGE_SIZE_2MB			_BITUL(PAGE_SHIFT_2MB)20#define PAGE_SIZE_16MB			_BITUL(PAGE_SHIFT_16MB)21#define PAGE_SIZE_64MB			_BITUL(PAGE_SHIFT_64MB)22#define PAGE_SIZE_1GB			_BITUL(PAGE_SHIFT_1GB)23 24#define PAGE_PRESENT_MASK		0x0000000000001ull25#define SWAP_OUT_MASK			0x0000000000004ull26#define LAST_MASK			0x0000000000800ull27#define FLAGS_MASK			0x0000000000FFFull28 29#define MMU_ARCH_3_HOPS			330#define MMU_ARCH_4_HOPS			431#define MMU_ARCH_5_HOPS			532#define MMU_ARCH_6_HOPS			633 34#define HOP_PHYS_ADDR_MASK		(~FLAGS_MASK)35 36#define HL_PTE_SIZE			sizeof(u64)37 38/* definitions for HOP with 512 PTE entries */39#define HOP_PTE_ENTRIES_512		51240#define HOP_TABLE_SIZE_512_PTE		(HOP_PTE_ENTRIES_512 * HL_PTE_SIZE)41#define HOP0_512_PTE_TABLES_TOTAL_SIZE	(HOP_TABLE_SIZE_512_PTE * MAX_ASID)42 43#define MMU_HOP0_PA43_12_SHIFT		1244#define MMU_HOP0_PA49_44_SHIFT		(12 + 32)45#define MMU_HOP0_PA63_44_SHIFT		(12 + 32)46 47#define MMU_CONFIG_TIMEOUT_USEC		2000 /* 2 ms */48 49enum mmu_hop_num {50	MMU_HOP0,51	MMU_HOP1,52	MMU_HOP2,53	MMU_HOP3,54	MMU_HOP4,55	MMU_HOP5,56	MMU_HOP_MAX,57};58 59#endif /* INCLUDE_MMU_GENERAL_H_ */60