tlb.h (257178) | tlb.h (287015) |
---|---|
1/*- 2 * Copyright (C) 2006-2012 Semihalf. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 10 unchanged lines hidden (view full) --- 19 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 21 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * | 1/*- 2 * Copyright (C) 2006-2012 Semihalf. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 10 unchanged lines hidden (view full) --- 19 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 21 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * |
27 * $FreeBSD: head/sys/powerpc/include/tlb.h 257178 2013-10-26 18:18:14Z nwhitehorn $ | 27 * $FreeBSD: head/sys/powerpc/include/tlb.h 287015 2015-08-22 07:27:06Z jhibbits $ |
28 */ 29 30#ifndef _MACHINE_TLB_H_ 31#define _MACHINE_TLB_H_ 32 33#if defined(BOOKE_E500) 34 35/* PowerPC E500 MAS registers */ --- 65 unchanged lines hidden (view full) --- 101#define MAS4_MD 0x00000004 102#define MAS4_GD 0x00000002 103#define MAS4_ED 0x00000001 104 105#define MAS6_SPID0_MASK 0x00FF0000 106#define MAS6_SPID0_SHIFT 16 107#define MAS6_SAS 0x00000001 108 | 28 */ 29 30#ifndef _MACHINE_TLB_H_ 31#define _MACHINE_TLB_H_ 32 33#if defined(BOOKE_E500) 34 35/* PowerPC E500 MAS registers */ --- 65 unchanged lines hidden (view full) --- 101#define MAS4_MD 0x00000004 102#define MAS4_GD 0x00000002 103#define MAS4_ED 0x00000001 104 105#define MAS6_SPID0_MASK 0x00FF0000 106#define MAS6_SPID0_SHIFT 16 107#define MAS6_SAS 0x00000001 108 |
109#define MAS7_RPN 0x0000000F 110 |
|
109#define MAS1_GETTID(mas1) (((mas1) & MAS1_TID_MASK) >> MAS1_TID_SHIFT) 110 111#define MAS2_TLB0_ENTRY_IDX_MASK 0x0007f000 112#define MAS2_TLB0_ENTRY_IDX_SHIFT 12 113 114/* 115 * Maximum number of TLB1 entries used for a permanent mapping of kernel 116 * region (kernel image plus statically allocated data). --- 10 unchanged lines hidden (view full) --- 127#if !defined(LOCORE) 128typedef struct tlb_entry { 129 vm_paddr_t phys; 130 vm_offset_t virt; 131 vm_size_t size; 132 uint32_t mas1; 133 uint32_t mas2; 134 uint32_t mas3; | 111#define MAS1_GETTID(mas1) (((mas1) & MAS1_TID_MASK) >> MAS1_TID_SHIFT) 112 113#define MAS2_TLB0_ENTRY_IDX_MASK 0x0007f000 114#define MAS2_TLB0_ENTRY_IDX_SHIFT 12 115 116/* 117 * Maximum number of TLB1 entries used for a permanent mapping of kernel 118 * region (kernel image plus statically allocated data). --- 10 unchanged lines hidden (view full) --- 129#if !defined(LOCORE) 130typedef struct tlb_entry { 131 vm_paddr_t phys; 132 vm_offset_t virt; 133 vm_size_t size; 134 uint32_t mas1; 135 uint32_t mas2; 136 uint32_t mas3; |
137 uint32_t mas7; |
|
135} tlb_entry_t; 136 137void tlb0_print_tlbentries(void); 138 139void tlb1_inval_entry(unsigned int); 140void tlb1_init(void); 141void tlb1_print_entries(void); 142void tlb1_print_tlbentries(void); --- 75 unchanged lines hidden --- | 138} tlb_entry_t; 139 140void tlb0_print_tlbentries(void); 141 142void tlb1_inval_entry(unsigned int); 143void tlb1_init(void); 144void tlb1_print_entries(void); 145void tlb1_print_tlbentries(void); --- 75 unchanged lines hidden --- |