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 ---