Commit graph

362 commits

Author SHA1 Message Date
Adrian Danis
8e5921c6a7 bitfield: Allow for controlling how many bits of a word are actually used, and whether the rest of the bits are signed extended or not 2015-06-22 14:42:41 +10:00
Adrian Danis
f8ea6f22b9 bitfield: Allow for using different bases throughout a bitfield file 2015-06-22 11:58:11 +10:00
Adrian Danis
a34bc7de30 bitfield: Extend bitfield generator to add a size suffix onto constant mask values 2015-06-22 11:57:52 +10:00
Matthew Fernandez
5ee3971563 bf gen: Add a backend for AutoCorres.
This commit adds a two new output targets for the bitfield generator,
--autocorres-defs and --autocorres-proofs. These produce, respectively,
abstract definitions of the generated C functions suitable for use in
AutoCorres proofs and WP/simp lemmas suitable for use within AutoCorres proofs
of functions that call the generated C functions. Existing behaviour and
functionality should be unaffected.
2014-11-06 15:07:20 +11:00
Matthew Fernandez
701b3bfff4 bf gen: Fix: Check UMM types is known before generating HOL proofs. 2014-11-06 10:52:17 +11:00
Matthew Fernandez
9e6750e8a4 bf gen: Fix: Prevent using stdout when writing HOL defs/proofs.
Stdout is not suitable as an output target for these things.
2014-11-06 10:52:06 +11:00
Matthew Fernandez
1d51025fe8 bf gen: Removed some undefined bit shifts.
The bitfield generator constructs tags as enums. The compiler is free to back
these by any type big enough to cover the enum. The generator emits code that
uses these tag values in mask and shift operations where the target type is
typically a uint32_t. As a result, it can produce code involving undefined
shifts like:

 (seL4_CapData_Badge & 0x1) << 31

This commit casts the tag value to the unsigned target type before masking to
ensure everything is done on an appropriate sized unsigned type.

JIRA: SELFOUR-193
2014-10-28 16:48:26 +11:00
Matthew Fernandez
3b6321f28a bf gen: Fix missing include.
The bitfield generator uses the macros CONST and PURE which, for libsel4, are
defined in macros.h.
2014-10-28 11:41:14 +11:00
Matthew Fernandez
03ee240ef1 bf gen: Fix whitespace in constructors and getters. 2014-10-27 13:58:22 +11:00
Adrian Danis
7d877465de ia32: Move as much of the interrupt and syscall traps into C as possible 2014-08-12 14:00:28 +10:00
Max R.D. Parmer
da5ec79cf9 Use usr/bin/env for all python bangpaths to enable virtualenv use.
Very useful with python3 as the default platform.
2014-08-03 18:53:14 -07:00
TrusthworthySystems
91b7da8625 Release snapshot 2014-07-18 05:03:59 +10:00