#
5362c6b2 |
|
06-Aug-2020 |
Matthew Brecknell <Matthew.Brecknell@data61.csiro.au> |
bitfield_gen: update proofs to support RISC-V MCS Signed-off-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
|
#
a09d6f02 |
|
06-Aug-2020 |
Matthew Brecknell <Matthew.Brecknell@data61.csiro.au> |
bitfield_gen: emit fields in visible order Signed-off-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
|
#
4c0f16c7 |
|
19-Jul-2020 |
Edward Pierzchalski <ed.pierzchalski@data61.csiro.au> |
bitfield_gen: fixups for MCS Changes the 'size suffix map' to be useful in more places. In general, when we use the 'short name' of a variable in these generated proofs, we run the risk of a change in variable declaration order breaking the resulting proofs (since declaration order is how the C parser chooses which variables get the short name). Best practice is to use the long names whenever possible. Uses the suffix map for some generated proofs. Removes an unnecessary simp step. Signed-off-by: Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>
|
#
79da0792 |
|
01-Mar-2020 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
Convert license tags to SPDX identifiers This commit also converts our own copyright headers to directly use SPDX, but leaves all other copyright header intact, only adding the SPDX ident. As far as possible this commit also merges multiple Data61 copyright statements/headers into one for consistency.
|
#
047ab927 |
|
24-Feb-2020 |
Luca(Wei) Chen <Wei@cvluca.com> |
bitfield_gen: explicit branch predications gcc8 might get wrong branch predications on these condition checks, and it could break the code layout.
|
#
5ebe5526 |
|
11-Dec-2019 |
Matthew <matt.phillips121@gmail.com> |
Add the suffix to the bitfield generation Clang complains about shifting signed numbers so we need to make sure it knows it is unsigned
|
#
cfc544ab |
|
30-Jul-2019 |
Edward Pierzchalski <ed.pierzchalski@data61.csiro.au> |
bitfields: Specify iteration order over dicts In Python 3, dict value iterators aren't deterministic between runs, which causes nondeterministic definition output order. Some L4V proofs are sensitive to this order. Use sorted keys to guarantee order when iterating over values.
|
#
bc61a7f3 |
|
24-Jun-2019 |
Anna Lyons <anna@gh.st> |
python2 --> python3 Update all scripts and build system to call python3, given python2's upcoming doom. Use sys.maxsize instead of sys.maxint in one script (maxint does not exist in python3).
|
#
cf57914c |
|
26-Mar-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
style: run autopep8 on python files
|
#
1283345b |
|
18-Jul-2018 |
Edward Pierzchalski <ed.pierzchalski@data61.csiro.au> |
bitfield_gen: merge clarsimp/simp in generated proofs The old generated proofs would fail if a simp set change made `clarsimp` discharge what `simp` simplified.
|
#
880686dd |
|
23-Aug-2018 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
bitfield_gen: Improve prune list generation time Previously this would create a very big regex to parse the input sources. This didn't scale as well on architectures with more bitfield objects
|
#
fe955b5b |
|
19-Dec-2017 |
Matthew Brecknell <Matthew.Brecknell@data61.csiro.au> |
Improve generated bitfield proofs For bitfields requiring sign extension, the generated specs are nicer to work with in proofs. The proofs also support an updated `sign_extend` specification (in the l4v repository) which has nicer properties. This change also speeds up some bitfield proofs.
|
#
960881d0 |
|
18-May-2017 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
tools bitfield_gen: proof updates for new base + sign-extension mechanism
|
#
3b330f9a |
|
17-May-2017 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
tools bitfield_gen: use hex literals in proofs and specs
|
#
38ba9e40 |
|
17-May-2017 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
tools bitfield_gen: simplify theory imports; conform to style
|
#
0a99d7d4 |
|
17-May-2017 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
tools bitfield_gen: remove obsolete mask comments (These masks existed in earlier versions of the bitfield proofs, removed because the statements were stronger without them.)
|
#
c57ea388 |
|
17-May-2017 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
tools bitfield_gen: use generic base instead of word32 in proofs
|
#
64cf2308 |
|
18-Jun-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
tools: fix licenses
|
#
07f94833 |
|
18-Jun-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
libsel4: fix licenses - some were incorrectly marked GPL (libsel4 is BSD) - update NICTA --> DATA61 etc - fix tags D61 --> DATA61 - update year to 2017
|
#
943f1ab0 |
|
20-May-2017 |
Matthew Brecknell <matthew@brecknell.net> |
bitfield_gen: generate more efficient *_new and *_ptr_new functions For blocks and unions, generate only one write for each word, rather than an update for each bitfield. For verification, this speeds up some automatically generated proofs.
|
#
85a0e441 |
|
04-May-2017 |
Luke Mondy <luke.mondy@data61.csiro.au> |
By not writing a parse.py table, we avoid the parallel build issue of corrupted parse.py files
|
#
8c93b71c |
|
21-Feb-2017 |
Stephen Sherratt <Stephen.Sherratt@data61.csiro.au> |
Import reduce from functools in python scripts
|
#
803dd5c2 |
|
24-Nov-2016 |
Jeff Waugh <jdub@bethesignal.org> |
libsel4: Optional public symbols for external interfaces CONFIG_LIB_SEL4_PUBLIC_SYMBOLS=y will disable inlining for external interfaces (except deprecated functions), thereby providing public symbols for easy linkage with other languages.
|
#
79610f4c |
|
29-Nov-2016 |
Stephen Sherratt <Stephen.Sherratt@data61.csiro.au> |
Bitfields generated with ply rather than yacc
|
#
13ad834a |
|
15-Sep-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Generated bitfield proofs: use hrs_mem_update. This is a technical change to the proof mode of the bitfield generator included in the seL4 source. The postconditions of the generated specifications of the *_ptr_set and *_ptr_new functions now describe the entire new heap via (new_heap = hrs_mem_update (...) old_heap). Previously they described the contents of various projections of the heap, which is less precise.
|
#
c517dba4 |
|
19-Jun-2016 |
Japheth Lim <Japheth.Lim@nicta.com.au> |
bitfield_gen: write output files atomically
|
#
7a9b81d2 |
|
06-Jun-2016 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
Revert "bf gen: Add a backend for AutoCorres." This reverts commit 5ee397156373709f58c37f217e9b914017d67e99. This backend was previously used in an experiment towards libsel4 verification. That project has since adopted a different strategy and this backend is now unused. Meanwhile the backend has lagged behind breaking changes to AutoCorres. This commit removes the backend to avoid confusion from users who believe it to be functional.
|
#
bea92de3 |
|
20-Mar-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Verification: adjust use of new bf proof features. Apologies, some final adjustments got lost in the previous pull request round. This version actually works.
|
#
13715658 |
|
14-Mar-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Verification: bf: use new proof features. The plan here is to move some of the proof script complexity embedded in the text of the bitfield_gen utility into generic proof helpers in the l4v repository that bitfield_gen can use more modularly. This is a simple first step.
|
#
41d98e45 |
|
24-Jan-2016 |
Corey Richardson <corey.richardson@nicta.com.au> |
tools: bitfield_gen: use six to access range (py3) or xrange (py2)
|
#
8ab5e037 |
|
24-Jan-2016 |
Corey Richardson <corey.richardson@nicta.com.au> |
tools: bitfield_gen: use itertools.chain instead of concatenating lists This isn't efficient in Python, and moreover in python3 these methods return iterables, not lists.
|
#
486aefc2 |
|
24-Jan-2016 |
Corey Richardson <corey.richardson@nicta.com.au> |
tools: bitfield_gen: use integral (//) instead of duck-typed division (/)
|
#
6ad22730 |
|
24-Jan-2016 |
Corey Richardson <corey.richardson@nicta.com.au> |
tools: bitfield_gen: iterable->list for optparse
|
#
22a1c15a |
|
24-Jan-2016 |
Corey Richardson <corey.richardson@nicta.com.au> |
tools: bitfield_gen: use '... in ...' instead of dict.has_key
|
#
424e74e8 |
|
21-Jan-2016 |
Corey Richardson <corey.richardson@nicta.com.au> |
tools: bitfield_gen: use print_function
|
#
703dcaca |
|
21-Jan-2016 |
Corey Richardson <corey.richardson@nicta.com.au> |
tools: bitfield_gen: remove trailing whitespace
|
#
94b02162 |
|
07-Dec-2015 |
Joel Beeren <joel.beeren@nicta.com.au> |
conversion: fixed bitfield generator, clz spec
|
#
7d3622f0 |
|
26-Jun-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
bitfield: Correct assertions when using sign extended bases
|
#
e653f8f6 |
|
09-Jul-2015 |
Wink Saville <wink@saville.com> |
Streamline libsel4 and remove its libc dependencies. There are now separate libs for benchmark, assert, printf, putchar start/stop: libs/libsel4benchmark libs/libsel4assert libs/libsel4printf libs/libsel4putchar libs/libsel4startstop The primary changes are introducing sel4/sel4.h and removing std* types plus porting assert and IO code from the kernel to libsel4assert, libsel4printf, libsel4putchar. This means the code within libsel4 and the newlibs do not overload any typical libc entities. Instead the libraries use types like seL4_Uint32 ... instead of uint32_t. And printf is now seL4_Printf and assert is seL4_Assert .... Finally, the only file modified that effects kernel code is kernel/tools/bitfield_gen.py. It needed to be modified as it generates files for both kernel and user space. And for user space the generated code (types_gen.h) needed to use the new types and asserts. The changes should not change what is generated for the kernel and I did a comparison of kernel_final.{c|s} before and after my change and the only differences were time stamps. Bug: #15 Streamline kernel/libsel4 and remove its libc dependencies
|
#
8e5921c6 |
|
19-Jun-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
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
|
#
f8ea6f22 |
|
17-Jun-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
bitfield: Allow for using different bases throughout a bitfield file
|
#
a34bc7de |
|
02-Jun-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
bitfield: Extend bitfield generator to add a size suffix onto constant mask values
|
#
5ee39715 |
|
27-Oct-2014 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
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.
|
#
701b3bff |
|
27-Oct-2014 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
bf gen: Fix: Check UMM types is known before generating HOL proofs.
|
#
9e6750e8 |
|
27-Oct-2014 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
bf gen: Fix: Prevent using stdout when writing HOL defs/proofs. Stdout is not suitable as an output target for these things.
|
#
1d51025f |
|
27-Oct-2014 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
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
|
#
3b6321f2 |
|
27-Oct-2014 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
bf gen: Fix missing include. The bitfield generator uses the macros CONST and PURE which, for libsel4, are defined in macros.h.
|
#
03ee240e |
|
26-Oct-2014 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
bf gen: Fix whitespace in constructors and getters.
|
#
91b7da86 |
|
17-Jul-2014 |
TrusthworthySystems <gatekeeper@sel4.systems> |
Release snapshot
|