1 struct _subtable_data {
6 struct _subtable_data subtable[64];
8 void reallocate_subtable(struct _table_data *tabledata, unsigned char subentry)
10 unsigned char subindex = subentry - (256 - 64);
11 if (tabledata->subtable[subindex].usecount <= 0)
14 void release_subtable(struct _table_data *tabledata, unsigned char subentry)
16 unsigned char subindex = subentry - (256 - 64);
17 if (tabledata->subtable[subindex].usecount <= 0)
20 void install_mem_handler(int end, char *handler_name)
26 struct _table_data *tabledata;
30 for (; hmirrorcount < (1 << hmirrorbits); hmirrorcount++) {
32 if (cur_index == ((end + hmirrorbase) >> (32 - 18))) {
34 && prev_entry == tabledata->table[cur_index]) {
35 if (tabledata->table[cur_index] >= (256 - 64))
36 release_subtable(tabledata,
39 if (tabledata->table[prev_index] >= (256 - 64))
40 reallocate_subtable(tabledata,
45 for (lmirrorcount = 0;
46 lmirrorcount < (1 << lmirrorbits); lmirrorcount++) ;