Lines Matching defs:dpage

60 dp_page_defer_data_write(fmd_hdl_t *hdl, cmd_dp_defer_t *dpage)
62 fmd_buf_write(hdl, dpage->dp_defer_page->page_case.cc_cp, "mcids",
63 &dpage->dp_defer_mcids, sizeof (dpage->dp_defer_mcids));
67 dp_page_defer_data_restore(fmd_hdl_t *hdl, cmd_dp_defer_t *dpage)
69 fmd_buf_read(hdl, dpage->dp_defer_page->page_case.cc_cp, "mcids",
70 &dpage->dp_defer_mcids, sizeof (dpage->dp_defer_mcids));
74 dp_page_defer_add_data(fmd_hdl_t *hdl, cmd_dp_defer_t *dpage, uint64_t afar)
83 if (dpage->dp_defer_mcids[i] == -1) {
84 dpage->dp_defer_mcids[i] = mcid;
87 if (dpage->dp_defer_mcids[i] == mcid)
94 dp_page_defer_data_write(hdl, dpage);
100 cmd_dp_defer_t *dpage;
103 dpage = fmd_hdl_zalloc(hdl, sizeof (cmd_dp_defer_t), FMD_SLEEP);
105 dpage->dp_defer_page = page;
108 dpage->dp_defer_mcids[i] = -1;
110 dp_page_defer_add_data(hdl, dpage, afar);
112 cmd_list_append(&cmd.cmd_deferred_pages, dpage);
114 return (dpage);
120 cmd_dp_defer_t *dpage;
122 for (dpage = cmd_list_next(&cmd.cmd_deferred_pages); dpage != NULL;
123 dpage = cmd_list_next(dpage)) {
124 if (dpage->dp_defer_page == page)
125 return (dpage);
135 cmd_dp_defer_t *dpage;
141 dpage = dp_page_defer_create(hdl, page, afar);
146 dpage = dp_page_defer_lookup(page);
147 if (dpage == NULL)
152 dp_page_defer_add_data(hdl, dpage, afar);
156 cmd_dp_page_check(fmd_hdl_t *hdl, cmd_dp_defer_t *dpage)
161 if (dpage->dp_defer_mcids[i] == -1)
168 if (cmd_dp_lookup_fault(hdl, dpage->dp_defer_mcids[i]) == 0)
181 cmd_dp_defer_t *dpage;
184 while ((dpage = cmd_list_next(&cmd.cmd_deferred_pages)) != NULL) {
186 "pa=%llx\n", dpage->dp_defer_page->page_physbase);
188 page = dpage->dp_defer_page;
190 if (cmd_dp_page_check(hdl, dpage)) {
195 cmd_list_delete(&cmd.cmd_deferred_pages, dpage);
196 fmd_hdl_free(hdl, dpage, sizeof (cmd_dp_defer_t));
219 cmd_list_delete(&cmd.cmd_deferred_pages, dpage);
220 fmd_hdl_free(hdl, dpage, sizeof (cmd_dp_defer_t));
229 cmd_dp_defer_t *dpage;
231 dpage = fmd_hdl_zalloc(hdl, sizeof (cmd_dp_defer_t), FMD_SLEEP);
233 dpage->dp_defer_page = page;
235 dp_page_defer_data_restore(hdl, dpage);
237 cmd_list_append(&cmd.cmd_deferred_pages, dpage);
243 cmd_dp_defer_t *dpage, *next;
246 for (dpage = cmd_list_next(&cmd.cmd_deferred_pages); dpage != NULL;
247 dpage = next) {
248 next = cmd_list_next(dpage);
250 page = dpage->dp_defer_page;
254 cmd_list_delete(&cmd.cmd_deferred_pages, dpage);
255 fmd_hdl_free(hdl, dpage, sizeof (cmd_dp_defer_t));
264 cmd_dp_defer_t *dpage, *next;
266 for (dpage = cmd_list_next(&cmd.cmd_deferred_pages); dpage != NULL;
267 dpage = next) {
268 next = cmd_list_next(dpage);
270 if (dpage->dp_defer_page == page) {