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

Overhaul arch-split in machine, ASpec and AInvs #805

Merged
merged 12 commits into from
Aug 8, 2024

Commits on Jul 26, 2024

  1. arm-hyp: use ARM_HYP_A global prefix consistently in ASpec

    It was a mix of ARM_A and ARM_HYP_A previously. AInvs+Refine+CRefine
    needed updates.
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    fe49331 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. arm+arm-hyp aspec: drop qualification from vgic_update_lr

    (already in Arch locale)
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    3f9be06 View commit details
    Browse the repository at this point in the history
  2. ainvs: global_naming -> arch_global_naming

    Implicitly use L4V_ARCH for global_naming prefix.
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    f6e5e4d View commit details
    Browse the repository at this point in the history
  3. ainvs: deploy arch_requalify infrastructure

    * try get rid of `interpretation Arch .` (slow) in lieu of `(in Arch)`
      (faster) or proper requalifying (nearly instant)
    * get rid of requalifications that were already requalified, or were
      global (thanks to new warnings)
    * put arch_global_naming on same line as `context Arch begin`
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    532fa2c View commit details
    Browse the repository at this point in the history
  4. ainvs+x64 refine: add missing arch_global_naming

    * get rid of `global_naming Arch`, this is no longer needed since we can
      requalify directly from `arch_global_naming` with `arch_requalify`
      commands
    * add missing `arch_global_naming` for `context Arch`, for consistency
    * update X64 Refine `Arch.` references (other arches did not need this)
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    a9739ea View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. ainvs: move Arch theory requalifies to generic

    * prevent duplication between arches by moving requalifications from
      Arch theories to generic ones
      * this strategy is not available for new constants that are introduced
        in the Arch locale that need to be referenced in generic definitions
        or locale instantiations
    * fix up the inconsistent qualification of set_cap_valid_arch_caps_simple
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    6ab4f4c View commit details
    Browse the repository at this point in the history
  2. ainvs: disambiguate acap_rights_update_id

    Rename the wellformed_acap version to wf_acap_rights_update_id,
    and the valid_arch_cap version to valid_acap_rights_update_id.
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    2310b6a View commit details
    Browse the repository at this point in the history
  3. machine+aspec: use arch_requalify commands

    Avoid unnecessary Arch context interpretation (slow).
    Remove attempts at requalifying entities that are already generic
    (misleading).
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    026db65 View commit details
    Browse the repository at this point in the history
  4. aspec: global_naming -> arch_global_naming

    Makes global_naming implicit (based on L4V_ARCH).
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    713190d View commit details
    Browse the repository at this point in the history
  5. arm-hyp+aarch64: bring arch_check_irq into Arch locale

    This was generic on these two architectures, not consistent with others.
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    219da12 View commit details
    Browse the repository at this point in the history
  6. arm+arm-hyp: remove duplicated ASpec asid bit definitions

    MiscMachine_A already contains asid_high_bits, asid_low_bits and
    asid_bits. Other architectures don't duplicate them in Arch_Structs_A,
    so ARM and ARM_HYP shouldn't either.
    
    For ARM, this also means fixing up DRefine+DPolicy+CamkesCdlRefine to
    refer to the MiscMachine_A definitions when needed (CapDL duplicates
    them again in Types_D, but as they don't import machine theories, those
    can't be removed).
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    10bfc2f View commit details
    Browse the repository at this point in the history
  7. ainvs: remove old arch-split FIXMEs

    These proofs have been arch-split for some time now so the FIXMEs appear
    resolved. They are also non-specific, so it is impossible to tell at
    this point whether they referred to anything.
    
    Signed-off-by: Rafal Kolanski <[email protected]>
    Xaphiosis committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    a08fc9a View commit details
    Browse the repository at this point in the history