gic_v3_redistributor.hh (14231:222f6512335e) gic_v3_redistributor.hh (14258:c75d22c32dec)
1/*
1/*
2 * Copyright (c) 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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated
11 * unmodified and in its entirety in all distributions of the software,
12 * modified or unmodified, in source code or in binary form.
13 *
2 * Copyright (c) 2018 Metempsy Technology Consulting
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;
9 * redistributions in binary form must reproduce the above copyright

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

200 }
201
202 Gicv3::GroupId getIntGroup(int int_id) const;
203 Gicv3::IntStatus intStatus(uint32_t int_id) const;
204 uint8_t readEntryLPI(uint32_t intid);
205 void writeEntryLPI(uint32_t intid, uint8_t lpi_entry);
206 bool isPendingLPI(uint32_t intid);
207 void setClrLPI(uint64_t data, bool set);
14 * Copyright (c) 2018 Metempsy Technology Consulting
15 * All rights reserved.
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions are
19 * met: redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer;
21 * redistributions in binary form must reproduce the above copyright

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

212 }
213
214 Gicv3::GroupId getIntGroup(int int_id) const;
215 Gicv3::IntStatus intStatus(uint32_t int_id) const;
216 uint8_t readEntryLPI(uint32_t intid);
217 void writeEntryLPI(uint32_t intid, uint8_t lpi_entry);
218 bool isPendingLPI(uint32_t intid);
219 void setClrLPI(uint64_t data, bool set);
208 void reset();
209 void sendSGI(uint32_t int_id, Gicv3::GroupId group, bool ns);
210 void serialize(CheckpointOut & cp) const override;
211 void unserialize(CheckpointIn & cp) override;
212 void update();
213 void updateDistributor();
214
215 public:
216
217 Gicv3Redistributor(Gicv3 * gic, uint32_t cpu_id);
218 uint32_t getAffinity() const;
219 void init();
220 void sendSGI(uint32_t int_id, Gicv3::GroupId group, bool ns);
221 void serialize(CheckpointOut & cp) const override;
222 void unserialize(CheckpointIn & cp) override;
223 void update();
224 void updateDistributor();
225
226 public:
227
228 Gicv3Redistributor(Gicv3 * gic, uint32_t cpu_id);
229 uint32_t getAffinity() const;
230 void init();
220 void initState();
221 uint64_t read(Addr addr, size_t size, bool is_secure_access);
222 void sendPPInt(uint32_t int_id);
223 void write(Addr addr, uint64_t data, size_t size, bool is_secure_access);
224};
225
226#endif //__DEV_ARM_GICV3_REDISTRIBUTOR_H__
231 uint64_t read(Addr addr, size_t size, bool is_secure_access);
232 void sendPPInt(uint32_t int_id);
233 void write(Addr addr, uint64_t data, size_t size, bool is_secure_access);
234};
235
236#endif //__DEV_ARM_GICV3_REDISTRIBUTOR_H__