Lines Matching +full:0 +full:xf0003000
57 #define DEVTREE_CHUNK_SIZE 0x100000
63 * entry with size 0, so it can be changed without breaking binary
90 #define OF_WORKAROUNDS 0
102 #define prom_debug(x...) do { } while (0)
189 #define PLATFORM_PSERIES 0x0100
190 #define PLATFORM_PSERIES_LPAR 0x0101
191 #define PLATFORM_LPAR 0x0001
192 #define PLATFORM_POWERMAC 0x0400
193 #define PLATFORM_GENERIC 0x0500
217 * will return 0, some will return either. To simplify, here are
223 #define PHANDLE_VALID(p) ((p) != 0 && (p) != PROM_ERROR)
224 #define IHANDLE_VALID(i) ((i) != 0 && (i) != PROM_ERROR)
240 return 0; in prom_strcmp()
248 if (n == 0 || n > INT_MAX) in prom_strscpy_pad()
252 for (i = 0; i < n && src[i] != '\0'; i++) in prom_strscpy_pad()
265 dest[i] = '\0'; in prom_strscpy_pad()
283 return 0; in prom_strncmp()
290 for (sc = s; *sc != '\0'; ++sc) in prom_strlen()
298 int res = 0; in prom_memcmp()
300 for (su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--) in prom_memcmp()
301 if ((res = *su1 - *su2) != 0) in prom_memcmp()
338 dest[len] = 0; in prom_strlcat()
349 switch (s[0]) { in prom_strtobool()
354 return 0; in prom_strtobool()
357 case '0': in prom_strtobool()
359 return 0; in prom_strtobool()
366 return 0; in prom_strtobool()
370 return 0; in prom_strtobool()
398 for (i = 0; i < nargs; i++) in call_prom()
402 for (i = 0; i < nret; i++) in call_prom()
403 args.args[nargs+i] = 0; in call_prom()
405 if (enter_prom(&args, prom_entry) < 0) in call_prom()
408 return (nret > 0) ? be32_to_cpu(args.args[nargs]) : 0; in call_prom()
423 for (i = 0; i < nargs; i++) in call_prom_ret()
427 for (i = 0; i < nret; i++) in call_prom_ret()
428 args.args[nargs+i] = 0; in call_prom_ret()
430 if (enter_prom(&args, prom_entry) < 0) in call_prom_ret()
437 return (nret > 0) ? be32_to_cpu(args.args[nargs]) : 0; in call_prom_ret()
445 if (prom.stdout == 0) in prom_print()
448 for (p = msg; *p != 0; p = q) { in prom_print()
449 for (q = p; *q != 0 && *q != '\n'; ++q) in prom_print()
453 if (*q == 0) in prom_print()
470 for (i = nibbles-1; i >= 0; i--) { in prom_print_hex()
471 buf[i] = (val & 0xf) + '0'; in prom_print_hex()
473 buf[i] += ('a'-'0'-10); in prom_print_hex()
476 buf[nibbles] = '\0'; in prom_print_hex()
487 for (i = UL_DIGITS-1; i >= 0; i--) { in prom_print_dec()
488 buf[i] = (val % 10) + '0'; in prom_print_dec()
490 if (val == 0) in prom_print_dec()
505 int n = 0; in prom_printf()
508 for (p = format; *p != 0; p = q) { in prom_printf()
509 for (q = p; *q != 0 && *q != '\n' && *q != '%'; ++q) in prom_printf()
513 if (*q == 0) in prom_printf()
522 if (*q == 0) in prom_printf()
537 case 0: in prom_printf()
553 case 0: in prom_printf()
569 case 0: in prom_printf()
580 if (vs < 0) { in prom_printf()
596 if (align == 0 && (OF_WORKAROUNDS & OF_WA_CLAIM)) { in prom_claim()
607 if (ret != 0 || result == -1) in prom_claim()
612 if (ret != 0) { in prom_claim()
617 /* the 0x12 is M (coherence) + PP == read/write */ in prom_claim()
619 ADDR("map"), prom.mmumap, 0x12, size, virt, virt); in prom_claim()
635 call_prom("exit", 0, 0); in prom_panic()
646 if ((node = *nodep) != 0 in prom_next_node()
647 && (*nodep = call_prom("child", 1, 1, node)) != 0) in prom_next_node()
649 if ((*nodep = call_prom("peer", 1, 1, node)) != 0) in prom_next_node()
652 if ((node = call_prom("parent", 1, 1, node)) == 0) in prom_next_node()
653 return 0; in prom_next_node()
654 if ((*nodep = call_prom("peer", 1, 1, node)) != 0) in prom_next_node()
687 result[8] = 0; in tohex()
691 result[i] = digits[x & 0xf]; in tohex()
693 } while (x != 0 && i > 0); in tohex()
715 *p = 0; in prom_setprop()
721 (('0' <= (c) && (c) <= '9') || ('a' <= (c) && (c) <= 'f') || ('A' <= (c) && (c) <= 'F'))
723 #define prom_isdigit(c) ('0' <= (c) && (c) <= '9')
729 unsigned long result = 0, base = 10, value; in prom_strtoul()
731 if (*cp == '0') { in prom_strtoul()
741 (value = prom_isdigit(*cp) ? *cp - '0' : prom_toupper(*cp) - 'A' + 10) < base) { in prom_strtoul()
755 int shift = 0; in prom_memparse()
788 int l = 0; in early_cmdline_parse()
790 prom_cmd_line[0] = 0; in early_cmdline_parse()
793 if (!IS_ENABLED(CONFIG_CMDLINE_FORCE) && (long)prom.chosen > 0) in early_cmdline_parse()
796 if (IS_ENABLED(CONFIG_CMDLINE_EXTEND) || l <= 0 || p[0] == '\0') in early_cmdline_parse()
979 .mask = cpu_to_be32(0xfffe0000), /* POWER5/POWER5+ */
980 .val = cpu_to_be32(0x003a0000),
983 .mask = cpu_to_be32(0xffff0000), /* POWER6 */
984 .val = cpu_to_be32(0x003e0000),
987 .mask = cpu_to_be32(0xffff0000), /* POWER7 */
988 .val = cpu_to_be32(0x003f0000),
991 .mask = cpu_to_be32(0xffff0000), /* POWER8E */
992 .val = cpu_to_be32(0x004b0000),
995 .mask = cpu_to_be32(0xffff0000), /* POWER8NVL */
996 .val = cpu_to_be32(0x004c0000),
999 .mask = cpu_to_be32(0xffff0000), /* POWER8 */
1000 .val = cpu_to_be32(0x004d0000),
1003 .mask = cpu_to_be32(0xffff0000), /* POWER9 */
1004 .val = cpu_to_be32(0x004e0000),
1007 .mask = cpu_to_be32(0xffff0000), /* POWER10 */
1008 .val = cpu_to_be32(0x00800000),
1011 .mask = cpu_to_be32(0xffff0000), /* POWER11 */
1012 .val = cpu_to_be32(0x00820000),
1015 .mask = cpu_to_be32(0xffffffff), /* P11 compliant */
1016 .val = cpu_to_be32(0x0f000007),
1019 .mask = cpu_to_be32(0xffffffff), /* all 3.1-compliant */
1020 .val = cpu_to_be32(0x0f000006),
1023 .mask = cpu_to_be32(0xffffffff), /* all 3.00-compliant */
1024 .val = cpu_to_be32(0x0f000005),
1027 .mask = cpu_to_be32(0xffffffff), /* all 2.07-compliant */
1028 .val = cpu_to_be32(0x0f000004),
1031 .mask = cpu_to_be32(0xffffffff), /* all 2.06-compliant */
1032 .val = cpu_to_be32(0x0f000003),
1035 .mask = cpu_to_be32(0xffffffff), /* all 2.05-compliant */
1036 .val = cpu_to_be32(0x0f000002),
1039 .mask = cpu_to_be32(0xfffffffe), /* all 2.04-compliant and earlier */
1040 .val = cpu_to_be32(0x0f000001),
1048 .byte1 = 0,
1058 .reserved = 0,
1059 .real_base = cpu_to_be32(0xffffffff),
1060 .real_size = cpu_to_be32(0xffffffff),
1061 .virt_base = cpu_to_be32(0xffffffff),
1062 .virt_size = cpu_to_be32(0xffffffff),
1063 .load_base = cpu_to_be32(0xffffffff),
1065 .min_load = cpu_to_be32(0xffffffff), /* full client load */
1066 .min_rma_percent = 0, /* min RMA percentage of total RAM */
1073 .byte1 = 0, /* don't ignore, don't halt */
1080 .byte1 = 0, /* don't halt */
1087 .byte1 = 0, /* don't ignore, don't halt */
1094 0,
1096 .byte3 = 0,
1101 0,
1106 .micro_checkpoint = 0,
1107 .reserved0 = 0,
1109 .papr_level = 0,
1110 .reserved1 = 0,
1112 .reserved2 = 0,
1113 .reserved3 = 0,
1116 .intarch = 0,
1117 .mmu = 0,
1118 .hash_ext = 0,
1119 .radix_ext = 0,
1125 .reserved = 0,
1126 .secondary_pteg = 0,
1173 .e_ident = { 0x7f, 'E', 'L', 'F',
1183 [0] = {
1196 .type = 0x1275,
1199 .real_mode = ~0U, /* ~0 means "don't care" */
1200 .real_base = ~0U,
1201 .real_size = ~0U,
1202 .virt_base = ~0U,
1203 .virt_size = ~0U,
1204 .load_base = ~0U
1210 .type = 0x12759999,
1213 .lpar_affinity = 0,
1215 .min_rmo_percent = 0,
1218 .min_load = ~0U,
1219 .new_mem_def = 0
1232 for (node = 0; prom_next_node(&node); ) { in prom_count_smt_threads()
1233 type[0] = 0; in prom_count_smt_threads()
1289 prom_debug("Unknown mmu support option: 0x%x\n", val); in prom_parse_mmu_model()
1317 prom_debug("Unknown xive support option: 0x%x\n", val); in prom_parse_xive_model()
1371 for (i = 0; i < prop_len; i += 2) { in prom_check_platform_support()
1372 prom_debug("%d: index = 0x%x val = 0x%x\n", i / 2, vec[i], vec[i + 1]); in prom_check_platform_support()
1411 if (root != 0) { in prom_send_capabilities()
1430 ADDR(&ibm_architecture_vec)) == 0) { in prom_send_capabilities()
1435 call_prom("close", 1, 0, root); in prom_send_capabilities()
1439 call_prom("close", 1, 0, root); in prom_send_capabilities()
1450 if (elfloader == 0) { in prom_send_capabilities()
1456 call_prom("close", 1, 0, elfloader); in prom_send_capabilities()
1467 * We assume this won't override the final kernel at 0, we have no
1491 * When align is 0, this is a special case, it means to allocate in place
1498 unsigned long addr = 0; in alloc_up()
1503 if (ram_top == 0) in alloc_up()
1512 base = ALIGN(base + 0x100000, align)) { in alloc_up()
1513 prom_debug(" trying: 0x%lx\n\r", base); in alloc_up()
1514 addr = (unsigned long)prom_claim(base, size, 0); in alloc_up()
1515 if (addr != PROM_ERROR && addr != 0) in alloc_up()
1517 addr = 0; in alloc_up()
1518 if (align == 0) in alloc_up()
1521 if (addr == 0) in alloc_up()
1522 return 0; in alloc_up()
1543 unsigned long base, addr = 0; in alloc_down()
1547 if (ram_top == 0) in alloc_down()
1554 return 0; in alloc_down()
1564 return 0; in alloc_down()
1572 base = ALIGN_DOWN(base - 0x100000, align)) { in alloc_down()
1573 prom_debug(" trying: 0x%lx\n\r", base); in alloc_down()
1574 addr = (unsigned long)prom_claim(base, size, 0); in alloc_down()
1575 if (addr != PROM_ERROR && addr != 0) in alloc_down()
1577 addr = 0; in alloc_down()
1579 if (addr == 0) in alloc_down()
1580 return 0; in alloc_down()
1600 unsigned long r = 0; in prom_next_cell()
1631 if (size == 0) in reserve_mem()
1635 * have our terminator with "size" set to 0 since we are in reserve_mem()
1678 for (node = 0; prom_next_node(&node); ) { in prom_init_mem()
1679 type[0] = 0; in prom_init_mem()
1682 if (type[0] == 0) { in prom_init_mem()
1701 memset(prom_scratch, 0, sizeof(prom_scratch)); in prom_init_mem()
1713 if (size == 0) in prom_init_mem()
1716 if (base == 0 && (of_platform & PLATFORM_LPAR)) in prom_init_mem()
1723 alloc_bottom = PAGE_ALIGN((unsigned long)&_end + 0x4000); in prom_init_mem()
1737 prom_memory_limit = 0; in prom_init_mem()
1741 prom_memory_limit = 0; in prom_init_mem()
1750 * segment 0 when running non-LPAR. in prom_init_mem()
1758 rmo_top = min(0x30000000ul, rmo_top); in prom_init_mem()
1786 if (prom_getprop(prom.chosen, "stdin", &val, sizeof(val)) > 0) { in prom_close_stdin()
1788 call_prom("close", 1, 0, stdin); in prom_close_stdin()
1820 val = 0; in prom_rtas_os_term()
1824 if (token == 0) in prom_rtas_os_term()
1829 os_term_args.args[0] = cpu_to_be32(__pa(str)); in prom_rtas_os_term()
1841 u32 base, entry = 0; in prom_instantiate_rtas()
1843 u32 size = 0; in prom_instantiate_rtas()
1852 val = 0; in prom_instantiate_rtas()
1855 if (size == 0) in prom_instantiate_rtas()
1858 base = alloc_down(size, PAGE_SIZE, 0); in prom_instantiate_rtas()
1859 if (base == 0) in prom_instantiate_rtas()
1868 prom_printf("instantiating rtas at 0x%x...", base); in prom_instantiate_rtas()
1872 rtas_inst, base) != 0 in prom_instantiate_rtas()
1873 || entry == 0) { in prom_instantiate_rtas()
1893 prom_debug("rtas base = 0x%x\n", base); in prom_instantiate_rtas()
1894 prom_debug("rtas entry = 0x%x\n", entry); in prom_instantiate_rtas()
1895 prom_debug("rtas size = 0x%x\n", size); in prom_instantiate_rtas()
1908 u32 entry = 0, size = 0, succ = 0; in prom_instantiate_sml()
1929 ibmvtpm_inst) != 0 || succ == 0) { in prom_instantiate_sml()
1936 ibmvtpm_inst) != 0 || size == 0) { in prom_instantiate_sml()
1943 ibmvtpm_inst) != 0 || size == 0) { in prom_instantiate_sml()
1949 base = alloc_down(size, PAGE_SIZE, 0); in prom_instantiate_sml()
1950 if (base == 0) in prom_instantiate_sml()
1953 prom_printf("instantiating sml at 0x%llx...", base); in prom_instantiate_sml()
1955 memset((void *)base, 0, size); in prom_instantiate_sml()
1959 ibmvtpm_inst, size, base) != 0 || entry == 0) { in prom_instantiate_sml()
1972 prom_debug("sml base = 0x%llx\n", base); in prom_instantiate_sml()
1973 prom_debug("sml size = 0x%x\n", size); in prom_instantiate_sml()
2004 for (node = 0; prom_next_node(&node); ) { in prom_initialize_tce_table()
2005 compatible[0] = 0; in prom_initialize_tce_table()
2006 type[0] = 0; in prom_initialize_tce_table()
2007 model[0] = 0; in prom_initialize_tce_table()
2013 if ((type[0] == 0) || (prom_strstr(type, "pci") == NULL)) in prom_initialize_tce_table()
2017 if (compatible[0] != 0) { in prom_initialize_tce_table()
2022 } else if (model[0] != 0) { in prom_initialize_tce_table()
2031 minalign = 0; in prom_initialize_tce_table()
2047 if (base == 0) in prom_initialize_tce_table()
2053 memset(path, 0, sizeof(prom_scratch)); in prom_initialize_tce_table()
2065 prom_debug("\tnode = 0x%x\n", node); in prom_initialize_tce_table()
2066 prom_debug("\tbase = 0x%llx\n", base); in prom_initialize_tce_table()
2067 prom_debug("\tsize = 0x%x\n", minsize); in prom_initialize_tce_table()
2073 for (i = 0; i < (minsize >> 3) ;tce_entryp++, i++) { in prom_initialize_tce_table()
2075 tce_entry |= 0x3; in prom_initialize_tce_table()
2081 if (phb_node == 0) in prom_initialize_tce_table()
2086 call_prom("call-method", 6, 0, ADDR("set-64-bit-addressing"), in prom_initialize_tce_table()
2089 call_prom("close", 1, 0, phb_node); in prom_initialize_tce_table()
2118 * We also use physical address 0x4 here to tell when a cpu
2125 * 0 - 0x100 address range
2127 #define LOW_ADDR(x) (((unsigned long) &(x)) & 0xff)
2153 prom_debug(" 1) spinloop = 0x%lx\n", (unsigned long)spinloop); in prom_hold_cpus()
2154 prom_debug(" 1) *spinloop = 0x%lx\n", *spinloop); in prom_hold_cpus()
2155 prom_debug(" 1) acknowledge = 0x%lx\n", in prom_hold_cpus()
2157 prom_debug(" 1) *acknowledge = 0x%lx\n", *acknowledge); in prom_hold_cpus()
2158 prom_debug(" 1) secondary_hold = 0x%lx\n", secondary_hold); in prom_hold_cpus()
2165 *spinloop = 0; in prom_hold_cpus()
2168 for (node = 0; prom_next_node(&node); ) { in prom_hold_cpus()
2172 type[0] = 0; in prom_hold_cpus()
2174 if (prom_strcmp(type, "cpu") != 0) in prom_hold_cpus()
2178 if (prom_getprop(node, "status", type, sizeof(type)) > 0) in prom_hold_cpus()
2179 if (prom_strcmp(type, "okay") != 0) in prom_hold_cpus()
2197 call_prom("start-cpu", 3, 0, node, in prom_hold_cpus()
2200 for (i = 0; (i < 100000000) && in prom_hold_cpus()
2234 prom.mmumap = 0; in prom_init_client_services()
2251 if (prom_getprop(oprom, "model", version, sizeof(version)) <= 0) in prom_find_mmu()
2253 version[sizeof(version) - 1] = 0; in prom_find_mmu()
2255 if (prom_strcmp(version, "Open Firmware, 1.0.5") == 0) in prom_find_mmu()
2257 else if (prom_strncmp(version, "FirmWorks,3.", 12) == 0) { in prom_find_mmu()
2259 call_prom("interpret", 1, 1, "dev /memory 0 to allow-reclaim"); in prom_find_mmu()
2280 if (prom_getprop(prom.chosen, "stdout", &val, sizeof(val)) <= 0) in prom_init_stdout()
2286 memset(path, 0, 256); in prom_init_stdout()
2298 memset(type, 0, sizeof(type)); in prom_init_stdout()
2300 if (prom_strcmp(type, "display") == 0) in prom_init_stdout()
2301 prom_setprop(stdout_node, path, "linux,boot-display", NULL, 0); in prom_init_stdout()
2308 int len, i = 0; in prom_find_machine_type()
2317 if (len > 0) { in prom_find_machine_type()
2318 compat[len] = 0; in prom_find_machine_type()
2322 if (sl == 0) in prom_find_machine_type()
2348 if (len <= 0) in prom_find_machine_type()
2389 0x00, 0x00, 0x00, in prom_check_displays()
2390 0x00, 0x00, 0xaa, in prom_check_displays()
2391 0x00, 0xaa, 0x00, in prom_check_displays()
2392 0x00, 0xaa, 0xaa, in prom_check_displays()
2393 0xaa, 0x00, 0x00, in prom_check_displays()
2394 0xaa, 0x00, 0xaa, in prom_check_displays()
2395 0xaa, 0xaa, 0x00, in prom_check_displays()
2396 0xaa, 0xaa, 0xaa, in prom_check_displays()
2397 0x55, 0x55, 0x55, in prom_check_displays()
2398 0x55, 0x55, 0xff, in prom_check_displays()
2399 0x55, 0xff, 0x55, in prom_check_displays()
2400 0x55, 0xff, 0xff, in prom_check_displays()
2401 0xff, 0x55, 0x55, in prom_check_displays()
2402 0xff, 0x55, 0xff, in prom_check_displays()
2403 0xff, 0xff, 0x55, in prom_check_displays()
2404 0xff, 0xff, 0xff in prom_check_displays()
2409 for (node = 0; prom_next_node(&node); ) { in prom_check_displays()
2410 memset(type, 0, sizeof(type)); in prom_check_displays()
2412 if (prom_strcmp(type, "display") != 0) in prom_check_displays()
2417 memset(path, 0, sizeof(prom_scratch)); in prom_check_displays()
2429 if (ih == 0) { in prom_check_displays()
2436 prom_setprop(node, path, "linux,opened", NULL, 0); in prom_check_displays()
2441 for (i = 0; i < 16; i++, clut += 3) in prom_check_displays()
2442 if (prom_set_color(ih, i, clut[0], clut[1], in prom_check_displays()
2443 clut[2]) != 0) in prom_check_displays()
2448 for (i = 0; i < logo_linux_clut224.clutsize; i++, clut += 3) in prom_check_displays()
2449 if (prom_set_color(ih, i + 32, clut[0], clut[1], in prom_check_displays()
2450 clut[2]) != 0) in prom_check_displays()
2455 if (prom_getprop(node, "linux,boot-display", NULL, 0) != in prom_check_displays()
2473 prom_printf("W=%d H=%d LB=%d addr=0x%x\n", in prom_check_displays()
2501 chunk = alloc_up(room, 0); in make_room()
2502 if (chunk == 0) in make_room()
2517 } while(0)
2526 if (prom_strcmp(s, str) == 0) in dt_find_string()
2530 return 0; in dt_find_string()
2561 if (prom_strcmp(namep, "name") == 0) { in scan_dt_build_strings()
2568 if (soff != 0) { in scan_dt_build_strings()
2581 while (child != 0) { in scan_dt_build_strings()
2595 int l, room, has_phandle = 0; in scan_dt_build_struct()
2605 if (l >= 0) { in scan_dt_build_struct()
2612 namep[l] = '\0'; in scan_dt_build_struct()
2614 /* Fixup an Apple bug where they have bogus \0 chars in the in scan_dt_build_struct()
2621 else if (*p != 0) in scan_dt_build_struct()
2624 *lp = 0; in scan_dt_build_struct()
2630 memset(path, 0, sizeof(prom_scratch)); in scan_dt_build_struct()
2642 if (prom_strcmp(pname, "name") == 0) { in scan_dt_build_struct()
2649 if (soff == 0) { in scan_dt_build_struct()
2680 if (soff == 0) in scan_dt_build_struct()
2693 while (child != 0) { in scan_dt_build_struct()
2713 room = alloc_top - alloc_bottom - 0x4000; in flatten_device_tree()
2720 if (mem_start == 0) in flatten_device_tree()
2725 root = call_prom("peer", 1, 1, (phandle)0); in flatten_device_tree()
2726 if (root == (phandle)0) in flatten_device_tree()
2769 hdr->last_comp_version = cpu_to_be32(0x10); in flatten_device_tree()
2778 for (i = 0; i < mem_reserve_cnt; i++) in flatten_device_tree()
2789 prom_printf("Device tree strings 0x%lx -> 0x%lx\n", in flatten_device_tree()
2791 prom_printf("Device tree struct 0x%lx -> 0x%lx\n", in flatten_device_tree()
2804 u32 rloc = 0x01006000; /* IO space; PCI device = 12 */ in fixup_device_tree_chrp()
2813 rloc = 0x01003000; /* IO space; PCI device = 6 */ in fixup_device_tree_chrp()
2817 if (rc == 0 || rc == PROM_ERROR) { in fixup_device_tree_chrp()
2820 prop[0] = 0x1; in fixup_device_tree_chrp()
2821 prop[1] = 0x0; in fixup_device_tree_chrp()
2823 prop[3] = 0x0; in fixup_device_tree_chrp()
2824 prop[4] = 0x0; in fixup_device_tree_chrp()
2825 prop[5] = 0x00010000; in fixup_device_tree_chrp()
2834 prop[0] = 14; in fixup_device_tree_chrp()
2835 prop[1] = 0x0; in fixup_device_tree_chrp()
2840 prop[0] &= ~0x5; in fixup_device_tree_chrp()
2854 u3 = call_prom("finddevice", 1, 1, ADDR("/u3@0,f8000000")); in fixup_device_tree_pmac64()
2857 i2c = call_prom("finddevice", 1, 1, ADDR("/u3@0,f8000000/i2c@f8001000")); in fixup_device_tree_pmac64()
2860 mpic = call_prom("finddevice", 1, 1, ADDR("/u3@0,f8000000/mpic@f8040000")); in fixup_device_tree_pmac64()
2868 if (u3_rev < 0x35 || u3_rev > 0x39) in fixup_device_tree_pmac64()
2871 if (prom_getproplen(i2c, "interrupts") > 0) in fixup_device_tree_pmac64()
2876 /* interrupt on this revision of u3 is number 0 and level */ in fixup_device_tree_pmac64()
2877 interrupts[0] = 0; in fixup_device_tree_pmac64()
2879 prom_setprop(i2c, "/u3@0,f8000000/i2c@f8001000", "interrupts", in fixup_device_tree_pmac64()
2882 prom_setprop(i2c, "/u3@0,f8000000/i2c@f8001000", "interrupt-parent", in fixup_device_tree_pmac64()
2893 for (node = 0; prom_next_node(&node); ) { in fixup_device_tree_pmac()
2894 type[0] = '\0'; in fixup_device_tree_pmac()
2926 if (rv <= 0) in fixup_device_tree_efika_add_phy()
2942 " 0 encode-int s\" #size-cells\" property" in fixup_device_tree_efika_add_phy()
2946 " 0xf0003000 0x400 reg" in fixup_device_tree_efika_add_phy()
2947 " 0x2 encode-int" in fixup_device_tree_efika_add_phy()
2948 " 0x5 encode-int encode+" in fixup_device_tree_efika_add_phy()
2949 " 0x3 encode-int encode+" in fixup_device_tree_efika_add_phy()
2964 " 0x10 encode-int s\" reg\" property" in fixup_device_tree_efika_add_phy()
2977 int sound_irq[3] = { 2, 2, 0 }; in fixup_device_tree_efika()
2978 int bcomm_irq[3*16] = { 3,0,0, 3,1,0, 3,2,0, 3,3,0, in fixup_device_tree_efika()
2979 3,4,0, 3,5,0, 3,6,0, 3,7,0, in fixup_device_tree_efika()
2980 3,8,0, 3,9,0, 3,10,0, 3,11,0, in fixup_device_tree_efika()
2981 3,12,0, 3,13,0, 3,14,0, 3,15,0 }; in fixup_device_tree_efika()
3002 if (rv != PROM_ERROR && (prom_strcmp(prop, "chrp") == 0)) in fixup_device_tree_efika()
3047 u32 interrupts[2], parent, rval, val = 0; in fixup_device_tree_pasemi()
3052 name = "/pxp@0,e0000000"; in fixup_device_tree_pasemi()
3063 prom_setprop(iob, name, "interrupt-controller", &val, 0); in fixup_device_tree_pasemi()
3065 pci_name = "/pxp@0,e0000000/pci@11"; in fixup_device_tree_pasemi()
3075 if (rval == 0 || rval == PROM_ERROR) in fixup_device_tree_pasemi()
3079 if ((interrupts[0] < 212) || (interrupts[0] > 222)) in fixup_device_tree_pasemi()
3083 if ((interrupts[0] >= 212) && (interrupts[0] <= 215)) in fixup_device_tree_pasemi()
3084 interrupts[0] -= 203; in fixup_device_tree_pasemi()
3085 if ((interrupts[0] >= 216) && (interrupts[0] <= 220)) in fixup_device_tree_pasemi()
3086 interrupts[0] -= 213; in fixup_device_tree_pasemi()
3087 if (interrupts[0] == 221) in fixup_device_tree_pasemi()
3088 interrupts[0] = 14; in fixup_device_tree_pasemi()
3089 if (interrupts[0] == 222) in fixup_device_tree_pasemi()
3090 interrupts[0] = 8; in fixup_device_tree_pasemi()
3103 name = "/pxp@0,e0000000/io-bridge@0"; in fixup_device_tree_pasemi()
3139 rval = 0; in prom_find_boot_cpu()
3140 if (prom_getprop(prom.chosen, "cpu", &rval, sizeof(rval)) <= 0) in prom_find_boot_cpu()
3158 if (r3 && r4 && r4 != 0xdeadbeef) { in prom_check_initrd()
3174 prom_debug("initrd_start=0x%lx\n", prom_initrd_start); in prom_check_initrd()
3175 prom_debug("initrd_end=0x%lx\n", prom_initrd_end); in prom_check_initrd()
3251 memset(&__bss_start, 0, __bss_stop - __bss_start); in prom_init()
3281 if (PHYSICAL_START > 0) in prom_init()
3308 copy_and_flush(0, kbase, 0x100, 0); in prom_init()
3368 NULL, 0); in prom_init()
3372 NULL, 0); in prom_init()
3408 call_prom("quiesce", 0, 0); in prom_init()
3417 prom_printf("Booting Linux via __start() @ 0x%lx ...\n", kbase); in prom_init()
3418 prom_debug("->dt_header_start=0x%lx\n", hdr); in prom_init()
3427 __start(hdr, kbase, 0, 0, 0, 0, 0); in prom_init()
3429 return 0; in prom_init()