* Add GPIO interrupt support for Nordic GPIO.
* arch/ARM/Nordic/drivers/nrf_common/nrf-gpio-tasks_and_events.ad[sb]:
Added subprograms to enable, test for presence, acknowledge and
disable both channel and port interrupts.
* Correct style warnings for Nordic GPIO interrupts.
* Match Nordic GPIO changes to AdaCore style.
* arch/ARM/Nordic/drivers/nrf_common/nrf-gpio-tasks_and_events.ads
(Channel_Event_Is_Set): renamed to Channel_Event_Set.
(Port_Event_Is_Set): similarly.
* arch/ARM/Nordic/drivers/nrf_common/nrf-gpio-tasks_and_events.adb:
likewise. Keyword 'is' always on new line.
* Add RISC-V performance CSR support
* RISC-V Read_CSR_64: fix rv32 version
* RISC-V improve CSR support
Add sub-program to swap, set bits, clear bits, etc.
Instantiate sub-programs for all machine CSRs.
* arch/ARM/cortex_m/src/semihosting.adb (Write_0): Data is of new
type Byte_Array, which is a new UInt8_Array with volatile
components (FSF GCC was miscompiling at -O3).
This allows for a unified driver in families that have members on both
sides. Useful for nRF family, but also should lower-end STM32 parts become
supported in the future.