1 /* 2 ** Copyright 2019, Adrien Destugues, pulkomandy@pulkomandy.tk 3 ** Distributed under the terms of the MIT License. 4 */ 5 #ifndef _KERNEL_ARCH_SPARC_MMU_H 6 #define _KERNEL_ARCH_SPARC_MMU_H 7 8 9 #include <SupportDefs.h> 10 #include <string.h> 11 12 #include <arch_cpu.h> 13 14 15 struct TsbEntry { 16 public: 17 bool IsValid(); 18 void SetTo(int64_t tag, void* physicalAddress, uint64 mode); 19 20 public: 21 uint64_t fTag; 22 uint64_t fData; 23 }; 24 25 26 extern void sparc_get_instruction_tsb(TsbEntry **_pageTable, size_t *_size); 27 extern void sparc_get_data_tsb(TsbEntry **_pageTable, size_t *_size); 28 29 30 #endif /* _KERNEL_ARCH_SPARC_MMU_H */ 31