Skip to content

Releases: google/aarch64-rt

0.4.3

Choose a tag to compare

@qwandor qwandor released this 23 Feb 00:20

Improvements

  • Added suspend_core function to wrap PSCI CPU_SUSPEND call, with warm_boot_entry as the entry
    point and SuspendContext to pass to it.

Fixes

  • Marked .bss section as NOLOAD.

0.4.2

Choose a tag to compare

@qwandor qwandor released this 16 Dec 16:09

Fixes

  • Made enable_mmu unsafe.

0.4.1

Choose a tag to compare

@qwandor qwandor released this 16 Dec 16:03

Improvements

  • Made set_exception_vector public.
  • Made enable_mmu public.

0.4.0

Choose a tag to compare

@qwandor qwandor released this 04 Dec 18:00

Breaking changes

  • Added ExceptionHandlers trait and exception_handlers! macro to define exception handlers,
    rather than relying on global symbols.
  • Added RegisterStateRef parameter to exception handlers to access the saved register state, and
    removed ELR and SPSR parameters.
  • start_core now takes an FnOnce rather than an fn and an argument. This allows arbitrary
    context to be captured in the closure.

0.3.1

Choose a tag to compare

@qwandor qwandor released this 04 Dec 18:00

Bugfixes

  • Fixed bug with four-argument version of initial_pagetable! swapping TCR and SCTLR values.

0.3.0

Choose a tag to compare

@qwandor qwandor released this 04 Dec 18:00

Breaking changes

  • Changed order of parameters to initial-pagetable macro, to make TCR last.

Improvements

  • If the initial-pagetable or exceptions features are specified without any of the elX
    features, then the exception level will be checked at runtime and the appropriate registers for
    the current EL will be used. The el1 feature is no longer enabled by default, as this runtime
    detection should work instead. Note that different ELs have different TCR registers which aren't
    laid out entirely the same, so different values must be specified for TCR for each EL.
  • Exposed enable_mmu! macro to allow the MMU and caches to be enbled with an arbitrary initial
    pagetable, rather than using initial_pagetable! to declare the static.

Bugfixes

  • Stopped exposing unmangled symbols for set_exception_vector and rust_entry.

0.2.2

Choose a tag to compare

@qwandor qwandor released this 04 Dec 17:59

Improvements

  • Added optional parameters to initial_pagetable! to allow initial MAIR, TCR and SCTLR values to
    be specified. The default values are exposed as constants.

0.2.1

Choose a tag to compare

@qwandor qwandor released this 04 Dec 17:59

Bugfixes

  • Fixed build failure when psci feature was enabled without exceptions feature.

0.2.0

Choose a tag to compare

@qwandor qwandor released this 04 Dec 17:58

Breaking changes

  • vector_table renamed to vector_table_el1.
  • start_core now takes a type parameter to choose whether to use an HVC or SMC PSCI call.

Bugfixes

  • Save and restore correct ELR and SPSR registers when handling exceptions in EL2 or EL3. New vector
    tables vector_table_el2 and vector_table_el3 are provided for these.

0.1.3

Choose a tag to compare

@qwandor qwandor released this 04 Dec 17:58

Improvements

  • Set exception vector on secondary cores too.