History log of /seL4-l4v-master/l4v/tools/asmrefine/SimplExport.thy
Revision Date Author Comments
# a424d55e 09-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

licenses: convert license tags to SPDX


# c1747628 17-Dec-2019 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

asmrefine: Add support for 64-bit architectures.


# c0a2d54c 26-May-2019 Gerwin Klein <gerwin.klein@data61.csiro.au>

asmrefine: update to Isabelle2019; reduce warnings


# 75b38be0 26-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Isabelle2018: new AsmRefine session + test


# 6b9d9d24 09-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Isabelle2018: new "op x" syntax; now is "(x)"

(result of "isabelle update_op -m <dir>")


# 796887d9 11-Jul-2017 Alejandro Gomez-Londono <alejandro.gomez@nicta.com.au>

Removes all trailing whitespaces


# 971c6782 09-Mar-2017 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Support extra specs, ctzl, clzl in SimplExport.

This patch permits the user to supply additional specs for functions
whose bodies were not imported (DONT_TRANSLATE or not present in parsed
C source). Those specs are exported by SimplExport.

The existing apparatus can import builtin functions like ctzl/clzl in C
sources by admitting them without bodies (DONT_TRANSLATE) and giving
them axiomatic Hoare triples (FNSPEC).

Translation validation then requires export of useful semantics. The user
can supply a made-up body, and show that it is a refinement of the body
that the parser created (derived from the FNSPEC and MODIFIES clauses).
The body must export out the graph language correctly. For ctzl/clzl etc
this is easy.


# dbd226f8 16-Feb-2017 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

SimplExportAndRefine: length 1 arrays.

This creates an issue because "unat x < 1" is reduced to "unat x = 0"
by the simplifier, meaning the unat_mono tactic doesn't get to operate on
it. The fix is pretty easy. Also includes some extra investigation material.


# 41d4aa4f 25-Oct-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: update references to renamed constants and facts


# 8e7c55c1 11-Jul-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Handling of AsmStmt in c-parser, more tests.

The C-parser contains a full parser for __asm__ syntax but
up until now hasn't done anything with it. Instead we export
some semantics. It's unspecified exactly what these semantics
are but they are parametrised with the __asm__ semantics that
went in to them, so the translation validation has something
to reason about.

Tweak modifies proofs as a result, and add some more test files.


# 0128e3b6 01-Jun-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Handle another operation in SimplExport.

Handle pointer comparison operations in SimplExport.


# 322f1023 18-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

word_lib: adjust theory dependencies


# 10ac0545 04-Feb-2016 Matthew Brecknell <Matthew.Brecknell@nicta.com.au>

Isabelle2016: SimplExportAndRefine updated for RC3


# df404257 02-Dec-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Repair SimplExport/GraphRefine.


# e2c5e1eb 23-Nov-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Treat guarded_spec_body like Spec in asmrefine.

The parser now emits guarded_spec_body for underspecified functions,
not Spec. SimplExport now treats them the same.


# bd928d17 17-Aug-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Try to avoid emitting const-globals via memory.

Sometimes it's simpler to access an unknown field of a const
global by just computing the offset from its symbol in memory
and assuming the relevant words are in the .rodata section. But
for known fields, it's easier to just figure out what the
constant value is. This complicates the proof slightly, since
it has to guess which case it is in.


# 99e7f82d 10-Aug-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Space out the CFunDump.txt file.

It's much easier to read that way.


# e4ab39f0 28-Jul-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Repair merge.


# a0b3a569 01-Jul-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Really add all necessary PGlobalValid assertions.


# 4211cd2b 15-Jul-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Progress on upgrading GraphRefine.

Needed to handle new concepts being exported from Simpl.


# 53e1c0c7 14-Jul-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Update to SimplExport, fixes.


# 44799b76 01-Jul-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Really add all necessary PGlobalValid assertions.


# ca439188 21-May-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

WIP on WCET annotations.


# a9bebcfe 21-May-2015 Gerwin Klein <gerwin.klein@nicta.com.au>

asmrefine: 2015 udpate


# 17826f9b 18-Apr-2015 Gerwin Klein <gerwin.klein@nicta.com.au>

more Isabelle2015 update; AInvs up to (excluding) Syscall_AI

also includes some global replacements


# 665a3c15 30-Sep-2014 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Restore global valid assertions in graph refine.

The global-object pointer validity assertion is now created at
export time, and the graph refine mechanism now proves them. It
seems they were forgotten about once again in adjusting the globals
logic.


# 923bfec5 22-Sep-2014 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Update graph-refine for StaticFun change, bugfix.


# aacaf3c8 09-Sep-2014 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Fix asmrefine stuff for 2014 branch.


# 0346fb20 26-Aug-2014 Thomas Sewell <Thomas.Sewell@nicta.com.au>

SIMPL->Graph proofs largely working.


# 0c52978d 20-Aug-2014 Thomas Sewell <Thomas.Sewell@nicta.com.au>

More asmrefine work, global swapping ready.


# 84595f42 17-Jul-2014 Gerwin Klein <gerwin.klein@nicta.com.au>

release cleanup


# 2a03e81d 14-Jul-2014 Gerwin Klein <gerwin.klein@nicta.com.au>

Import release snapshot.