1 struct _subtable_data {
6 struct _subtable_data subtable[64];
8 void reallocate_subtable(struct _table_data *tabledata, unsigned char subentry) {
9 unsigned char subindex = subentry - (256 - 64);
10 if (tabledata->subtable[subindex].usecount <= 0) osd_die();
12 void release_subtable(struct _table_data *tabledata, unsigned char subentry) {
13 unsigned char subindex = subentry - (256 - 64);
14 if (tabledata->subtable[subindex].usecount <= 0) osd_die();
16 void install_mem_handler( int end, char *handler_name) {
21 struct _table_data *tabledata;
26 hmirrorcount < (1 << hmirrorbits);
29 if (cur_index == ((end + hmirrorbase) >> (32 - 18))) {
30 if (hmirrorcount != 0 && prev_entry == tabledata->table[cur_index]) {
31 if (tabledata->table[cur_index] >= (256 - 64)) release_subtable(tabledata, tabledata-> table[cur_index]);
32 if (tabledata->table[prev_index] >= (256 - 64)) reallocate_subtable(tabledata, tabledata-> table[prev_index]);
35 for (lmirrorcount = 0;
36 lmirrorcount < (1 << lmirrorbits);