smmu_v3_ptops.hh (14039:4991b2a345a1) smmu_v3_ptops.hh (14098:f4b9024d1a96)
1/*
2 * Copyright (c) 2013, 2018-2019 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

--- 71 unchanged lines hidden (view full) ---

80 virtual Addr nextLevelPointer(pte_t pte, unsigned level) const;
81 virtual Addr index(Addr va, unsigned level) const;
82 virtual Addr pageMask(pte_t pte, unsigned level) const;
83 virtual Addr walkMask(unsigned level) const;
84 virtual unsigned firstLevel() const;
85 virtual unsigned lastLevel() const;
86};
87
1/*
2 * Copyright (c) 2013, 2018-2019 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

--- 71 unchanged lines hidden (view full) ---

80 virtual Addr nextLevelPointer(pte_t pte, unsigned level) const;
81 virtual Addr index(Addr va, unsigned level) const;
82 virtual Addr pageMask(pte_t pte, unsigned level) const;
83 virtual Addr walkMask(unsigned level) const;
84 virtual unsigned firstLevel() const;
85 virtual unsigned lastLevel() const;
86};
87
88struct V8PageTableOps16k : public PageTableOps
89{
90 virtual bool isValid(pte_t pte, unsigned level) const;
91 virtual bool isLeaf(pte_t pte, unsigned level) const;
92 virtual bool isWritable(pte_t pte, unsigned level, bool stage2) const;
93 virtual Addr nextLevelPointer(pte_t pte, unsigned level) const;
94 virtual Addr index(Addr va, unsigned level) const;
95 virtual Addr pageMask(pte_t pte, unsigned level) const;
96 virtual Addr walkMask(unsigned level) const;
97 virtual unsigned firstLevel() const;
98 virtual unsigned lastLevel() const;
99};
100
88struct V8PageTableOps64k : public PageTableOps
89{
90 virtual bool isValid(pte_t pte, unsigned level) const;
91 virtual bool isLeaf(pte_t pte, unsigned level) const;
92 virtual bool isWritable(pte_t pte, unsigned level, bool stage2) const;
93 virtual Addr nextLevelPointer(pte_t pte, unsigned level) const;
94 virtual Addr index(Addr va, unsigned level) const;
95 virtual Addr pageMask(pte_t pte, unsigned level) const;
96 virtual Addr walkMask(unsigned level) const;
97 virtual unsigned firstLevel() const;
98 virtual unsigned lastLevel() const;
99};
100
101#endif /* __DEV_ARM_SMMU_V3_PTOPS_HH__ */
101struct V8PageTableOps64k : public PageTableOps
102{
103 virtual bool isValid(pte_t pte, unsigned level) const;
104 virtual bool isLeaf(pte_t pte, unsigned level) const;
105 virtual bool isWritable(pte_t pte, unsigned level, bool stage2) const;
106 virtual Addr nextLevelPointer(pte_t pte, unsigned level) const;
107 virtual Addr index(Addr va, unsigned level) const;
108 virtual Addr pageMask(pte_t pte, unsigned level) const;
109 virtual Addr walkMask(unsigned level) const;
110 virtual unsigned firstLevel() const;
111 virtual unsigned lastLevel() const;
112};
113
114#endif /* __DEV_ARM_SMMU_V3_PTOPS_HH__ */