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()
821 prom_memory_limit = ALIGN(prom_memory_limit, 0x1000000); 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(0xffffffff), /* all 3.1-compliant */
1012 .val = cpu_to_be32(0x0f000006),
1015 .mask = cpu_to_be32(0xffffffff), /* all 3.00-compliant */
1016 .val = cpu_to_be32(0x0f000005),
1019 .mask = cpu_to_be32(0xffffffff), /* all 2.07-compliant */
1020 .val = cpu_to_be32(0x0f000004),
1023 .mask = cpu_to_be32(0xffffffff), /* all 2.06-compliant */
1024 .val = cpu_to_be32(0x0f000003),
1027 .mask = cpu_to_be32(0xffffffff), /* all 2.05-compliant */
1028 .val = cpu_to_be32(0x0f000002),
1031 .mask = cpu_to_be32(0xfffffffe), /* all 2.04-compliant and earlier */
1032 .val = cpu_to_be32(0x0f000001),
1040 .byte1 = 0,
1050 .reserved = 0,
1051 .real_base = cpu_to_be32(0xffffffff),
1052 .real_size = cpu_to_be32(0xffffffff),
1053 .virt_base = cpu_to_be32(0xffffffff),
1054 .virt_size = cpu_to_be32(0xffffffff),
1055 .load_base = cpu_to_be32(0xffffffff),
1057 .min_load = cpu_to_be32(0xffffffff), /* full client load */
1058 .min_rma_percent = 0, /* min RMA percentage of total RAM */
1065 .byte1 = 0, /* don't ignore, don't halt */
1072 .byte1 = 0, /* don't halt */
1079 .byte1 = 0, /* don't ignore, don't halt */
1086 0,
1088 .byte3 = 0,
1093 0,
1098 .micro_checkpoint = 0,
1099 .reserved0 = 0,
1101 .papr_level = 0,
1102 .reserved1 = 0,
1104 .reserved2 = 0,
1105 .reserved3 = 0,
1108 .intarch = 0,
1109 .mmu = 0,
1110 .hash_ext = 0,
1111 .radix_ext = 0,
1117 .reserved = 0,
1118 .secondary_pteg = 0,
1165 .e_ident = { 0x7f, 'E', 'L', 'F',
1175 [0] = {
1188 .type = 0x1275,
1191 .real_mode = ~0U, /* ~0 means "don't care" */
1192 .real_base = ~0U,
1193 .real_size = ~0U,
1194 .virt_base = ~0U,
1195 .virt_size = ~0U,
1196 .load_base = ~0U
1202 .type = 0x12759999,
1205 .lpar_affinity = 0,
1207 .min_rmo_percent = 0,
1210 .min_load = ~0U,
1211 .new_mem_def = 0
1224 for (node = 0; prom_next_node(&node); ) { in prom_count_smt_threads()
1225 type[0] = 0; in prom_count_smt_threads()
1281 prom_debug("Unknown mmu support option: 0x%x\n", val); in prom_parse_mmu_model()
1309 prom_debug("Unknown xive support option: 0x%x\n", val); in prom_parse_xive_model()
1363 for (i = 0; i < prop_len; i += 2) { in prom_check_platform_support()
1364 prom_debug("%d: index = 0x%x val = 0x%x\n", i / 2, vec[i], vec[i + 1]); in prom_check_platform_support()
1403 if (root != 0) { in prom_send_capabilities()
1422 ADDR(&ibm_architecture_vec)) == 0) { in prom_send_capabilities()
1427 call_prom("close", 1, 0, root); in prom_send_capabilities()
1431 call_prom("close", 1, 0, root); in prom_send_capabilities()
1442 if (elfloader == 0) { in prom_send_capabilities()
1448 call_prom("close", 1, 0, elfloader); in prom_send_capabilities()
1459 * We assume this won't override the final kernel at 0, we have no
1483 * When align is 0, this is a special case, it means to allocate in place
1490 unsigned long addr = 0; in alloc_up()
1495 if (ram_top == 0) in alloc_up()
1504 base = ALIGN(base + 0x100000, align)) { in alloc_up()
1505 prom_debug(" trying: 0x%lx\n\r", base); in alloc_up()
1506 addr = (unsigned long)prom_claim(base, size, 0); in alloc_up()
1507 if (addr != PROM_ERROR && addr != 0) in alloc_up()
1509 addr = 0; in alloc_up()
1510 if (align == 0) in alloc_up()
1513 if (addr == 0) in alloc_up()
1514 return 0; in alloc_up()
1535 unsigned long base, addr = 0; in alloc_down()
1539 if (ram_top == 0) in alloc_down()
1546 return 0; in alloc_down()
1556 return 0; in alloc_down()
1564 base = ALIGN_DOWN(base - 0x100000, align)) { in alloc_down()
1565 prom_debug(" trying: 0x%lx\n\r", base); in alloc_down()
1566 addr = (unsigned long)prom_claim(base, size, 0); in alloc_down()
1567 if (addr != PROM_ERROR && addr != 0) in alloc_down()
1569 addr = 0; in alloc_down()
1571 if (addr == 0) in alloc_down()
1572 return 0; in alloc_down()
1592 unsigned long r = 0; in prom_next_cell()
1623 if (size == 0) in reserve_mem()
1627 * have our terminator with "size" set to 0 since we are in reserve_mem()
1670 for (node = 0; prom_next_node(&node); ) { in prom_init_mem()
1671 type[0] = 0; in prom_init_mem()
1674 if (type[0] == 0) { in prom_init_mem()
1693 memset(prom_scratch, 0, sizeof(prom_scratch)); in prom_init_mem()
1705 if (size == 0) in prom_init_mem()
1708 if (base == 0 && (of_platform & PLATFORM_LPAR)) in prom_init_mem()
1715 alloc_bottom = PAGE_ALIGN((unsigned long)&_end + 0x4000); in prom_init_mem()
1729 prom_memory_limit = 0; in prom_init_mem()
1733 prom_memory_limit = 0; in prom_init_mem()
1742 * segment 0 when running non-LPAR. in prom_init_mem()
1750 rmo_top = min(0x30000000ul, rmo_top); in prom_init_mem()
1778 if (prom_getprop(prom.chosen, "stdin", &val, sizeof(val)) > 0) { in prom_close_stdin()
1780 call_prom("close", 1, 0, stdin); in prom_close_stdin()
1812 val = 0; in prom_rtas_os_term()
1816 if (token == 0) in prom_rtas_os_term()
1821 os_term_args.args[0] = cpu_to_be32(__pa(str)); in prom_rtas_os_term()
1833 u32 base, entry = 0; in prom_instantiate_rtas()
1835 u32 size = 0; in prom_instantiate_rtas()
1844 val = 0; in prom_instantiate_rtas()
1847 if (size == 0) in prom_instantiate_rtas()
1850 base = alloc_down(size, PAGE_SIZE, 0); in prom_instantiate_rtas()
1851 if (base == 0) in prom_instantiate_rtas()
1860 prom_printf("instantiating rtas at 0x%x...", base); in prom_instantiate_rtas()
1864 rtas_inst, base) != 0 in prom_instantiate_rtas()
1865 || entry == 0) { in prom_instantiate_rtas()
1885 prom_debug("rtas base = 0x%x\n", base); in prom_instantiate_rtas()
1886 prom_debug("rtas entry = 0x%x\n", entry); in prom_instantiate_rtas()
1887 prom_debug("rtas size = 0x%x\n", size); in prom_instantiate_rtas()
1900 u32 entry = 0, size = 0, succ = 0; in prom_instantiate_sml()
1921 ibmvtpm_inst) != 0 || succ == 0) { in prom_instantiate_sml()
1928 ibmvtpm_inst) != 0 || size == 0) { in prom_instantiate_sml()
1935 ibmvtpm_inst) != 0 || size == 0) { in prom_instantiate_sml()
1941 base = alloc_down(size, PAGE_SIZE, 0); in prom_instantiate_sml()
1942 if (base == 0) in prom_instantiate_sml()
1945 prom_printf("instantiating sml at 0x%llx...", base); in prom_instantiate_sml()
1947 memset((void *)base, 0, size); in prom_instantiate_sml()
1951 ibmvtpm_inst, size, base) != 0 || entry == 0) { in prom_instantiate_sml()
1964 prom_debug("sml base = 0x%llx\n", base); in prom_instantiate_sml()
1965 prom_debug("sml size = 0x%x\n", size); in prom_instantiate_sml()
1996 for (node = 0; prom_next_node(&node); ) { in prom_initialize_tce_table()
1997 compatible[0] = 0; in prom_initialize_tce_table()
1998 type[0] = 0; in prom_initialize_tce_table()
1999 model[0] = 0; in prom_initialize_tce_table()
2005 if ((type[0] == 0) || (prom_strstr(type, "pci") == NULL)) in prom_initialize_tce_table()
2009 if (compatible[0] != 0) { in prom_initialize_tce_table()
2014 } else if (model[0] != 0) { in prom_initialize_tce_table()
2023 minalign = 0; in prom_initialize_tce_table()
2039 if (base == 0) in prom_initialize_tce_table()
2045 memset(path, 0, sizeof(prom_scratch)); in prom_initialize_tce_table()
2057 prom_debug("\tnode = 0x%x\n", node); in prom_initialize_tce_table()
2058 prom_debug("\tbase = 0x%llx\n", base); in prom_initialize_tce_table()
2059 prom_debug("\tsize = 0x%x\n", minsize); in prom_initialize_tce_table()
2065 for (i = 0; i < (minsize >> 3) ;tce_entryp++, i++) { in prom_initialize_tce_table()
2067 tce_entry |= 0x3; in prom_initialize_tce_table()
2073 if (phb_node == 0) in prom_initialize_tce_table()
2078 call_prom("call-method", 6, 0, ADDR("set-64-bit-addressing"), in prom_initialize_tce_table()
2081 call_prom("close", 1, 0, phb_node); in prom_initialize_tce_table()
2110 * We also use physical address 0x4 here to tell when a cpu
2117 * 0 - 0x100 address range
2119 #define LOW_ADDR(x) (((unsigned long) &(x)) & 0xff)
2145 prom_debug(" 1) spinloop = 0x%lx\n", (unsigned long)spinloop); in prom_hold_cpus()
2146 prom_debug(" 1) *spinloop = 0x%lx\n", *spinloop); in prom_hold_cpus()
2147 prom_debug(" 1) acknowledge = 0x%lx\n", in prom_hold_cpus()
2149 prom_debug(" 1) *acknowledge = 0x%lx\n", *acknowledge); in prom_hold_cpus()
2150 prom_debug(" 1) secondary_hold = 0x%lx\n", secondary_hold); in prom_hold_cpus()
2157 *spinloop = 0; in prom_hold_cpus()
2160 for (node = 0; prom_next_node(&node); ) { in prom_hold_cpus()
2164 type[0] = 0; in prom_hold_cpus()
2166 if (prom_strcmp(type, "cpu") != 0) in prom_hold_cpus()
2170 if (prom_getprop(node, "status", type, sizeof(type)) > 0) in prom_hold_cpus()
2171 if (prom_strcmp(type, "okay") != 0) in prom_hold_cpus()
2189 call_prom("start-cpu", 3, 0, node, in prom_hold_cpus()
2192 for (i = 0; (i < 100000000) && in prom_hold_cpus()
2226 prom.mmumap = 0; in prom_init_client_services()
2243 if (prom_getprop(oprom, "model", version, sizeof(version)) <= 0) in prom_find_mmu()
2245 version[sizeof(version) - 1] = 0; in prom_find_mmu()
2247 if (prom_strcmp(version, "Open Firmware, 1.0.5") == 0) in prom_find_mmu()
2249 else if (prom_strncmp(version, "FirmWorks,3.", 12) == 0) { in prom_find_mmu()
2251 call_prom("interpret", 1, 1, "dev /memory 0 to allow-reclaim"); in prom_find_mmu()
2272 if (prom_getprop(prom.chosen, "stdout", &val, sizeof(val)) <= 0) in prom_init_stdout()
2278 memset(path, 0, 256); in prom_init_stdout()
2290 memset(type, 0, sizeof(type)); in prom_init_stdout()
2292 if (prom_strcmp(type, "display") == 0) in prom_init_stdout()
2293 prom_setprop(stdout_node, path, "linux,boot-display", NULL, 0); in prom_init_stdout()
2300 int len, i = 0; in prom_find_machine_type()
2309 if (len > 0) { in prom_find_machine_type()
2310 compat[len] = 0; in prom_find_machine_type()
2314 if (sl == 0) in prom_find_machine_type()
2340 if (len <= 0) in prom_find_machine_type()
2381 0x00, 0x00, 0x00, in prom_check_displays()
2382 0x00, 0x00, 0xaa, in prom_check_displays()
2383 0x00, 0xaa, 0x00, in prom_check_displays()
2384 0x00, 0xaa, 0xaa, in prom_check_displays()
2385 0xaa, 0x00, 0x00, in prom_check_displays()
2386 0xaa, 0x00, 0xaa, in prom_check_displays()
2387 0xaa, 0xaa, 0x00, in prom_check_displays()
2388 0xaa, 0xaa, 0xaa, in prom_check_displays()
2389 0x55, 0x55, 0x55, in prom_check_displays()
2390 0x55, 0x55, 0xff, in prom_check_displays()
2391 0x55, 0xff, 0x55, in prom_check_displays()
2392 0x55, 0xff, 0xff, in prom_check_displays()
2393 0xff, 0x55, 0x55, in prom_check_displays()
2394 0xff, 0x55, 0xff, in prom_check_displays()
2395 0xff, 0xff, 0x55, in prom_check_displays()
2396 0xff, 0xff, 0xff in prom_check_displays()
2401 for (node = 0; prom_next_node(&node); ) { in prom_check_displays()
2402 memset(type, 0, sizeof(type)); in prom_check_displays()
2404 if (prom_strcmp(type, "display") != 0) in prom_check_displays()
2409 memset(path, 0, sizeof(prom_scratch)); in prom_check_displays()
2421 if (ih == 0) { in prom_check_displays()
2428 prom_setprop(node, path, "linux,opened", NULL, 0); in prom_check_displays()
2433 for (i = 0; i < 16; i++, clut += 3) in prom_check_displays()
2434 if (prom_set_color(ih, i, clut[0], clut[1], in prom_check_displays()
2435 clut[2]) != 0) in prom_check_displays()
2440 for (i = 0; i < logo_linux_clut224.clutsize; i++, clut += 3) in prom_check_displays()
2441 if (prom_set_color(ih, i + 32, clut[0], clut[1], in prom_check_displays()
2442 clut[2]) != 0) in prom_check_displays()
2447 if (prom_getprop(node, "linux,boot-display", NULL, 0) != in prom_check_displays()
2465 prom_printf("W=%d H=%d LB=%d addr=0x%x\n", in prom_check_displays()
2493 chunk = alloc_up(room, 0); in make_room()
2494 if (chunk == 0) in make_room()
2509 } while(0)
2518 if (prom_strcmp(s, str) == 0) in dt_find_string()
2522 return 0; in dt_find_string()
2553 if (prom_strcmp(namep, "name") == 0) { in scan_dt_build_strings()
2560 if (soff != 0) { in scan_dt_build_strings()
2573 while (child != 0) { in scan_dt_build_strings()
2587 int l, room, has_phandle = 0; in scan_dt_build_struct()
2597 if (l >= 0) { in scan_dt_build_struct()
2604 namep[l] = '\0'; in scan_dt_build_struct()
2606 /* Fixup an Apple bug where they have bogus \0 chars in the in scan_dt_build_struct()
2613 else if (*p != 0) in scan_dt_build_struct()
2616 *lp = 0; in scan_dt_build_struct()
2622 memset(path, 0, sizeof(prom_scratch)); in scan_dt_build_struct()
2634 if (prom_strcmp(pname, "name") == 0) { in scan_dt_build_struct()
2641 if (soff == 0) { in scan_dt_build_struct()
2672 if (soff == 0) in scan_dt_build_struct()
2685 while (child != 0) { in scan_dt_build_struct()
2705 room = alloc_top - alloc_bottom - 0x4000; in flatten_device_tree()
2712 if (mem_start == 0) in flatten_device_tree()
2717 root = call_prom("peer", 1, 1, (phandle)0); in flatten_device_tree()
2718 if (root == (phandle)0) in flatten_device_tree()
2761 hdr->last_comp_version = cpu_to_be32(0x10); in flatten_device_tree()
2770 for (i = 0; i < mem_reserve_cnt; i++) in flatten_device_tree()
2781 prom_printf("Device tree strings 0x%lx -> 0x%lx\n", in flatten_device_tree()
2783 prom_printf("Device tree struct 0x%lx -> 0x%lx\n", in flatten_device_tree()
2793 u32 rloc = 0x01002000; /* IO space; PCI device = 4 */ in fixup_device_tree_maple()
2797 name = "/ht@0/isa@4"; in fixup_device_tree_maple()
2800 name = "/ht@0/isa@6"; in fixup_device_tree_maple()
2802 rloc = 0x01003000; /* IO space; PCI device = 6 */ in fixup_device_tree_maple()
2813 if (isa_ranges[0] != 0x1 || in fixup_device_tree_maple()
2814 isa_ranges[1] != 0xf4000000 || in fixup_device_tree_maple()
2815 isa_ranges[2] != 0x00010000) in fixup_device_tree_maple()
2820 isa_ranges[0] = 0x1; in fixup_device_tree_maple()
2821 isa_ranges[1] = 0x0; in fixup_device_tree_maple()
2823 isa_ranges[3] = 0x0; in fixup_device_tree_maple()
2824 isa_ranges[4] = 0x0; in fixup_device_tree_maple()
2825 isa_ranges[5] = 0x00010000; in fixup_device_tree_maple()
2830 #define CPC925_MC_START 0xf8000000
2831 #define CPC925_MC_LENGTH 0x1000000
2855 if (mc_reg[0] != CPC925_MC_START || mc_reg[1] != CPC925_MC_LENGTH) in fixup_device_tree_maple_memory_controller()
2860 mc_reg[0] = 0x0; in fixup_device_tree_maple_memory_controller()
2862 mc_reg[2] = 0x0; in fixup_device_tree_maple_memory_controller()
2881 u32 rloc = 0x01006000; /* IO space; PCI device = 12 */ in fixup_device_tree_chrp()
2890 rloc = 0x01003000; /* IO space; PCI device = 6 */ in fixup_device_tree_chrp()
2894 if (rc == 0 || rc == PROM_ERROR) { in fixup_device_tree_chrp()
2897 prop[0] = 0x1; in fixup_device_tree_chrp()
2898 prop[1] = 0x0; in fixup_device_tree_chrp()
2900 prop[3] = 0x0; in fixup_device_tree_chrp()
2901 prop[4] = 0x0; in fixup_device_tree_chrp()
2902 prop[5] = 0x00010000; in fixup_device_tree_chrp()
2911 prop[0] = 14; in fixup_device_tree_chrp()
2912 prop[1] = 0x0; in fixup_device_tree_chrp()
2917 prop[0] &= ~0x5; in fixup_device_tree_chrp()
2935 u3 = call_prom("finddevice", 1, 1, ADDR("/u3@0,f8000000")); in fixup_device_tree_pmac64()
2938 i2c = call_prom("finddevice", 1, 1, ADDR("/u3@0,f8000000/i2c@f8001000")); in fixup_device_tree_pmac64()
2941 mpic = call_prom("finddevice", 1, 1, ADDR("/u3@0,f8000000/mpic@f8040000")); in fixup_device_tree_pmac64()
2949 if (u3_rev < 0x35 || u3_rev > 0x39) in fixup_device_tree_pmac64()
2952 if (prom_getproplen(i2c, "interrupts") > 0) in fixup_device_tree_pmac64()
2957 /* interrupt on this revision of u3 is number 0 and level */ in fixup_device_tree_pmac64()
2958 interrupts[0] = 0; in fixup_device_tree_pmac64()
2960 prom_setprop(i2c, "/u3@0,f8000000/i2c@f8001000", "interrupts", in fixup_device_tree_pmac64()
2963 prom_setprop(i2c, "/u3@0,f8000000/i2c@f8001000", "interrupt-parent", in fixup_device_tree_pmac64()
2978 for (node = 0; prom_next_node(&node); ) { in fixup_device_tree_pmac()
2979 type[0] = '\0'; in fixup_device_tree_pmac()
3014 if (rv <= 0) in fixup_device_tree_efika_add_phy()
3030 " 0 encode-int s\" #size-cells\" property" in fixup_device_tree_efika_add_phy()
3034 " 0xf0003000 0x400 reg" in fixup_device_tree_efika_add_phy()
3035 " 0x2 encode-int" in fixup_device_tree_efika_add_phy()
3036 " 0x5 encode-int encode+" in fixup_device_tree_efika_add_phy()
3037 " 0x3 encode-int encode+" in fixup_device_tree_efika_add_phy()
3052 " 0x10 encode-int s\" reg\" property" in fixup_device_tree_efika_add_phy()
3065 int sound_irq[3] = { 2, 2, 0 }; in fixup_device_tree_efika()
3066 int bcomm_irq[3*16] = { 3,0,0, 3,1,0, 3,2,0, 3,3,0, in fixup_device_tree_efika()
3067 3,4,0, 3,5,0, 3,6,0, 3,7,0, in fixup_device_tree_efika()
3068 3,8,0, 3,9,0, 3,10,0, 3,11,0, in fixup_device_tree_efika()
3069 3,12,0, 3,13,0, 3,14,0, 3,15,0 }; in fixup_device_tree_efika()
3090 if (rv != PROM_ERROR && (prom_strcmp(prop, "chrp") == 0)) in fixup_device_tree_efika()
3139 u32 interrupts[2], parent, rval, val = 0; in fixup_device_tree_pasemi()
3144 name = "/pxp@0,e0000000"; in fixup_device_tree_pasemi()
3155 prom_setprop(iob, name, "interrupt-controller", &val, 0); in fixup_device_tree_pasemi()
3157 pci_name = "/pxp@0,e0000000/pci@11"; in fixup_device_tree_pasemi()
3167 if (rval == 0 || rval == PROM_ERROR) in fixup_device_tree_pasemi()
3171 if ((interrupts[0] < 212) || (interrupts[0] > 222)) in fixup_device_tree_pasemi()
3175 if ((interrupts[0] >= 212) && (interrupts[0] <= 215)) in fixup_device_tree_pasemi()
3176 interrupts[0] -= 203; in fixup_device_tree_pasemi()
3177 if ((interrupts[0] >= 216) && (interrupts[0] <= 220)) in fixup_device_tree_pasemi()
3178 interrupts[0] -= 213; in fixup_device_tree_pasemi()
3179 if (interrupts[0] == 221) in fixup_device_tree_pasemi()
3180 interrupts[0] = 14; in fixup_device_tree_pasemi()
3181 if (interrupts[0] == 222) in fixup_device_tree_pasemi()
3182 interrupts[0] = 8; in fixup_device_tree_pasemi()
3195 name = "/pxp@0,e0000000/io-bridge@0"; in fixup_device_tree_pasemi()
3227 rval = 0; in prom_find_boot_cpu()
3228 if (prom_getprop(prom.chosen, "cpu", &rval, sizeof(rval)) <= 0) in prom_find_boot_cpu()
3246 if (r3 && r4 && r4 != 0xdeadbeef) { in prom_check_initrd()
3262 prom_debug("initrd_start=0x%lx\n", prom_initrd_start); in prom_check_initrd()
3263 prom_debug("initrd_end=0x%lx\n", prom_initrd_end); in prom_check_initrd()
3339 memset(&__bss_start, 0, __bss_stop - __bss_start); in prom_init()
3369 if (PHYSICAL_START > 0) in prom_init()
3396 copy_and_flush(0, kbase, 0x100, 0); in prom_init()
3456 NULL, 0); in prom_init()
3460 NULL, 0); in prom_init()
3496 call_prom("quiesce", 0, 0); in prom_init()
3505 prom_printf("Booting Linux via __start() @ 0x%lx ...\n", kbase); in prom_init()
3506 prom_debug("->dt_header_start=0x%lx\n", hdr); in prom_init()
3515 __start(hdr, kbase, 0, 0, 0, 0, 0); in prom_init()
3517 return 0; in prom_init()