diff options
| author | Peter Sewell | 2017-02-05 11:27:49 +0000 |
|---|---|---|
| committer | Peter Sewell | 2017-02-05 11:27:49 +0000 |
| commit | bd384860e2778fe40e10aaf08cdea7d42dae6287 (patch) | |
| tree | f1c88810d0acd8d6360a8b74d21aed689845884c /mips | |
| parent | 081d3ac6a786fdc3df515de58af2ef25a25a5b58 (diff) | |
| parent | 0f688281254997cb4ca3a6e82275c3751c43fe2c (diff) | |
Merge branch 'master' of bitbucket.org:Peter_Sewell/sail
Conflicts:
language/manual.pdf
Diffstat (limited to 'mips')
| -rw-r--r-- | mips/mips_epilogue.sail | 4 | ||||
| -rw-r--r-- | mips/mips_insts.sail | 4 | ||||
| -rw-r--r-- | mips/mips_prelude.sail | 6 | ||||
| -rw-r--r-- | mips/mips_regfp.sail | 34 | ||||
| -rw-r--r-- | mips/mips_ri.sail | 4 | ||||
| -rw-r--r-- | mips/mips_tlb.sail | 33 | ||||
| -rw-r--r-- | mips/mips_tlb_stub.sail | 34 | ||||
| -rw-r--r-- | mips/mips_wrappers.sail | 4 |
8 files changed, 112 insertions, 11 deletions
diff --git a/mips/mips_epilogue.sail b/mips/mips_epilogue.sail index 3771e26e..50993949 100644 --- a/mips/mips_epilogue.sail +++ b/mips/mips_epilogue.sail @@ -1,7 +1,7 @@ (*========================================================================*) (* *) -(* Copyright (c) 2015-2016 Robert M. Norton *) -(* Copyright (c) 2015-2016 Kathyrn Gray *) +(* Copyright (c) 2015-2017 Robert M. Norton *) +(* Copyright (c) 2015-2017 Kathyrn Gray *) (* All rights reserved. *) (* *) (* This software was developed by the University of Cambridge Computer *) diff --git a/mips/mips_insts.sail b/mips/mips_insts.sail index 8b9ccd76..77ff6f2a 100644 --- a/mips/mips_insts.sail +++ b/mips/mips_insts.sail @@ -1,7 +1,7 @@ (*========================================================================*) (* *) -(* Copyright (c) 2015-2016 Robert M. Norton *) -(* Copyright (c) 2015-2016 Kathyrn Gray *) +(* Copyright (c) 2015-2017 Robert M. Norton *) +(* Copyright (c) 2015-2017 Kathyrn Gray *) (* All rights reserved. *) (* *) (* This software was developed by the University of Cambridge Computer *) diff --git a/mips/mips_prelude.sail b/mips/mips_prelude.sail index 8975193c..d2a0fc6f 100644 --- a/mips/mips_prelude.sail +++ b/mips/mips_prelude.sail @@ -1,7 +1,7 @@ (*========================================================================*) (* *) -(* Copyright (c) 2015-2016 Robert M. Norton *) -(* Copyright (c) 2015-2016 Kathyrn Gray *) +(* Copyright (c) 2015-2017 Robert M. Norton *) +(* Copyright (c) 2015-2017 Kathyrn Gray *) (* All rights reserved. *) (* *) (* This software was developed by the University of Cambridge Computer *) @@ -569,7 +569,7 @@ function bool isAddressAligned(addr, (WordType) wordType) = (4k) we don't need to worry about accesses spanning page boundaries either. *) -let alignment_width = 32 +let alignment_width = 16 function (bool) isAddressAligned (addr, (WordType) wordType) = let a = unsigned(addr) in ((a quot alignment_width) == (a + wordWidthBytes(wordType) - 1) quot alignment_width) diff --git a/mips/mips_regfp.sail b/mips/mips_regfp.sail index 1a290ec7..36750583 100644 --- a/mips/mips_regfp.sail +++ b/mips/mips_regfp.sail @@ -1,3 +1,37 @@ +(*========================================================================*) +(* *) +(* Copyright (c) 2015-2017 Robert M. Norton *) +(* Copyright (c) 2015-2017 Kathyrn Gray *) +(* All rights reserved. *) +(* *) +(* This software was developed by the University of Cambridge Computer *) +(* Laboratory as part of the Rigorous Engineering of Mainstream Systems *) +(* (REMS) project, funded by EPSRC grant EP/K008528/1. *) +(* *) +(* Redistribution and use in source and binary forms, with or without *) +(* modification, are permitted provided that the following conditions *) +(* are met: *) +(* 1. Redistributions of source code must retain the above copyright *) +(* notice, this list of conditions and the following disclaimer. *) +(* 2. Redistributions in binary form must reproduce the above copyright *) +(* notice, this list of conditions and the following disclaimer in *) +(* the documentation and/or other materials provided with the *) +(* distribution. *) +(* *) +(* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' *) +(* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *) +(* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *) +(* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR *) +(* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *) +(* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *) +(* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF *) +(* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *) +(* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, *) +(* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT *) +(* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF *) +(* SUCH DAMAGE. *) +(*========================================================================*) + let (vector <0, 32, inc, string >) GPRs = [ "GPR00", "GPR01", "GPR02", "GPR03", "GPR04", "GPR05", "GPR06", "GPR07", "GPR08", "GPR09", "GPR10", "GPR11", "GPR12", "GPR13", "GPR14", "GPR15", "GPR16", "GPR17", "GPR18", "GPR19", "GPR20", diff --git a/mips/mips_ri.sail b/mips/mips_ri.sail index e1222b98..3f368111 100644 --- a/mips/mips_ri.sail +++ b/mips/mips_ri.sail @@ -1,7 +1,7 @@ (*========================================================================*) (* *) -(* Copyright (c) 2015-2016 Robert M. Norton *) -(* Copyright (c) 2015-2016 Kathyrn Gray *) +(* Copyright (c) 2015-2017 Robert M. Norton *) +(* Copyright (c) 2015-2017 Kathyrn Gray *) (* All rights reserved. *) (* *) (* This software was developed by the University of Cambridge Computer *) diff --git a/mips/mips_tlb.sail b/mips/mips_tlb.sail index 98cabb4d..2e40deed 100644 --- a/mips/mips_tlb.sail +++ b/mips/mips_tlb.sail @@ -1,3 +1,36 @@ +(*========================================================================*) +(* *) +(* Copyright (c) 2015-2017 Robert M. Norton *) +(* Copyright (c) 2015-2017 Kathyrn Gray *) +(* All rights reserved. *) +(* *) +(* This software was developed by the University of Cambridge Computer *) +(* Laboratory as part of the Rigorous Engineering of Mainstream Systems *) +(* (REMS) project, funded by EPSRC grant EP/K008528/1. *) +(* *) +(* Redistribution and use in source and binary forms, with or without *) +(* modification, are permitted provided that the following conditions *) +(* are met: *) +(* 1. Redistributions of source code must retain the above copyright *) +(* notice, this list of conditions and the following disclaimer. *) +(* 2. Redistributions in binary form must reproduce the above copyright *) +(* notice, this list of conditions and the following disclaimer in *) +(* the documentation and/or other materials provided with the *) +(* distribution. *) +(* *) +(* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' *) +(* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *) +(* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *) +(* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR *) +(* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *) +(* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *) +(* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF *) +(* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *) +(* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, *) +(* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT *) +(* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF *) +(* SUCH DAMAGE. *) +(*========================================================================*) function bool tlbEntryMatch(r, vpn2, asid, (TLBEntry) entry) = let entryValid = entry.valid in diff --git a/mips/mips_tlb_stub.sail b/mips/mips_tlb_stub.sail index 6c4ea057..a9970a4e 100644 --- a/mips/mips_tlb_stub.sail +++ b/mips/mips_tlb_stub.sail @@ -1,3 +1,37 @@ +(*========================================================================*) +(* *) +(* Copyright (c) 2015-2017 Robert M. Norton *) +(* Copyright (c) 2015-2017 Kathyrn Gray *) +(* All rights reserved. *) +(* *) +(* This software was developed by the University of Cambridge Computer *) +(* Laboratory as part of the Rigorous Engineering of Mainstream Systems *) +(* (REMS) project, funded by EPSRC grant EP/K008528/1. *) +(* *) +(* Redistribution and use in source and binary forms, with or without *) +(* modification, are permitted provided that the following conditions *) +(* are met: *) +(* 1. Redistributions of source code must retain the above copyright *) +(* notice, this list of conditions and the following disclaimer. *) +(* 2. Redistributions in binary form must reproduce the above copyright *) +(* notice, this list of conditions and the following disclaimer in *) +(* the documentation and/or other materials provided with the *) +(* distribution. *) +(* *) +(* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' *) +(* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *) +(* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *) +(* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR *) +(* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *) +(* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *) +(* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF *) +(* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *) +(* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, *) +(* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT *) +(* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF *) +(* SUCH DAMAGE. *) +(*========================================================================*) + function option<TLBIndexT> tlbSearch((bit[64]) VAddr) = None function (bit[64]) TLBTranslate ((bit[64]) vAddr, (MemAccessType) accessType) = diff --git a/mips/mips_wrappers.sail b/mips/mips_wrappers.sail index a620f5f3..357aa9dd 100644 --- a/mips/mips_wrappers.sail +++ b/mips/mips_wrappers.sail @@ -1,7 +1,7 @@ (*========================================================================*) (* *) -(* Copyright (c) 2015-2016 Robert M. Norton *) -(* Copyright (c) 2015-2016 Kathyrn Gray *) +(* Copyright (c) 2015-2017 Robert M. Norton *) +(* Copyright (c) 2015-2017 Kathyrn Gray *) (* All rights reserved. *) (* *) (* This software was developed by the University of Cambridge Computer *) |
