Alejandro Gomez-Londono
796887d9b1
Removes all trailing whitespaces
2017-07-12 15:13:51 +10:00
Joel Beeren
392d055e99
SELFOUR-748: rename tlb invalidation functions
2017-06-20 14:05:45 +10:00
Miki Tanaka
ef6e2dc32c
arm-hyp machine spec: get_gic_vcpu_ctrl_eisr1 shoud call get_gic_vcpu_ctrl_eisr1_val (fix)
2017-06-19 14:32:37 +10:00
Alejandro Gomez-Londono
8ace5b721d
arm-hyp abstract: (Fix) Correctly defining setCurrentPD
2017-06-19 14:32:32 +10:00
Rafal Kolanski
ce02f303ac
arm-hyp machine: update physBase for TK1
2017-06-19 14:32:31 +10:00
Rafal Kolanski
6c1715827c
arm-hyp machine: update maxIRQ
2017-06-19 14:32:31 +10:00
Rafal Kolanski
75492ee523
arm-hyp machine: update cache lines (32->64)
2017-06-19 14:32:31 +10:00
Gerwin Klein
de745cb2e8
haskell: adopt new getActiveIRQ parameter
2017-06-19 14:32:26 +10:00
Gerwin Klein
4ee422a392
aspec: make getActiveIRQ aware of whether we are at entry or preemption
...
Some interrupts can only occur at kernel entry, but not at kernel preemption
points. In particular interrupts that are caused by user-level code.
2017-06-19 14:32:26 +10:00
Rafal Kolanski
f00965b376
arm-hyp haskell/design: tune VGIC lr machine ops to make more sense
...
Forcing the machine ops to depend on the arguments, and switching from
nat to machine_word since there are no nats in C.
2017-06-19 14:32:25 +10:00
Rafal Kolanski
53a2826e77
arm-hyp design/abstract: clean up and indent MachineOps
2017-06-19 14:32:24 +10:00
Rafal Kolanski
3b12ece77a
arm-hyp abstract/design: add VCPU banked register machine ops
2017-06-19 14:32:24 +10:00
Rafal Kolanski
476690e91a
arm-hyp machine ops: get_gic_vcpu_ctrl_eisr*
2017-06-19 14:32:24 +10:00
Miki Tanaka
bb9d8df8e8
arm-hyp execspec/machine: callbacks and variuos vcpu functions
...
- defined callback axiomatisations
2017-06-19 14:32:19 +10:00
Miki Tanaka
c32e6552e5
arm-hyp execspec: add irqVGICMaintenane and initInterruptController
...
with caseconvs, generated files
2017-06-19 14:32:19 +10:00
Miki Tanaka
0741f0d533
arm-hyp execspec/machine: fixing import paths and namespace for multiple architecture
2017-06-19 14:32:19 +10:00
Miki Tanaka
8bfc2ac68c
execspec/machine: remove redundant file (ARM)
2017-06-17 16:26:11 +10:00
Miki Tanaka
1f8127c6cc
arm-hyp (abstract/design/machine): add ARM_HYP directories
2017-06-17 16:26:11 +10:00
Alejandro Gomez-Londono
6fb8f73535
design: Remove files generated by the haskell-translator
2017-05-11 16:26:18 +10:00
Miki Tanaka
98832f8ccd
execspec: add hypervisor, HypFaultType in skeletons (ARM), generated files
2017-02-22 15:26:46 +11:00
Gerwin Klein
520921351a
provide TCB argument for sanitiseRegister
...
Other platforms such as arm-hyp will need to look into additional TCB state
such as VCPU in sanitiseRegister. This commit provides the scaffolding for
that.
2017-02-12 12:54:42 +11:00
Joel Beeren
3dafec7d46
backport changes to ARM proofs from X64 work in progress
...
- replace ARM-specific constants and types with aliases which can be
instantiated separately for each architecture.
- expand lib with lemmas used in X64 proofs.
- simplify some proofs.
Also-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
2017-01-27 08:31:07 +11:00
Gerwin Klein
8ac1200329
cleanup: remove accidentally declared const
2017-01-15 17:05:52 +01:00
Alejandro Gomez-Londono
ab6b9baebb
ExecSpec: Changes to the haskell to better reflect ASpec
...
* atcbContextGet and atcbContextSet where added (just as in ASpec)
* asUser is now defined in terms of atcbContext{Get,Set}
* arch_tcb is now correctly imported as a datatype not as a type
synonym
tags: [VER-623][SELFOUR-413]
2016-11-25 13:05:55 +11:00
Miki Tanaka
99bcebda87
ASpec: arch-specific faults + VMFault -> ArchFault + ReservedIRQ
...
* fixing name space for arch_tcb and tcb_context
* arch_fault added
* changing name space for arch_tcb
- as_user, set_mrs, get_mrs, copyRegsToArea, and copyRegsToArea are
moved to the ARM_HYP directory. This breaks the proofs in
refinement, etc., mostly in tcb related files.
* removed a duplicate range check definition
* fixes ARM for arch_tcb
* adding arch_thread_get/set
* add ReserveIRQ
- initInterruptController is not added yet.
* add arch_fault
- arch_fault and related functions are added.
* arch-parametrising arch-specific extra registers
- ArchDefaultExtraRegisters is the common interface that refers to the
arch-specific data (ARMNoExtraRegisters for ARM/ARM_HYP)
* Adding accesors for tcb_context
- Despite the fact that tcb_context has an arch-specific definition,
it is reasonable to assume that some form of tcb_context will be
available in any architecture, thus the need for accesors to handle
updates.
* as_user updated to use tcb_context accesors
* set_mrs and get_mrs updated to use tcb_context accesors
- Several function on ArchTcb_A and ArchTcbAcc_A (both theories where
removed) can be defined in a general context by using the
tcb_context accesors
tags: [VER-623][SELFOUR-413]
2016-11-25 13:05:49 +11:00
Miki Tanaka
a2d707d17e
SELFOUR-553: update rpidrurw in TCBConfigure for simpler Infoflow proofs.
2016-11-18 16:27:26 +11:00
Miki Tanaka
f8f88c6952
SELFOUR-553: Change Spec according to C code and fix ASpec and AInvs
2016-11-18 16:19:14 +11:00
Thomas Sewell
f32e2ca0f5
SELFOUR-444: Abstract implementation.
...
Abstract implementation of preemptible retyping.
2016-11-02 11:19:08 +11:00
Xin,Gao
113315d9a6
SELFOUR-421: merge and fix up to ArmConfidentiality proof
2016-09-22 19:21:56 +10:00
Xin,Gao
328846ee1a
SELFOUR-421: crefine builds
2016-09-22 19:11:37 +10:00
Matthew Brecknell
f9f160ed14
arch_split: replace some fixed word sizes with type aliases
...
Changed some instances of word32 to machine_word, and "10 word" to irq.
Also introduce a type_synonym for "machine_word_len".
2016-08-03 14:46:23 +10:00
Corey Richardson
dd73a2c819
run haskell translator
2016-07-21 15:54:49 +10:00
Corey Richardson
e2c55aa544
run haskell translator
2016-07-20 18:16:23 +10:00
Alejandro Gomez-Londono
9c608c62dc
arch_split: Schedule_AI [VER-565]
2016-06-02 14:20:06 +10:00
Matthew Brecknell
9ccdbfa21e
arch_split: move locale setup to generic theory
2016-05-31 15:14:40 +10:00
Joel Beeren
6a2692abc6
lib: fix theory includes for arch-splitted WordSetup
2016-05-20 12:31:10 +10:00
Gerwin Klein
f0faa90f8a
lib/spec/proof/tools: fix word change fallout
2016-05-16 21:11:40 +10:00
Daniel Matichuk
7e37215bd2
arch_split: add extend_locale to base import
2016-05-06 18:37:16 +10:00
Daniel Matichuk
9ceed1eb12
arch_split: fix proofs after removing shadow and unqualify commands and adding fix for crunch. Checks up to DPolicy.
2016-05-04 15:14:41 +10:00
Daniel Matichuk
670d1c118d
arch_split: added optional definition override for crunch. Reduced qualification commands to minimal required set.
2016-05-04 15:14:41 +10:00
Matthew Brecknell
0c3a12771d
arch_split: merge master
2016-04-28 14:36:43 +10:00
Daniel Matichuk
1d20b393c0
arch_split: replaced sublocale with global_naming
2016-04-27 14:32:38 +10:00
Daniel Matichuk
3191c485d5
arch_split: added ARM_A and ARM_H locales
2016-04-20 17:31:45 +10:00
Daniel Matichuk
72337faa7b
arch_split: added namespacing to ExecSpec
2016-04-01 15:17:17 +11:00
Daniel Matichuk
144778e8eb
arch_split: avoid caching file_defs in translator to make CONTEXT environment function as expected
2016-04-01 15:09:34 +11:00
Sophie Taylor
d7fd88727a
SELFOUR-420: Verification of maxIRQ check in handle_interrupt.
2016-03-17 11:20:52 +11:00
Matthew Brecknell
8cc95bfb8e
arch_split: merge master into arch_split
2016-03-01 11:30:47 +11:00
Daniel Matichuk
d107cb6758
arch_split: halfway into KHeap_AI
2016-02-22 17:48:52 +11:00
Matthew Brecknell
84d2889d45
Isabelle2016: merge master into 2016
2016-02-19 16:17:26 +11:00
Daniel Matichuk
df8261c121
arch_split: split up Invariants_AI
2016-02-17 16:36:29 +11:00