table_walker.hh (14040:0c4153500e9c) | table_walker.hh (14093:5fbd7d00b58e) |
---|---|
1/* 2 * Copyright (c) 2010-2016 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 29 unchanged lines hidden (view full) --- 38 * Giacomo Gabrielli 39 */ 40 41#ifndef __ARCH_ARM_TABLE_WALKER_HH__ 42#define __ARCH_ARM_TABLE_WALKER_HH__ 43 44#include <list> 45 | 1/* 2 * Copyright (c) 2010-2016 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 29 unchanged lines hidden (view full) --- 38 * Giacomo Gabrielli 39 */ 40 41#ifndef __ARCH_ARM_TABLE_WALKER_HH__ 42#define __ARCH_ARM_TABLE_WALKER_HH__ 43 44#include <list> 45 |
46#include "arch/arm/faults.hh" |
|
46#include "arch/arm/miscregs.hh" 47#include "arch/arm/system.hh" 48#include "arch/arm/tlb.hh" 49#include "mem/request.hh" 50#include "params/ArmTableWalker.hh" 51#include "sim/clocked_object.hh" 52#include "sim/eventq.hh" 53 --- 886 unchanged lines hidden (view full) --- 940 941 void doLongDescriptorWrapper(LookupLevel curr_lookup_level); 942 Event* LongDescEventByLevel[4]; 943 944 bool fetchDescriptor(Addr descAddr, uint8_t *data, int numBytes, 945 Request::Flags flags, int queueIndex, Event *event, 946 void (TableWalker::*doDescriptor)()); 947 | 47#include "arch/arm/miscregs.hh" 48#include "arch/arm/system.hh" 49#include "arch/arm/tlb.hh" 50#include "mem/request.hh" 51#include "params/ArmTableWalker.hh" 52#include "sim/clocked_object.hh" 53#include "sim/eventq.hh" 54 --- 886 unchanged lines hidden (view full) --- 941 942 void doLongDescriptorWrapper(LookupLevel curr_lookup_level); 943 Event* LongDescEventByLevel[4]; 944 945 bool fetchDescriptor(Addr descAddr, uint8_t *data, int numBytes, 946 Request::Flags flags, int queueIndex, Event *event, 947 void (TableWalker::*doDescriptor)()); 948 |
949 Fault generateLongDescFault(ArmFault::FaultSource src); 950 |
|
948 void insertTableEntry(DescriptorBase &descriptor, bool longDescriptor); 949 950 Fault processWalk(); 951 Fault processWalkLPAE(); 952 static unsigned adjustTableSizeAArch64(unsigned tsz); 953 /// Returns true if the address exceeds the range permitted by the 954 /// system-wide setting or by the TCR_ELx IPS/PS setting 955 static bool checkAddrSizeFaultAArch64(Addr addr, int currPhysAddrRange); --- 18 unchanged lines hidden --- | 951 void insertTableEntry(DescriptorBase &descriptor, bool longDescriptor); 952 953 Fault processWalk(); 954 Fault processWalkLPAE(); 955 static unsigned adjustTableSizeAArch64(unsigned tsz); 956 /// Returns true if the address exceeds the range permitted by the 957 /// system-wide setting or by the TCR_ELx IPS/PS setting 958 static bool checkAddrSizeFaultAArch64(Addr addr, int currPhysAddrRange); --- 18 unchanged lines hidden --- |