Source file abi_cheri_mips64.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
open Lem_basic_classes
open Lem_bool
open Lem_maybe
open Lem_string
open Elf_types_native_uint
open Abi_cheri_mips64_elf_header
open Elf_header
open Missing_pervasives
open Show
let h:bool=
(is_valid_elf64_header h
&& ((Lem.option_equal (=) (Lem_list.list_index h.elf64_ident (Nat_big_num.to_int elf_ii_data)) (Some (Uint32_wrapper.of_bigint abi_cheri_mips64_data_encoding)))
&& (is_valid_abi_cheri_mips64_machine_architecture (Uint32_wrapper.to_bigint h.elf64_machine)
&& (is_valid_abi_cheri_mips64_magic_number h.elf64_ident
&& is_valid_abi_cheri256_mips64_flag (Uint32_wrapper.to_bigint h.elf64_flags)))))
let h:bool=
(header_is_cheri_mips64 h
&& is_pure_abi_cheri_mips64_flag (Uint32_wrapper.to_bigint h.elf64_flags))