Deleted Added
sdiff udiff text old ( 14040:0c4153500e9c ) new ( 14093:5fbd7d00b58e )
full compact
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"
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
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 ---