- Added
fakes
feature which causes all system register access to be redirected to a fake instead. This can be useful for tests.
- Fixed docs.rs build.
IntId
andTrigger
moved to top-level module, as they are shared with GICv2 driver.- Added support for multiple cores.
GicV3::new
now takes the CPU count and redistributor stride, and various other method take a cpu index.
- Fixed
GicV3::setup
not to write to GICD IGROUPR[0]. - Fixed
GicV3::enable_interrupt
not to write to GICD for private interrupt IDs. - Return
None
fromget_and_acknowledge_interrupt
forSPECIAL_NONE
.
- Added more interrupt types to
IntId
, and public constants for number of each type. - Added constants to
IntId
for special interrupt IDs. - Added methods to read type register and its fields.
- Added
set_group
,redistributor_mark_core_awake
and other methods toGicV3
. - Added support for GICv2 in a separate
GicV2
driver. - Added support for aarch32.
- Changed
irouter
andirouter_e
fields ofGICD
to use u64, to match GIC specification.
- Made
gicv3::registers
module public and added methods toGicV3
to get pointers to registers.
- Implemented
Send
andSync
forGicV3
.
Initial version, with basic support for GICv3 (and 4) on aarch64.