Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notif haf #6534

Merged
merged 5 commits into from
Jan 30, 2024
Merged

Notif haf #6534

merged 5 commits into from
Jan 30, 2024

Commits on Jan 29, 2024

  1. core: arm64.h: add DAIFBIT_{NATIVE,FOREIGN}_INTR

    Adds the two defines DAIFBIT_NATIVE_INTR and DAIFBIT_FOREIGN_INTR based
    on DAIFBIT_IRQ and DAIFBIT_FIQ analogous with how
    THREAD_EXCP_FOREIGN_INTR and THREAD_EXCP_NATIVE_INTR are defined.
    
    DAIFBIT_NATIVE_INTR and DAIFBIT_FOREIGN_INTR can be used in assembly
    instead of using #ifdef CFG_CORE_IRQ_IS_NATIVE_INTR.
    
    Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
    Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
    jenswi-linaro committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    b948fbf View commit details
    Browse the repository at this point in the history
  2. core: ffa: exit with native interrupts unmasked

    When exiting using the main exit/re-entry loop in
    ffa_msg_send_direct_resp(), unmask native interrupts before the SMC
    instruction and mask them again on re-entry. This guarantees that native
    (aka secure) interrupts are not pending during exit. This also means
    that when entering with FFA_INTERRUPT the interrupt will be handled
    before thread_spmc_msg_recv() so there is no need to call
    interrupt_main_handler() from thread_spmc_msg_recv() any longer.
    
    Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
    Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
    jenswi-linaro committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    6cf1372 View commit details
    Browse the repository at this point in the history
  3. core: move hafnium.h into hfic.c

    hafnium.h is only included from hfic.c so move the content into that
    file instead. Comments trying to describe the paravirtualized interface
    are removed and replaced by a link to official documentation.
    
    Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
    Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
    jenswi-linaro committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    36480a8 View commit details
    Browse the repository at this point in the history
  4. core: hfic: fix HF_INTERRUPT HVC calls

    The HF_INTERRUPT HVC calls has until now not been completely correct.
    HF_INTERRUPT_ENABLE is used to enable/disable a virtual interrupt on the
    current CPU while HF_INTERRUPT_RECONFIGURE is used to globally enable a
    physical interrupt. So update the HFIC callbacks accordingly.
    
    Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
    Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
    jenswi-linaro committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    6502bf9 View commit details
    Browse the repository at this point in the history
  5. core: ffa: add notifications with SPMC at S-EL2 or EL3

    Adds support for asynchronous notifications via FF-A with SPMC at S-EL2
    or EL3.
    
    The SPMC is probed using FFA_FEATURES(FFA_NOTIFICATION_SET) to see if
    the SPMC is support FF-A notifications.
    
    Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
    Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
    jenswi-linaro committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    b1371af View commit details
    Browse the repository at this point in the history