1 (* Test program for Virt_mem_mmap module. Not for general consumption. *)
8 let data = String.make 0x1000 '\001' in
9 let mem = add_string mem data 0x800L in
10 let data = String.make 0x1000 '\002' in
11 let mem = add_string mem data 0x1000L in
12 let data = String.make 0x1800 '\003' in
13 let mem = add_string mem data 0L in
14 let data = String.make 0x800 '\004' in
15 let mem = add_string mem data 0x1000L in
16 let data = String.make 0x800 '\005' in
17 let mem = add_string mem data 0x2800L in
18 let data = String.make 1 '\006' in
19 let mem = add_string mem data 0L in
20 let data = "hello, world!\000" in
21 let mem = add_string mem data 0x20L in
26 printf "byte @ %Lx = %d\n" addr (get_byte mem addr)
27 with Invalid_argument "get_byte" ->
28 printf "byte @ %Lx = HOLE\n" addr
30 0x7ffL; 0x800L; 0x801L;
31 0xfffL; 0x1000L; 0x1001L;
32 0x17ffL; 0x1800L; 0x1801L;
33 0x1fffL; 0x2000L; 0x2001L;
34 0x27ffL; 0x2800L; 0x2801L;
35 0x2fffL; 0x3000L; 0x3001L ];
40 printf "three bytes @ %Lx = %S\n" addr (get_bytes mem addr 3)
42 Invalid_argument "get_bytes" ->
43 printf "three bytes @ %Lx found a HOLE\n" addr
44 ) [ 0L; 0x1L; 0x7ffL; 0xfffL; 0x17ffL; 0x1fffL; 0x27ffL; 0x2800L;
47 printf "string @ 0x20 = %S\n" (get_string mem 0x20L)