This repository was archived by the owner on Oct 18, 2025. It is now read-only.
Releases: google/arm-gic
Releases · google/arm-gic
Release list
0.6.0
Breaking changes
- Changed type of various fields on
Gicr. - Changed type of
Sginsacrfield. - Added
pwrrfield toGicr. - Renumbered implementation defined fields in
Gicr.
Bugfixes
- Fixed example in crate documentation.
- Fixed
GicV3::setupto only configure SPIs which exist.
Improvements
- Added fakes for
irq_disable,irq_enableandwfi. - Added
GicV3::gicr_power_onandGicV3::gicr_power_offmethods for GIC-600
and GIC-700.
0.5.0
Breaking changes
- Added
SgiTargetGroupparameter toGicV3::send_sgito specify which group of interrupt should
be generated. - Added
InterruptGroupparameter toGicV3::get_and_acknowledge_interruptand
GicV3::end_interrupt.
Improvements
- Added new method
GivV3::get_pending_interruptto check for a pending interrupt without
acknowledging it. - Added
GicV3::gicr_typermethod to return aGicrTyper.
0.4.0
Breaking changes
- Changed
GicV3::newto take flag indicating whether GIC is v3 or v4, rather than GICR stride. - Added new
gicv3::registers::GicrTypebitflags type and used it forGicr.typerregister field.
Improvements
- Made
GicV3::gicd_barrierpublic.
0.3.0
Breaking changes
- Added
AlreadyAsleepvariant toGICRErrorenum. - Changed
GicV3::gicd_ptr,GicV3::gicr_ptrandGicV3::sgi_ptrto return aUniqueMmioPointer. GicV2andGicV3now have a lifetime parameter, indicating the lifetime for which the driver
has exclusive access to the MMIO regions of the GIC.GicV2::newandGicV3::newnow take pointers to register struct types rather than*mut u64.
Improvements
- Made
IntId::is_sgipublic. - Made
IntId::is_*methods const. - Added
GicV3::redistributor_mark_core_asleepmethod. - Made
gicv2::registerspublic.
0.2.2
0.2.1
0.2.0
Breaking changes
IntIdandTriggermoved to top-level module, as they are shared with GICv2 driver.- Added support for multiple cores.
GicV3::newnow takes the CPU count and redistributor stride,
and various other method take a cpu index.
Bugfixes
- Fixed
GicV3::setupnot to write to GICD IGROUPR[0]. - Fixed
GicV3::enable_interruptnot to write to GICD for private interrupt IDs. - Return
Nonefromget_and_acknowledge_interruptforSPECIAL_NONE.
Improvements
- Added more interrupt types to
IntId, and public constants for number of each type. - Added constants to
IntIdfor special interrupt IDs. - Added methods to read type register and its fields.
- Added
set_group,redistributor_mark_core_awakeand other methods toGicV3. - Added support for GICv2 in a separate
GicV2driver. - Added support for aarch32.