Lines Matching refs:mdp
105 fill_cpu(md_t *mdp, mde_cookie_t cpuc)
115 if (md_get_prop_val(mdp, cpuc, "id", &cpuid)) {
134 if (md_get_prop_data(mdp, cpuc,
147 if (md_get_prop_val(mdp, cpuc,
176 if ((!get_l2_cache_info(mdp, cpuc,
217 setup_chip_mappings(md_t *mdp)
225 ncache = md_alloc_scan_dag(mdp, md_root_node(mdp), "cache",
239 if (md_get_prop_val(mdp, cachelist[i], "level", &cache_level))
249 ncpu = md_alloc_scan_dag(mdp, cachelist[i], "cpu",
256 if (md_get_prop_val(mdp, node[j], "id", &lcpuid))
263 md_free_scan_dag(mdp, &node);
268 md_free_scan_dag(mdp, &cachelist);
272 setup_exec_unit_mappings(md_t *mdp)
286 num = md_alloc_scan_dag(mdp, md_root_node(mdp), "cpus", "fwd", &node);
294 md_free_scan_dag(mdp, &node);
296 num_eunits = md_alloc_scan_dag(mdp, cpus_node, eunit_name,
310 if (md_get_prop_data(mdp, eunit[i], "type",
332 num = md_alloc_scan_dag(mdp, eunit[i], "cpu",
340 if (md_get_prop_val(mdp, node[j], "id",
355 md_free_scan_dag(mdp, &node);
359 md_free_scan_dag(mdp, &eunit);
373 md_t *mdp;
375 if ((mdp = md_get_handle()) == NULL)
378 boot_ncpus = nocpus = md_alloc_scan_dag(mdp,
379 md_root_node(mdp), "cpu", "fwd", &cpulist);
385 init_md_broken(mdp, cpulist);
397 mmu_exported_pagesize_mask = (int)get_cpu_pagesizes(mdp, cpulist[0]);
402 if (get_mmu_shcontexts(mdp, cpulist[0]) >= MIN_NSHCONTEXTS &&
403 get_mmu_tsbs(mdp, cpulist[0]) >= MIN_NTSBS) {
408 fill_cpu(mdp, cpulist[i]);
411 n_l2_caches = get_l2_cache_node_count(mdp);
413 setup_chip_mappings(mdp);
414 setup_exec_unit_mappings(mdp);
422 isa_list = construct_isalist(mdp, cpulist[0],
425 isa_list = construct_isalist(mdp, cpulist[0], NULL);
427 get_hwcaps(mdp, cpulist[0]);
428 get_weakest_mem_model(mdp, cpulist[0]);
429 get_q_sizes(mdp, cpulist[0]);
430 get_va_bits(mdp, cpulist[0]);
435 ra_limit = get_ra_limit(mdp, cpulist[0]);
437 md_free_scan_dag(mdp, &cpulist);
439 (void) md_fini_handle(mdp);
502 get_mmu_ctx_bits(md_t *mdp, mde_cookie_t cpu_node_cookie)
506 if (md_get_prop_val(mdp, cpu_node_cookie, "mmu-#context-bits",
521 get_mmu_tsbs(md_t *mdp, mde_cookie_t cpu_node_cookie)
525 if (md_get_prop_val(mdp, cpu_node_cookie, "mmu-max-#tsbs",
537 get_mmu_shcontexts(md_t *mdp, mde_cookie_t cpu_node_cookie)
541 if (md_get_prop_val(mdp, cpu_node_cookie, "mmu-#shared-contexts",
553 get_cpu_pagesizes(md_t *mdp, mde_cookie_t cpu_node_cookie)
557 if (md_get_prop_val(mdp, cpu_node_cookie, "mmu-page-size-list",
573 construct_isalist(md_t *mdp, mde_cookie_t cpu_node_cookie,
585 (void) md_get_prop_data(mdp, cpu_node_cookie,
651 get_hwcaps(md_t *mdp, mde_cookie_t cpu_node_cookie)
656 if (md_get_prop_data(mdp, cpu_node_cookie,
667 get_weakest_mem_model(md_t *mdp, mde_cookie_t cpu_node_cookie)
674 if (md_get_prop_data(mdp, cpu_node_cookie,
749 get_ra_limit(md_t *mdp, mde_cookie_t cpu_node_cookie)
763 if (md_get_prop_val(mdp, cpu_node_cookie, "mmu-#ra-bits", &r) == 0) {
777 memnodes = md_alloc_scan_dag(mdp,
778 md_root_node(mdp), "memory", "fwd", &mem_list);
782 nmblock = md_alloc_scan_dag(mdp,
788 if (md_get_prop_val(mdp, mblock_list[i], "base", &base))
791 if (md_get_prop_val(mdp, mblock_list[i], "size", &size))
814 md_free_scan_dag(mdp, &mblock_list);
816 md_free_scan_dag(mdp, &mem_list);
833 get_single_q_size(md_t *mdp, mde_cookie_t cpu_node_cookie,
842 if (md_get_prop_val(mdp, cpu_node_cookie, qnamep, &entries)) {
864 get_q_sizes(md_t *mdp, mde_cookie_t cpu_node_cookie)
875 nrnode = md_alloc_scan_dag(mdp,
876 md_root_node(mdp), "platform", "fwd", &platlist);
881 (void) md_get_prop_val(mdp, platlist[0], "max-cpus", &ncpu_guest_max);
884 md_free_scan_dag(mdp, &platlist);
886 cpu_q_entries = get_single_q_size(mdp, cpu_node_cookie,
889 dev_q_entries = get_single_q_size(mdp, cpu_node_cookie,
892 cpu_rq_entries = get_single_q_size(mdp, cpu_node_cookie,
895 cpu_nrq_entries = get_single_q_size(mdp, cpu_node_cookie,
901 get_va_bits(md_t *mdp, mde_cookie_t cpu_node_cookie)
905 if (md_get_prop_val(mdp, cpu_node_cookie, "mmu-#va-bits", &value))
934 get_l2_cache_node_count(md_t *mdp)
939 int n_cachenodes = md_alloc_scan_dag(mdp, md_root_node(mdp),
944 if (md_get_prop_val(mdp, cachenodes[i], "level", &level) != 0) {
951 md_free_scan_dag(mdp, &cachenodes);
960 get_l2_cache_info(md_t *mdp, mde_cookie_t cpu_node_cookie,
967 ncaches = md_alloc_scan_dag(mdp, cpu_node_cookie, "cache",
981 if (md_get_prop_val(mdp, cachelist[i], "level", &cache_level))
988 if ((md_get_prop_val(mdp, cachelist[i],
993 if ((md_get_prop_val(mdp, cachelist[i],
998 if ((md_get_prop_val(mdp, cachelist[i],
1009 md_free_scan_dag(mdp, &cachelist);
1022 init_md_broken(md_t *mdp, mde_cookie_t *cpulist)
1030 rootnode = md_root_node(mdp);
1034 nrnode = md_alloc_scan_dag(mdp, rootnode, "platform", "fwd",
1040 if (md_get_prop_data(mdp, cpulist[0],
1046 if (md_get_prop_val(mdp, platlist[0],
1051 md_free_scan_dag(mdp, &platlist);
1115 md_t *mdp;
1122 mdp = md_get_handle();
1123 if (mdp == NULL) {
1128 nio = md_alloc_scan_dag(mdp, md_root_node(mdp),
1134 (void) md_fini_handle(mdp);
1143 md_free_scan_dag(mdp, &ionodes);
1145 nio = md_alloc_scan_dag(mdp, alinode, "ioalias", "fwd", &ionodes);
1162 err = md_get_prop_str(mdp, ionodes[i], "current", &str);
1169 err = md_get_prop_str(mdp, ionodes[i], "aliases", &str);
1181 md_free_scan_dag(mdp, &ionodes);
1192 (void) md_fini_handle(mdp);
1221 md_t *mdp = NULL;
1232 if ((mdp = md_get_handle()) == NULL ||
1233 (cpu_sc = md_find_name(mdp, "cpu")) == MDE_INVAL_STR_COOKIE ||
1234 (bck_sc = md_find_name(mdp, "back")) == MDE_INVAL_STR_COOKIE)
1238 *md_gen = md_get_gen(mdp);
1241 if ((root = md_root_node(mdp)) == MDE_INVAL_ELEM_COOKIE ||
1242 (ntlbs = md_alloc_scan_dag(mdp, root, "tlb", "fwd", &tlbs)) <= 0)
1256 ncp = md_scan_dag(mdp, tlbs[tlbs_idx], cpu_sc, bck_sc, cp);
1266 if (md_get_prop_val(mdp, c, "id", &cpids[cp_idx]))
1268 if (md_get_prop_val(mdp, c, "mmu-#context-bits", &nbit))
1301 md_free_scan_dag(mdp, &tlbs);
1306 if (mdp != NULL)
1307 (void) md_fini_handle(mdp);