Lines Matching refs:env

37 create_prop(fcode_env_t *env, char *name)  in create_prop()  argument
39 push_a_string(env, name); in create_prop()
40 property(env); in create_prop()
44 create_int_prop(fcode_env_t *env, char *name, int val) in create_int_prop() argument
47 encode_int(env); in create_int_prop()
48 create_prop(env, name); in create_int_prop()
52 create_string_prop(fcode_env_t *env, char *name, char *val) in create_string_prop() argument
54 push_a_string(env, val); in create_string_prop()
55 encode_string(env); in create_string_prop()
56 create_prop(env, name); in create_string_prop()
66 add_property_buffer(fcode_env_t *env, int len) in add_property_buffer() argument
69 return (add_resource(&env->propbufs, data, addr_cmp)); in add_property_buffer()
73 free_property_buffer(fcode_env_t *env, void *buffer) in free_property_buffer() argument
75 free_resource(&env->propbufs, buffer, addr_cmp); in free_property_buffer()
121 stack_find_property(fcode_env_t *env, device_t *d) in stack_find_property() argument
125 propname = pop_a_string(env, NULL); in stack_find_property()
130 property(fcode_env_t *env) in property() argument
137 CHECK_DEPTH(env, 4, "property"); in property()
141 d = env->current_device; in property()
145 two_drop(env); in property()
146 if ((buffer = pop_a_string(env, NULL)) != NULL) in property()
147 free_property_buffer(env, buffer); in property()
151 propname = pop_a_string(env, NULL); in property()
160 srcptr = pop_a_string(env, &datalen); in property()
166 free_property_buffer(env, srcptr); in property()
170 lookup_package_property(fcode_env_t *env, char *propname, device_t *d) in lookup_package_property() argument
183 push_a_string(env, propname); in lookup_package_property()
184 REVERT_PHANDLE(env, n, d); in lookup_package_property()
186 d->vectors.get_package_prop(env); in lookup_package_property()
200 get_package_property(fcode_env_t *env) in get_package_property() argument
206 CHECK_DEPTH(env, 3, "get-package-property"); in get_package_property()
207 CONVERT_PHANDLE(env, d, POP(DS)); in get_package_property()
208 propname = pop_a_string(env, NULL); in get_package_property()
209 p = lookup_package_property(env, propname, d); in get_package_property()
219 get_inherited_prop(fcode_env_t *env) in get_inherited_prop() argument
233 CHECK_DEPTH(env, 2, "get-inherited-property"); in get_inherited_prop()
234 pname = pop_a_string(env, &plen); in get_inherited_prop()
248 push_a_string(env, pname); in get_inherited_prop()
249 dev->vectors.get_inherited_prop(env); in get_inherited_prop()
257 delete_property(fcode_env_t *env) in delete_property() argument
259 CHECK_DEPTH(env, 2, "delete-property"); in delete_property()
263 p = stack_find_property(env, MYSELF->device); in delete_property()
272 two_drop(env); in delete_property()
277 get_my_property(fcode_env_t *env) in get_my_property() argument
279 CHECK_DEPTH(env, 2, "get-my-property"); in get_my_property()
281 ihandle_to_phandle(env); in get_my_property()
282 get_package_property(env); in get_my_property()
286 encode_string(fcode_env_t *env) in encode_string() argument
292 CHECK_DEPTH(env, 2, "encode-string"); in encode_string()
293 str = pop_a_string(env, &len); in encode_string()
295 prop = add_property_buffer(env, len); in encode_string()
303 encode_int(fcode_env_t *env) in encode_int() argument
308 CHECK_DEPTH(env, 1, "encode-int"); in encode_int()
310 ptr = add_property_buffer(env, sizeof (uint32_t)); in encode_int()
318 encode_phys(fcode_env_t *env) in encode_phys() argument
322 ncells = get_number_of_parent_address_cells(env); in encode_phys()
323 CHECK_DEPTH(env, ncells, "encode-phys"); in encode_phys()
324 encode_int(env); in encode_phys()
326 rot(env); in encode_phys()
327 encode_int(env); in encode_phys()
328 encode_plus(env); in encode_phys()
342 get_default_intprop(fcode_env_t *env, char *name, device_t *d, int def) in get_default_intprop() argument
348 p = lookup_package_property(env, name, d); in get_default_intprop()
355 get_num_addr_cells(fcode_env_t *env, device_t *d) in get_num_addr_cells() argument
357 return (get_default_intprop(env, "#address-cells", d, 2)); in get_num_addr_cells()
361 get_num_size_cells(fcode_env_t *env, device_t *d) in get_num_size_cells() argument
363 return (get_default_intprop(env, "#size-cells", d, 1)); in get_num_size_cells()
367 decode_phys(fcode_env_t *env) in decode_phys() argument
374 CHECK_DEPTH(env, 2, "decode-phys"); in decode_phys()
375 ptr = pop_a_string(env, &len); in decode_phys()
377 adr_cells = get_num_addr_cells(env, env->current_device->parent); in decode_phys()
396 reg_prop(fcode_env_t *env) in reg_prop() argument
400 CHECK_DEPTH(env, 1, "reg"); in reg_prop()
402 encode_phys(env); in reg_prop()
404 encode_int(env); in reg_prop()
405 encode_plus(env); in reg_prop()
406 create_prop(env, "reg"); in reg_prop()
410 encode_bytes(fcode_env_t *env) in encode_bytes() argument
416 CHECK_DEPTH(env, 2, "encode-bytes"); in encode_bytes()
417 str = pop_a_string(env, &len); in encode_bytes()
418 prop = add_property_buffer(env, len); in encode_bytes()
426 decode_int(fcode_env_t *env) in decode_int() argument
432 CHECK_DEPTH(env, 2, "decode-int"); in decode_int()
433 dp = pop_a_string(env, &len); in decode_int()
441 decode_string(fcode_env_t *env) in decode_string() argument
446 CHECK_DEPTH(env, 2, "decode-string"); in decode_string()
447 dp = pop_a_string(env, &plen); in decode_string()
456 encode_plus(fcode_env_t *env) in encode_plus() argument
462 CHECK_DEPTH(env, 4, "encode+"); in encode_plus()
463 src1 = pop_a_string(env, &len1); in encode_plus()
464 src2 = pop_a_string(env, &len2); in encode_plus()
465 new = add_property_buffer(env, len1 + len2); in encode_plus()
468 free_property_buffer(env, src2); in encode_plus()
472 free_property_buffer(env, src1); in encode_plus()
479 make_special_property(fcode_env_t *env, char *name) in make_special_property() argument
481 push_a_string(env, name); in make_special_property()
482 property(env); in make_special_property()
486 device_name(fcode_env_t *env) in device_name() argument
488 CHECK_DEPTH(env, 2, "device-name"); in device_name()
489 encode_string(env); in device_name()
490 make_special_property(env, "name"); in device_name()
494 model_prop(fcode_env_t *env) in model_prop() argument
496 CHECK_DEPTH(env, 2, "model"); in model_prop()
497 encode_string(env); in model_prop()
498 make_special_property(env, "model"); in model_prop()
502 device_type(fcode_env_t *env) in device_type() argument
504 CHECK_DEPTH(env, 2, "device-type"); in device_type()
505 encode_string(env); in device_type()
506 make_special_property(env, "device_type"); in device_type()
513 next_property(fcode_env_t *env) in next_property() argument
519 CHECK_DEPTH(env, 3, "next-property"); in next_property()
521 previous = pop_a_string(env, NULL); in next_property()
532 push_a_string(env, p->name); in next_property()
534 push_a_string(env, ""); in next_property()
539 get_property(fcode_env_t *env) in get_property() argument
542 get_my_property(env); in get_property()
543 else if (env->current_device) { in get_property()
546 REVERT_PHANDLE(env, d, env->current_device); in get_property()
548 get_package_property(env); in get_property()
550 two_drop(env); in get_property()
564 print_string(fcode_env_t *env, uchar_t *data, int len) in print_string() argument
591 print_integer(fcode_env_t *env, uchar_t *data, int len) in print_integer() argument
597 print_bytes(fcode_env_t *env, uchar_t *data, int len) in print_bytes() argument
606 print_bytes_indented(fcode_env_t *env, uchar_t *data, int len) in print_bytes_indented() argument
612 print_bytes(env, data, nbytes); in print_bytes_indented()
622 print_reg(fcode_env_t *env, uchar_t *data, int len) in print_reg() argument
626 if (env->current_device != NULL && in print_reg()
627 env->current_device->parent != NULL) { in print_reg()
628 pcells = get_num_size_cells(env, env->current_device->parent); in print_reg()
629 pcells += get_num_addr_cells(env, env->current_device->parent); in print_reg()
639 print_bytes_indented(env, data, len); in print_reg()
643 print_imap(fcode_env_t *env, uchar_t *dp, int len) in print_imap() argument
647 if (env->current_device == NULL) { in print_imap()
648 print_bytes_indented(env, dp, len); in print_imap()
651 n = get_num_addr_cells(env, env->current_device); in print_imap()
660 CONVERT_PHANDLE(env, node, data); in print_imap()
663 icells = get_default_intprop(env, "#interrupt-cells", node, 1); in print_imap()
674 print_ranges(fcode_env_t *env, uchar_t *data, int len) in print_ranges() argument
678 if (env->current_device != NULL && in print_ranges()
679 env->current_device->parent != NULL) { in print_ranges()
680 pcells = get_num_addr_cells(env, env->current_device); in print_ranges()
681 pcells += get_num_addr_cells(env, env->current_device->parent); in print_ranges()
682 pcells += get_num_size_cells(env, env->current_device); in print_ranges()
692 print_bytes_indented(env, data, len); in print_ranges()
697 void (*fn)(fcode_env_t *env, uchar_t *data, int len);
722 print_content(fcode_env_t *env, char *prop, uchar_t *data, int len) in print_content() argument
728 (*p->fn)(env, data, len); in print_content()
731 print_bytes_indented(env, data, len); in print_content()
735 print_property(fcode_env_t *env, prop_t *p, char *prepend) in print_property() argument
746 print_content(env, p->name, p->data, p->size); in print_property()
748 print_bytes_indented(env, p->data, p->size); in print_property()
752 dot_properties(fcode_env_t *env) in dot_properties() argument
760 if (env->current_device) { in dot_properties()
761 for (p = env->current_device->properties; p; p = p->next) in dot_properties()
762 print_property(env, p, NULL); in dot_properties()
776 fcode_env_t *env = initial_env; in _init() local
778 ASSERT(env); in _init()