Releases: google/arm-gic
Releases · google/arm-gic
0.6.0
Breaking changes
- Changed type of various fields on
Gicr
. - Changed type of
Sgi
nsacr
field. - Added
pwrr
field toGicr
. - Renumbered implementation defined fields in
Gicr
.
Bugfixes
- Fixed example in crate documentation.
- Fixed
GicV3::setup
to only configure SPIs which exist.
Improvements
- Added fakes for
irq_disable
,irq_enable
andwfi
. - Added
GicV3::gicr_power_on
andGicV3::gicr_power_off
methods for GIC-600
and GIC-700.
0.5.0
Breaking changes
- Added
SgiTargetGroup
parameter toGicV3::send_sgi
to specify which group of interrupt should
be generated. - Added
InterruptGroup
parameter toGicV3::get_and_acknowledge_interrupt
and
GicV3::end_interrupt
.
Improvements
- Added new method
GivV3::get_pending_interrupt
to check for a pending interrupt without
acknowledging it. - Added
GicV3::gicr_typer
method to return aGicrTyper
.
0.4.0
0.3.0
Breaking changes
- Added
AlreadyAsleep
variant toGICRError
enum. - Changed
GicV3::gicd_ptr
,GicV3::gicr_ptr
andGicV3::sgi_ptr
to return aUniqueMmioPointer
. GicV2
andGicV3
now have a lifetime parameter, indicating the lifetime for which the driver
has exclusive access to the MMIO regions of the GIC.GicV2::new
andGicV3::new
now take pointers to register struct types rather than*mut u64
.
Improvements
- Made
IntId::is_sgi
public. - Made
IntId::is_*
methods const. - Added
GicV3::redistributor_mark_core_asleep
method. - Made
gicv2::registers
public.
0.2.2
0.2.1
0.2.0
Breaking changes
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.
Bugfixes
- 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
.
Improvements
- 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.