Commit Graph

4467 Commits

Author SHA1 Message Date
Gerwin Klein 42e174ce1f isabelle-2021: additional word lemmas
These were needed in the rest of the Isabelle2021 update.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-09-30 16:53:17 +10:00
Gerwin Klein 0dba5d8331 word_lib: sync with AFP
This commit makes set_bit possible to instantiate for type nat.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 0bc533943b isabelle-2021: update CSpec
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 953cc78732 isabelle-2021: update AsmRefine
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein ee8dbcb09c isabelle-2021: AutoCorres update
includes Word_Lib tweaks

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 7f94f3d8cb isabelle-2021: clib update
Mostly related to Word_Lib changes.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 90032b64b5 isabelle-2021 cparser: Word_Lib include
Word_Lib was included multiple times in the graph, leading to name
shadowing. This commit makes Addr_Type the single point of entry.

Includes some cleanup/warning reductions.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 4afa4734a5 word_lib: remove unused theories
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 8715767431 word_lib: reduce warnings
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 84fc895f21 word_lib: Word_x shadow each other
Word_32 and Word_64 shouldn't be included at the same time, they
both define default word_size and other notions. This commit refactors
them to be usable independently and also makes the type names available
independently from all of the Word_x theories.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 9d7efd75e2 isabelle-2021: cparser+tests update
This includes a tweak to Word_Lib to simplify ucast(-1) which
is now a term that occurs more often.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein f2fc2345fe isabelle-2021: update Lib
This includes the removal of the theory Extend_Locale, which was an
(unused) experiment.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Florian Haftmann d61cffcf61 isabelle-2021: adjusted to new naming convention
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Florian Haftmann ea9a25950d isabelle-2021: ad-hoc adjustions to preview
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 83710a1d81 isabelle-2021: Lib update
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 411b4221b1 isabelle-2021: sync Simpl with AFP
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 28bc26c925 isabelle-2021: HOL-Word now in HOL-Library
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein dadb0b9f0a isabelle-2021: sync Word_Lib from AFP
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 66a2dc621a testboardpush: fix URL processing
Had missed the `:` suffix in the git URL, so the ssh URL test would
never succeed.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-09-28 11:39:31 +10:00
Gerwin Klein ce302e0c65 testboard: alwaus use https URLs
The AWS test runner does not have a GitHub ssh key, so can only
access repositories via https.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-09-22 15:31:46 +10:00
Gerwin Klein 512f62858a autocorres: update project link
Moved from D61 to https://trustworthy.systems

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-25 11:22:05 +10:00
Gerwin Klein 06e83ccff5 READMEs: update software links
These have also moved to https://trustworthy.systems

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-25 11:22:05 +10:00
Gerwin Klein 81b95eb6bf READMEs: fix publication links
PDFs and abstracts have moved to trustworthy.systems/

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-25 11:22:05 +10:00
Gerwin Klein 349309ebf5 github: trigger proof run on manifest update
The repository_dispatch event will be generated in the
verification-manifest repo when devel.xml is updated by anyone other
than the seL4-ci user.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-18 10:44:48 +10:00
Gerwin Klein 944df7055b github: no PR proof run for text file updates
Save some CI cycles by not running the full proofs for each
documentation update.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 21:55:00 +10:00
Gerwin Klein 4b6d390ecd trivial: misc/bump/README update
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 17:06:52 +10:00
Gerwin Klein b64bd15816 cleanup: fix indent and warnings
This fixes up some atrocious indentation and removes some warnings for
duplicate rules etc.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 16:47:10 +10:00
Gerwin Klein 5d895508a2 arm: fix Machine_C assumptions
Some of the assumptions in Machine_C were about C functions that do not
exist (any more, presumably after some change in C). This means these
names were free variables and the rules could in theory be applied to
any function, potentially causing unsoundness. Luckily, we were
disciplined enough in the proofs not to have done that. The proofs with
the names fixed go through unchanged.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 16:47:10 +10:00
Gerwin Klein 6fd6d6bd48 arm/arm-hyp: proof updates for Arm cache fix
This commit updates the proofs for seL4/seL4#485, which fixes
the security and correctness bug seL4/seL4#481. The bug was that
caches are not sufficiently flushed in retype for frames that can
be mapped uncached later.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 16:47:10 +10:00
Gerwin Klein 34eaf81367 testboard: print GitHub commit URL
Useful for copy/paste into PR comments to link to the testboard
results, or just to see them manually.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 10:35:11 +10:00
Gerwin Klein 4cf76886f4 testboard: add dry-run option
Mostly for testing, to inspect what manifest is being constructed
without triggering tests.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 10:35:11 +10:00
Gerwin Klein 494ea6af8d testboard: less noise standard output
Use '> ' instead of '[log] ', since this is not a log file but
usually read interactively.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 10:35:11 +10:00
Gerwin Klein afdcbf13ee testboard: use https URLs
The test runner does not have ssh access to GitHub, so can't use
ssh:// URLs. This means the tested revisions need to be public, but
since this is meant for foundation use, that should be fine.

(The testboard itself is public anway)

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-16 10:35:11 +10:00
Gerwin Klein 6bb3f6e64f README.md: show CI status for master and rt
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-14 15:59:10 +10:00
Gerwin Klein 100cf0c281 github: run push-checks on rt branch as well
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-14 15:59:10 +10:00
Gerwin Klein 3c1f9a8f58
github: deploy manifest after test on master (#323)
This refactors the proof runs into a separate run for the master branch
(which has deployment) and development branches (currently RT and PRs).

For the test on the master branch, we need to make sure that all tests
and the deployment action see the same revisions of all participating
repos.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-12 09:09:32 +10:00
Zoltan A. Kocsis 179a4d7acc
docs: add setup instructions for PIDE plug-ins (#319)
Signed-off-by: Zoltan Kocsis <zoltan.kocsis@data61.csiro.au>
2021-08-06 16:33:35 +10:00
Gerwin Klein bd844fbfff github: scheduled external + weekly clean proofs
External means default.xml and vanilla Isabelle instead of internal TS
Isabelle and devel.xml.

The weekly clean test runs without reading the proof image cache,
writing back a fresh cache state.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-07-31 08:57:50 +10:00
Miki Tanaka 7648bf01e1 arm/arm_hyp/x64/riscv refine: add a method for setter valid_idle' rules
- in VSpace_R
- the same method added to each arch; would be good to unify via
  arch split in the future
- also includes some style cleanup

Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka 99223bdb7e riscv crefine: proof fix for idle_tcb'/valid_idle' change
Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka bfef8d9601 arm InfoFlowC: proof fix for removing magic number cleanup etc
Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka ff755a945d x64 crefine: fixes for idle_tcb'/valid_idle' change
Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka fe2329dbb9 arm_hyp crefine: fixes for idle_tcb'/valid_idle' change
Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Mitchell Buckley 376cc707b6 crefine ARM: fixup for recent cleanup
Signed-off-by: Mitchell Buckley <Mitchell.Buckley@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka 09434ab8ff x64 refine: define valid_idle' directly, without using itcb
Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka 4da06d81ad armhyp refine: define valid_idle' directly, without using itcb
- this introduces idle_tcb' which is defined directly using tcb fields
- backport from MCS ARM Refine

Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka d054484474 arm refine: define valid_idle' directly, without using itcb
- introduces idle_tcb' defined using tcb fields
- backport from MCS

Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka de7c2f7605 riscv refine: define valid_idle' directly, without using itcb
- this introduces idle_tcb' which is defined directly using tcb fields
- backport from MCS ARM Refine

Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Miki Tanaka 4ecf7755f3 arm refine: remove magic numbers from valid_irq_node' and global_refs'
Signed-off-by: Miki Tanaka <miki.tanaka@data61.csiro.au>
2021-07-24 12:09:57 +10:00
Ryan Barry a99a2bf739 various: resolve some existing fixmes
Signed-off-by: Ryan Barry <ryan.barry@unsw.edu.au>
2021-07-22 10:44:43 +10:00