1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 dcl io_page_table_seg$ external;
20
21 dcl io_page_table_seg_ptr ptr;
22
23 dcl 1 io_page_tables aligned based (io_page_table_seg_ptr),
24 2 lock like hc_fast_lock,
25 2 free_64_ptx fixed bin (9) unsigned unaligned,
26
27 2 free_256_ptx fixed bin (9) unsigned unaligned,
28
29 2 n_pages_wired fixed bin (9) unsigned unaligned,
30
31 2 pad1 bit (9) unaligned,
32 2 pt_info (5:256),
33 3 size bit (1) unaligned,
34 3 in_use bit (1) unaligned,
35 3 pad1 bit (25) unaligned,
36 3 next_pt fixed bin (9) unsigned unaligned;
37
38
39
40 dcl ioptp ptr;
41 dcl io_page_table_size fixed bin;
42
43 dcl 1 page_table (0:io_page_table_size - 1) aligned based (ioptp),
44 2 ptw like io_ptw;
45
46 %include io_ptw;
47
48 dcl IO_PAGE_TABLE_LOCK_EVENT
49 char (4) static options (constant) init ("iopt");
50 dcl MAX_IO_PAGE_TABLE_SEG_PAGES
51 fixed bin (9) static options (constant) init (16);
52 dcl PT_64_SIZE bit (1) static options (constant) init ("0"b);
53 dcl PT_256_SIZE bit (1) static options (constant) init ("1"b);
54 dcl PTS_PER_PAGE fixed bin static options (constant) init (16);
55 dcl SMALL_PT_SIZE fixed bin (19) static options (constant) init (65536);
56
57