|
|
1.1 ! root 1: /* ! 2: * <ofmem_sparc64.h> ! 3: * ! 4: * OF Memory manager ! 5: * ! 6: * Copyright (C) 1999, 2002 Samuel Rydh ([email protected]) ! 7: * ! 8: * This program is free software; you can redistribute it and/or ! 9: * modify it under the terms of the GNU General Public License ! 10: * as published by the Free Software Foundation ! 11: * ! 12: */ ! 13: ! 14: #ifndef _H_OFMEM_SPARC64 ! 15: #define _H_OFMEM_SPARC64 ! 16: ! 17: #include "libopenbios/ofmem.h" ! 18: ! 19: #define PAGE_SIZE_4M (4 * 1024 * 1024) ! 20: #define PAGE_SIZE_512K (512 * 1024) ! 21: #define PAGE_SIZE_64K (64 * 1024) ! 22: #define PAGE_SIZE_8K (8 * 1024) ! 23: #define PAGE_MASK_4M (4 * 1024 * 1024 - 1) ! 24: #define PAGE_MASK_512K (512 * 1024 - 1) ! 25: #define PAGE_MASK_64K (64 * 1024 - 1) ! 26: #define PAGE_MASK_8K (8 * 1024 - 1) ! 27: ! 28: extern ucell *va2ttedata; ! 29: extern unsigned long find_tte(unsigned long va); ! 30: ! 31: void itlb_load2(unsigned long vaddr, unsigned long tte_data); ! 32: void itlb_load3(unsigned long vaddr, unsigned long tte_data, unsigned long tte_index); ! 33: unsigned long itlb_faultva(void); ! 34: void itlb_demap(unsigned long vaddr); ! 35: void dtlb_load2(unsigned long vaddr, unsigned long tte_data); ! 36: void dtlb_load3(unsigned long vaddr, unsigned long tte_data, unsigned long tte_index); ! 37: unsigned long dtlb_faultva(void); ! 38: void dtlb_demap(unsigned long vaddr); ! 39: ! 40: typedef int (*translation_entry_cb)(ucell phys, ucell virt, ucell size, ucell mode); ! 41: ! 42: extern void ofmem_walk_boot_map(translation_entry_cb cb); ! 43: ! 44: extern translation_t **g_ofmem_translations; ! 45: ! 46: extern void dtlb_miss_handler(void); ! 47: extern void itlb_miss_handler(void); ! 48: extern void bug(void); ! 49: ! 50: #endif /* _H_OFMEM_SPARC64 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.