History log of /seL4-l4v-10.1.1/HOL4/examples/l3-machine-code/arm8/step/arm8_stepLib.sml
Revision Date Author Comments
# e5fc0f36 11-Sep-2017 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Improving naming of bit-vector signed division constants.

This renaming introduces incompatibilities:

• words$word_sdiv -> words$word_quot (this is proved to be related to int_quot for a non-zero divisor).
• words$word_srem -> words$word_rem (this is proved to be related to int_rem for a non-zero divisor).
• integer_word$word_sdiv (this is a new constant defined directly in terms of int_div).
• words$word_smod -> integer_word$word_smod (this is now defined directly in terms of int_mod).


# 36614167 19-May-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update the ARMv8 model and tools.

Some basic functions have been inlined.


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

Update for the latest version of L3.

Changes have been made when exporting operations of the form:

`f : args -> state -> value * state`

If the state is not changed then this is now exported as

`f : args -> state -> value`

If the state is changed but the `value` type is `unit` then it this is now exported as

`f : args -> state -> state`.


# 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.


# 96edb9f3 20-Nov-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for the latest version of L3, which has additional floating-point support.

Cover IEEE754:1985 behaviour for "abs" and "neg". Also adds support for "compare", "toInt" and "fromInt" at the machine level.


# 0559f3bd 14-Jul-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Make use of alignmentTheory in the l3-machine-code examples.


# 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.


# 86b39f92 13-Jan-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update ARMv8 model.

The encoder now explicitly defines an encoding function for bit-mask values. This avoids the use of a reverse look up function (implemented with sptress). Thanks to Shaked Flur for implementing the encoding algorithm.


# 06401b70 18-Nov-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for L3 machine-code examples.

Some minor changes come from using the latest version of L3 when generating SML code.

The ARMv8 model gains a function for encoding instructions (in the logic). The step tools are updated to support the NOP instruction.


# 07f50b7b 13-Oct-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for ARMv8 model and tools.

Contains some fixes for the decoder.

There is now support for assemble code syntax.


# 7a4af63c 26-Sep-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Add support for the ARMv8 instruction CCMP (register).

This instruction was inadvertently left out (only the immediate variant was modelled). A few minor changes are made elsewhere.


# d2da74b7 12-Aug-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

ARMv8 model and tools.

This model supports AArch64 mode only, i.e. there's no support for the AArch32 mode.