smmu_v3.hh (14039:4991b2a345a1) smmu_v3.hh (14252:1659a606447f)
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

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

50#include "dev/arm/smmu_v3_caches.hh"
51#include "dev/arm/smmu_v3_cmdexec.hh"
52#include "dev/arm/smmu_v3_defs.hh"
53#include "dev/arm/smmu_v3_events.hh"
54#include "dev/arm/smmu_v3_ports.hh"
55#include "dev/arm/smmu_v3_proc.hh"
56#include "dev/arm/smmu_v3_ptops.hh"
57#include "dev/arm/smmu_v3_slaveifc.hh"
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

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

50#include "dev/arm/smmu_v3_caches.hh"
51#include "dev/arm/smmu_v3_cmdexec.hh"
52#include "dev/arm/smmu_v3_defs.hh"
53#include "dev/arm/smmu_v3_events.hh"
54#include "dev/arm/smmu_v3_ports.hh"
55#include "dev/arm/smmu_v3_proc.hh"
56#include "dev/arm/smmu_v3_ptops.hh"
57#include "dev/arm/smmu_v3_slaveifc.hh"
58#include "mem/mem_object.hh"
59#include "mem/packet.hh"
60#include "params/SMMUv3.hh"
58#include "mem/packet.hh"
59#include "params/SMMUv3.hh"
60#include "sim/clocked_object.hh"
61#include "sim/eventq.hh"
62
63/**
64 * @file:
65 * This is an implementation of the SMMUv3 architecture.
66 *
67 * What can it do?
68 * - Single-stage and nested translation with 4k or 64k granule. 16k would

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

75 * - Fragment stage 1 page when the underlying stage 2 page is smaller. S1
76 * page size > S2 page size is not supported
77 * - Invalidations take zero time. This wouldn't be hard to fix.
78 * - Checkpointing is not supported
79 * - Stall/resume for faulting transactions is not supported
80 */
81class SMMUTranslationProcess;
82
61#include "sim/eventq.hh"
62
63/**
64 * @file:
65 * This is an implementation of the SMMUv3 architecture.
66 *
67 * What can it do?
68 * - Single-stage and nested translation with 4k or 64k granule. 16k would

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

75 * - Fragment stage 1 page when the underlying stage 2 page is smaller. S1
76 * page size > S2 page size is not supported
77 * - Invalidations take zero time. This wouldn't be hard to fix.
78 * - Checkpointing is not supported
79 * - Stall/resume for faulting transactions is not supported
80 */
81class SMMUTranslationProcess;
82
83class SMMUv3 : public MemObject
83class SMMUv3 : public ClockedObject
84{
85 protected:
86
87 friend class SMMUProcess;
88 friend class SMMUTranslationProcess;
89 friend class SMMUCommandExecProcess;
90 friend class SMMUv3SlaveInterface;
91

--- 104 unchanged lines hidden ---
84{
85 protected:
86
87 friend class SMMUProcess;
88 friend class SMMUTranslationProcess;
89 friend class SMMUCommandExecProcess;
90 friend class SMMUv3SlaveInterface;
91

--- 104 unchanged lines hidden ---