History log of /seL4-l4v-10.1.1/HOL4/examples/l3-machine-code/common/stateLib.sml
Revision Date Author Comments
# 5a3e2622 13-Jun-2018 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Avoid some "inventing new type variable" messages.


# 3de6da44 27-Mar-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix examples/l3-machine-code


# 56e7671d 17-Aug-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

stateLib.write_footprint was not working on the experimental kernel.


# 8be6216b 27-May-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Improve stateLib.PC_CONV.

Works better with conditionals.


# d7726677 15-Feb-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update L3 examples.

Most changes relate to Poly/ML moving to fixed-width integers.


# aa23933d 29-Jan-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Opening lcsymtacs is no longer necessary.


# d5ee45bd 20-Jan-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Various updates to the L3 examples.

Most changes are brought about by improvements and generalisations within stateLib and utilsLib.

A Holmakefile has been added to a new decompilers sub-directory and some *decomp_demoScript files have also been added. This makes it easier to perform regression testing.


# b2f6c17e 12-Jun-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Simplify the x86-64 model under L3 examples.

The instruction cache has been removed, together with the CPUID instruction. Also, the memory now has type ``: word64 -> word8`` instead of ``: word64 -> word8 option``.


# e8330675 26-May-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Improve the interface to stateLib.update_frame_state_thm.

Also add some explanatory comments within stateScript.sml.


# ac817518 11-May-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Modify the type of HolKernel.syntax_fns and add some documentation.

This is in response to issue #247.

The change to the type makes things a little more natural when using partial applications - for example, HolKernel.syntax_fns1 can be used to provide syntax support for regular unary operations.


# cd6c9672 05-Mar-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Towards decompilation of MIPS.

Fails for code with branches.

Contains minor changes elsewhere (e.g. handling of endianness and quotations).


# 5119d3f3 05-Feb-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update ARM tools.

Provides support for a few more instructions.


# bbe4fa68 27-Jul-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for L3 examples.

Fixes a potential problem with the handling of word replicate.

Moves some shared code into stateLib (the register_combinations function).

Some other minor fixes.


# fcf3d858 16-Jul-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Guard against some parsing problems.


# 20091f92 03-Jun-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Minor update to ARM tools.

word_memory_introduction now does a bit more simplification.


# e1db9805 29-May-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Refinement to stateLib.introduce_map_definition.

Should do a better job when simplifying reg-map updates.


# 17aa1139 08-May-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Add tool support for working with ARM instructions MRS, MSR and RFE.


# 93ac68d9 17-Mar-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Fix for x86 decompilation with regards to jumps.

The x64_triples function was failing to generate two theorems and PC_CONV wasn't working for if-then-else terms.

Also support parsing of x86 condition pseudonyms, e.g. "jnae" (jump when not above or equal) is the same as "jc".


# 4069c0cd 10-Feb-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Patches following commit 0e49bf8.


# bb4403ed 15-Nov-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

The ARMv7 tools now support another memory representation.

Memory can now be treated as a map of type ``:word32 -> word32``.

Also reworked the tools with respect to the handling of word endianness.


# e5073aed 04-Nov-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Updates for machine-code tools.

Added support for introducing SEP_ARRAY predicates for memory operations (applied to the ARM and M0 models).


# 44dc16f2 18-Oct-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Support for generating TEMPORAL triples.

Currently works for ARM, M0 and MIPS models. Yet to update the x86-64 model.


# e609174b 16-Oct-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

The ARM-M0 model is now hooked up to the "core/fast" decompiler.


# 8d08dc89 11-Oct-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Various updates/improvements to the decompiler tools.


# a1e028ec 02-Oct-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update M0 tools.

Minor updates to other ISA tools.


# fe246e44 01-Oct-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Updates and improvements to the l3-machine-code decompilation tools.


# 40807410 27-Sep-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Further updates to the tools linking the L3 ARM model to the decompiler.

A lot of code has been generalised (making it usable with other models) and the performance has been improved.


# ea82f495 30-Aug-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

The Hoare-triples for PC-relative loads now have immediate values appearing in the code-pool.

This affects the triples that are generated for instruction such as "ldr r1, [pc, #12]".

The tools for the other ISA models need minor updates following changes in stateLib.


# 4241aecc 19-Jul-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update to stateLib.


# 73bf1a4d 08-Jul-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Reorganisation of files under examples/l3-machine-code.