Lines Matching +full:msi +full:- +full:base +full:- +full:vec
1 // SPDX-License-Identifier: GPL-2.0-or-later
6 * Copyright (C) 1996-2005 Paul Mackerras.
42 #include <asm/asm-prototypes.h>
43 #include <asm/ultravisor-api.h>
68 * On ppc32 we compile with -mrelocatable, which means that references
79 * arguments to call_prom should be 32-bit values.
127 __be64 base; member
218 * Error results ... some OF calls will return "-1" on error, some
224 #define PROM_ERROR (-1u)
238 return c1 < c2 ? -1 : 1; in prom_strcmp()
262 return c1 < c2 ? -1 : 1; in prom_strncmp()
265 count--; in prom_strncmp()
276 return sc - s; in prom_strlen()
284 for (su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--) in prom_memcmp()
285 if ((res = *su1 - *su2) != 0) in prom_memcmp()
299 l1--; in prom_strstr()
318 count -= dsize; in prom_strlcat()
320 len = count-1; in prom_strlcat()
331 return -EINVAL; in prom_strtobool()
362 return -EINVAL; in prom_strtobool()
418 rets[i-1] = be32_to_cpu(args.args[nargs+i]); in call_prom_ret()
435 call_prom("write", 3, 1, prom.stdout, p, q - p); in prom_print()
453 for (i = nibbles-1; i >= 0; i--) { in prom_print_hex()
456 buf[i] += ('a'-'0'-10); in prom_print_hex()
470 for (i = UL_DIGITS-1; i >= 0; i--) { in prom_print_dec()
477 size = UL_DIGITS - i; in prom_print_dec()
495 call_prom("write", 3, 1, prom.stdout, p, q - p); in prom_printf()
564 prom_print("-"); in prom_printf()
565 vs = -vs; in prom_printf()
587 ret = call_prom_ret("call-method", 5, 2, &result, in prom_claim()
590 if (ret != 0 || result == -1) in prom_claim()
591 return -1; in prom_claim()
592 ret = call_prom_ret("call-method", 5, 2, &result, in prom_claim()
596 call_prom("call-method", 4, 1, ADDR("release"), in prom_claim()
598 return -1; in prom_claim()
601 call_prom("call-method", 6, 1, in prom_claim()
613 * it also causes some sort of double-fault on early pmacs */ in prom_panic()
673 --i; in tohex()
709 #define toupper(c) (islower(c) ? ((c) - 'a' + 'A') : (c))
713 unsigned long result = 0, base = 10, value; in prom_strtoul() local
716 base = 8; in prom_strtoul()
720 base = 16; in prom_strtoul()
725 (value = isdigit(*cp) ? *cp - '0' : toupper(*cp) - 'A' + 10) < base) { in prom_strtoul()
726 result = result * base + value; in prom_strtoul()
778 l = prom_getprop(prom.chosen, "bootargs", p, COMMAND_LINE_SIZE-1); in early_cmdline_parse()
845 opt += sizeof("svm=") - 1; in early_cmdline_parse()
855 * followed by # option vectors - 1, followed by the option vectors.
861 /* Firmware expects the value to be n - 1, where n is the # of vectors */
862 #define NUM_VECTORS(n) ((n) - 1)
865 * Firmware expects 1 + n - 2, where n is the length of the option vector in
866 * bytes. The 1 accounts for the length byte itself, the - 2 .. ?
868 #define VECTOR_LENGTH(n) (1 + (n) - 2)
988 .mask = cpu_to_be32(0xffffffff), /* all 3.1-compliant */
992 .mask = cpu_to_be32(0xffffffff), /* all 3.00-compliant */
996 .mask = cpu_to_be32(0xffffffff), /* all 2.07-compliant */
1000 .mask = cpu_to_be32(0xffffffff), /* all 2.06-compliant */
1004 .mask = cpu_to_be32(0xffffffff), /* all 2.05-compliant */
1008 .mask = cpu_to_be32(0xfffffffe), /* all 2.04-compliant and earlier */
1060 /* PCIe/MSI support. Without MSI full PCIe is not supported */
1101 /* Old method - ELF header with PT_NOTE sections only works on BE */
1124 char name[24]; /* "IBM,RPA-Client-Config" */
1173 .namesz = sizeof("IBM,RPA-Client-Config"),
1176 .name = "IBM,RPA-Client-Config",
1208 plen = prom_getproplen(node, "ibm,ppc-interrupt-server#s"); in prom_count_smt_threads()
1234 prom_debug("MMU - either supported\n"); in prom_parse_mmu_model()
1235 support->radix_mmu = !prom_radix_disable; in prom_parse_mmu_model()
1236 support->hash_mmu = true; in prom_parse_mmu_model()
1239 prom_debug("MMU - radix only\n"); in prom_parse_mmu_model()
1247 support->radix_mmu = true; in prom_parse_mmu_model()
1250 prom_debug("MMU - hash only\n"); in prom_parse_mmu_model()
1251 support->hash_mmu = true; in prom_parse_mmu_model()
1264 prom_debug("XIVE - either mode supported\n"); in prom_parse_xive_model()
1265 support->xive = !prom_xive_disable; in prom_parse_xive_model()
1268 prom_debug("XIVE - exploitation mode supported\n"); in prom_parse_xive_model()
1276 support->xive = true; in prom_parse_xive_model()
1279 prom_debug("XIVE - legacy mode supported\n"); in prom_parse_xive_model()
1296 support->radix_gtse = !prom_radix_gtse_disable; in prom_parse_platform_support()
1314 "ibm,arch-vec-5-platform-support"); in prom_check_platform_support()
1317 * First copy the architecture vec template in prom_check_platform_support()
1319 * use memcpy() instead of *vec = *vec_template so that GCC replaces it in prom_check_platform_support()
1327 u8 vec[8]; in prom_check_platform_support() local
1328 prom_debug("Found ibm,arch-vec-5-platform-support, len: %d\n", in prom_check_platform_support()
1330 if (prop_len > sizeof(vec)) in prom_check_platform_support()
1331 prom_printf("WARNING: ibm,arch-vec-5-platform-support longer than expected (len: %d)\n", in prom_check_platform_support()
1333 prom_getprop(prom.chosen, "ibm,arch-vec-5-platform-support", in prom_check_platform_support()
1334 &vec, sizeof(vec)); in prom_check_platform_support()
1335 for (i = 0; i < sizeof(vec); i += 2) { in prom_check_platform_support()
1337 , vec[i] in prom_check_platform_support()
1338 , vec[i + 1]); in prom_check_platform_support()
1339 prom_parse_platform_support(vec[i], vec[i + 1], in prom_check_platform_support()
1345 /* Radix preferred - Check if GTSE is also supported */ in prom_check_platform_support()
1374 /* Check ibm,arch-vec-5-platform-support and fixup vec5 if required */ in prom_send_capabilities()
1392 /* try calling the ibm,client-architecture-support method */ in prom_send_capabilities()
1393 prom_printf("Calling ibm,client-architecture-support..."); in prom_send_capabilities()
1394 if (call_prom_ret("call-method", 3, 2, &ret, in prom_send_capabilities()
1395 ADDR("ibm,client-architecture-support"), in prom_send_capabilities()
1400 prom_printf("\nWARNING: ibm,client-architecture" in prom_send_capabilities()
1401 "-support call FAILED!\n"); in prom_send_capabilities()
1414 /* no ibm,client-architecture-support call, try the old way */ in prom_send_capabilities()
1416 ADDR("/packages/elf-loader")); in prom_send_capabilities()
1418 prom_printf("couldn't open /packages/elf-loader\n"); in prom_send_capabilities()
1421 call_prom("call-method", 3, 1, ADDR("process-elf-header"), in prom_send_capabilities()
1444 * topmost, and the device-tree is allocated from the bottom. We try
1445 * to grow the device-tree allocation as we progress. If we can't,
1460 * extending the previous allocation). Used for the device-tree flattening
1464 unsigned long base = alloc_bottom; in alloc_up() local
1468 base = ALIGN(base, align); in alloc_up()
1474 base = ALIGN(alloc_bottom, align); in alloc_up()
1476 base = alloc_bottom; in alloc_up()
1478 for(; (base + size) <= alloc_top; in alloc_up()
1479 base = ALIGN(base + 0x100000, align)) { in alloc_up()
1480 prom_debug(" trying: 0x%lx\n\r", base); in alloc_up()
1481 addr = (unsigned long)prom_claim(base, size, 0); in alloc_up()
1492 prom_debug(" -> %lx\n", addr); in alloc_up()
1510 unsigned long base, addr = 0; in alloc_down() local
1519 addr = ALIGN_DOWN(alloc_top_high - size, align); in alloc_down()
1537 base = ALIGN_DOWN(alloc_top - size, align); in alloc_down()
1538 for (; base > alloc_bottom; in alloc_down()
1539 base = ALIGN_DOWN(base - 0x100000, align)) { in alloc_down()
1540 prom_debug(" trying: 0x%lx\n\r", base); in alloc_down()
1541 addr = (unsigned long)prom_claim(base, size, 0); in alloc_down()
1551 prom_debug(" -> %lx\n", addr); in alloc_down()
1572 s--; in prom_next_cell()
1593 static void __init reserve_mem(u64 base, u64 size) in reserve_mem() argument
1595 u64 top = base + size; in reserve_mem()
1605 base = ALIGN_DOWN(base, PAGE_SIZE); in reserve_mem()
1607 size = top - base; in reserve_mem()
1609 if (cnt >= (MEM_RESERVE_MAP_SIZE - 1)) in reserve_mem()
1611 mem_reserve_map[cnt].base = cpu_to_be64(base); in reserve_mem()
1635 prom_getprop(prom.root, "#address-cells", &val, sizeof(val)); in prom_init_mem()
1638 prom_getprop(prom.root, "#size-cells", &val, sizeof(rsc)); in prom_init_mem()
1669 call_prom("package-to-path", 3, 1, node, prom_scratch, in prom_init_mem()
1670 sizeof(prom_scratch) - 1); in prom_init_mem()
1674 while ((endp - p) >= (rac + rsc)) { in prom_init_mem()
1675 unsigned long base, size; in prom_init_mem() local
1677 base = prom_next_cell(rac, &p); in prom_init_mem()
1682 prom_debug(" %lx %lx\n", base, size); in prom_init_mem()
1683 if (base == 0 && (of_platform & PLATFORM_LPAR)) in prom_init_mem()
1685 if ((base + size) > ram_top) in prom_init_mem()
1686 ram_top = base + size; in prom_init_mem()
1717 * segment 0 when running non-LPAR. in prom_init_mem()
1721 * reasonable on 32-bit, cap at 768MB on all machines. in prom_init_mem()
1786 prom_getprop(rtas_node, "ibm,os-term", &val, sizeof(val)); in prom_rtas_os_term()
1788 prom_debug("ibm,os-term: %x\n", token); in prom_rtas_os_term()
1790 prom_panic("Could not get token for ibm,os-term\n"); in prom_rtas_os_term()
1806 u32 base, entry = 0; in prom_instantiate_rtas() local
1818 prom_getprop(rtas_node, "rtas-size", &val, sizeof(size)); in prom_instantiate_rtas()
1823 base = alloc_down(size, PAGE_SIZE, 0); in prom_instantiate_rtas()
1824 if (base == 0) in prom_instantiate_rtas()
1833 prom_printf("instantiating rtas at 0x%x...", base); in prom_instantiate_rtas()
1835 if (call_prom_ret("call-method", 3, 2, &entry, in prom_instantiate_rtas()
1836 ADDR("instantiate-rtas"), in prom_instantiate_rtas()
1837 rtas_inst, base) != 0 in prom_instantiate_rtas()
1844 reserve_mem(base, size); in prom_instantiate_rtas()
1846 val = cpu_to_be32(base); in prom_instantiate_rtas()
1847 prom_setprop(rtas_node, "/rtas", "linux,rtas-base", in prom_instantiate_rtas()
1850 prom_setprop(rtas_node, "/rtas", "linux,rtas-entry", in prom_instantiate_rtas()
1853 /* Check if it supports "query-cpu-stopped-state" */ in prom_instantiate_rtas()
1854 if (prom_getprop(rtas_node, "query-cpu-stopped-state", in prom_instantiate_rtas()
1858 prom_debug("rtas base = 0x%x\n", base); in prom_instantiate_rtas()
1874 u64 base; in prom_instantiate_sml() local
1890 if (prom_getprop(ibmvtpm_node, "ibm,sml-efi-reformat-supported", in prom_instantiate_sml()
1892 if (call_prom_ret("call-method", 2, 2, &succ, in prom_instantiate_sml()
1893 ADDR("reformat-sml-to-efi-alignment"), in prom_instantiate_sml()
1899 if (call_prom_ret("call-method", 2, 2, &size, in prom_instantiate_sml()
1900 ADDR("sml-get-allocated-size"), in prom_instantiate_sml()
1906 if (call_prom_ret("call-method", 2, 2, &size, in prom_instantiate_sml()
1907 ADDR("sml-get-handover-size"), in prom_instantiate_sml()
1914 base = alloc_down(size, PAGE_SIZE, 0); in prom_instantiate_sml()
1915 if (base == 0) in prom_instantiate_sml()
1918 prom_printf("instantiating sml at 0x%llx...", base); in prom_instantiate_sml()
1920 memset((void *)base, 0, size); in prom_instantiate_sml()
1922 if (call_prom_ret("call-method", 4, 2, &entry, in prom_instantiate_sml()
1923 ADDR("sml-handover"), in prom_instantiate_sml()
1924 ibmvtpm_inst, size, base) != 0 || entry == 0) { in prom_instantiate_sml()
1930 reserve_mem(base, size); in prom_instantiate_sml()
1932 prom_setprop(ibmvtpm_node, "/vdevice/vtpm", "linux,sml-base", in prom_instantiate_sml()
1933 &base, sizeof(base)); in prom_instantiate_sml()
1934 prom_setprop(ibmvtpm_node, "/vdevice/vtpm", "linux,sml-size", in prom_instantiate_sml()
1937 prom_debug("sml base = 0x%llx\n", base); in prom_instantiate_sml()
1953 u64 base, align; in prom_initialize_tce_table() local
1994 if (prom_getprop(node, "tce-table-minalign", &minalign, in prom_initialize_tce_table()
1997 if (prom_getprop(node, "tce-table-minsize", &minsize, in prom_initialize_tce_table()
2011 base = alloc_down(minsize, align, 1); in prom_initialize_tce_table()
2012 if (base == 0) in prom_initialize_tce_table()
2014 if (base < local_alloc_bottom) in prom_initialize_tce_table()
2015 local_alloc_bottom = base; in prom_initialize_tce_table()
2017 /* It seems OF doesn't null-terminate the path :-( */ in prom_initialize_tce_table()
2020 if (call_prom("package-to-path", 3, 1, node, in prom_initialize_tce_table()
2021 path, sizeof(prom_scratch) - 1) == PROM_ERROR) { in prom_initialize_tce_table()
2022 prom_printf("package-to-path failed\n"); in prom_initialize_tce_table()
2026 prom_setprop(node, path, "linux,tce-base", &base, sizeof(base)); in prom_initialize_tce_table()
2027 prom_setprop(node, path, "linux,tce-size", &minsize, sizeof(minsize)); in prom_initialize_tce_table()
2031 prom_debug("\tbase = 0x%llx\n", base); in prom_initialize_tce_table()
2034 /* Initialize the table to have a one-to-one mapping in prom_initialize_tce_table()
2037 tce_entryp = (u64 *)base; in prom_initialize_tce_table()
2051 call_prom("call-method", 6, 0, ADDR("set-64-bit-addressing"), in prom_initialize_tce_table()
2052 phb_node, -1, minsize, in prom_initialize_tce_table()
2053 (u32) base, (u32) (base >> 32)); in prom_initialize_tce_table()
2057 reserve_mem(local_alloc_bottom, local_alloc_top - local_alloc_bottom); in prom_initialize_tce_table()
2086 * -- Cort
2090 * 0 - 0x100 address range
2106 * On pseries, if RTAS supports "query-cpu-stopped-state", in prom_hold_cpus()
2142 /* Skip non-configured cpus. */ in prom_hold_cpus()
2147 reg = cpu_to_be32(-1); /* make sparse happy */ in prom_hold_cpus()
2157 *acknowledge = (unsigned long)-1; in prom_hold_cpus()
2160 /* Primary Thread of non-boot cpu or any thread */ in prom_hold_cpus()
2162 call_prom("start-cpu", 3, 0, node, in prom_hold_cpus()
2166 (*acknowledge == ((unsigned long)-1)); i++ ) in prom_hold_cpus()
2218 version[sizeof(version) - 1] = 0; in prom_find_mmu()
2224 call_prom("interpret", 1, 1, "dev /memory 0 to allow-reclaim"); in prom_find_mmu()
2252 call_prom("instance-to-path", 3, 1, prom.stdout, path, 255); in prom_init_stdout()
2254 prom_setprop(prom.chosen, "/chosen", "linux,stdout-path", in prom_init_stdout()
2257 /* instance-to-package fails on PA-Semi */ in prom_init_stdout()
2258 stdout_node = call_prom("instance-to-package", 1, 1, prom.stdout); in prom_init_stdout()
2266 prom_setprop(stdout_node, path, "linux,boot-display", NULL, 0); in prom_init_stdout()
2281 compat, sizeof(compat)-1); in prom_find_machine_type()
2298 prom_strstr(p, "IBM,CPBW-1.0")) in prom_find_machine_type()
2307 * - /device_type is "chrp" (please, do NOT use that for future in prom_find_machine_type()
2308 * non-IBM designs ! in prom_find_machine_type()
2309 * - it has /rtas in prom_find_machine_type()
2312 compat, sizeof(compat)-1); in prom_find_machine_type()
2322 x = prom_getproplen(rtas, "ibm,hypertas-functions"); in prom_find_machine_type()
2335 return call_prom("call-method", 6, 1, ADDR("color!"), ih, i, b, g, r); in prom_set_color()
2380 /* It seems OF doesn't null-terminate the path :-( */ in prom_check_displays()
2388 if (call_prom("package-to-path", 3, 1, node, path, in prom_check_displays()
2389 sizeof(prom_scratch) - 10) == PROM_ERROR) in prom_check_displays()
2404 * method is available. Should update this to set-colors */ in prom_check_displays()
2420 if (prom_getprop(node, "linux,boot-display", NULL, 0) != in prom_check_displays()
2460 room = alloc_top - alloc_bottom; in make_room()
2492 return s - os; in dt_find_string()
2566 room = *mem_end - *mem_start; in scan_dt_build_struct()
2569 l = call_prom("package-to-path", 3, 1, node, namep, room); in scan_dt_build_struct()
2573 if (l >= *mem_end - *mem_start) in scan_dt_build_struct()
2575 call_prom("package-to-path", 3, 1, node, namep, l); in scan_dt_build_struct()
2596 call_prom("package-to-path", 3, 1, node, path, sizeof(prom_scratch) - 1); in scan_dt_build_struct()
2675 * Check how much room we have between alloc top & bottom (+/- a in flatten_device_tree()
2678 room = alloc_top - alloc_bottom - 0x4000; in flatten_device_tree()
2686 prom_panic("Can't allocate initial device-tree chunk\n"); in flatten_device_tree()
2725 hdr->boot_cpuid_phys = cpu_to_be32(prom.cpu); in flatten_device_tree()
2726 hdr->magic = cpu_to_be32(OF_DT_HEADER); in flatten_device_tree()
2727 hdr->totalsize = cpu_to_be32(dt_struct_end - dt_header_start); in flatten_device_tree()
2728 hdr->off_dt_struct = cpu_to_be32(dt_struct_start - dt_header_start); in flatten_device_tree()
2729 hdr->off_dt_strings = cpu_to_be32(dt_string_start - dt_header_start); in flatten_device_tree()
2730 hdr->dt_strings_size = cpu_to_be32(dt_string_end - dt_string_start); in flatten_device_tree()
2731 hdr->off_mem_rsvmap = cpu_to_be32(((unsigned long)rsvmap) - dt_header_start); in flatten_device_tree()
2732 hdr->version = cpu_to_be32(OF_DT_VERSION); in flatten_device_tree()
2734 hdr->last_comp_version = cpu_to_be32(0x10); in flatten_device_tree()
2744 prom_printf(" %llx - %llx\n", in flatten_device_tree()
2745 be64_to_cpu(mem_reserve_map[i].base), in flatten_device_tree()
2754 prom_printf("Device tree strings 0x%lx -> 0x%lx\n", in flatten_device_tree()
2756 prom_printf("Device tree struct 0x%lx -> 0x%lx\n", in flatten_device_tree()
2805 /* The values for memory-controller don't have right number of cells */
2820 prom_getprop(prom.root, "#address-cells", &ac, sizeof(ac)); in fixup_device_tree_maple_memory_controller()
2821 prom_getprop(prom.root, "#size-cells", &sc, sizeof(sc)); in fixup_device_tree_maple_memory_controller()
2887 prom_printf("Fixing up IDE class-code on Pegasos...\n"); in fixup_device_tree_chrp()
2888 rc = prom_getprop(ph, "class-code", prop, sizeof(u32)); in fixup_device_tree_chrp()
2891 prom_setprop(ph, name, "class-code", prop, sizeof(u32)); in fixup_device_tree_chrp()
2919 if (prom_getprop(u3, "device-rev", &u3_rev, sizeof(u3_rev)) in fixup_device_tree_pmac()
2936 prom_setprop(i2c, "/u3@0,f8000000/i2c@f8001000", "interrupt-parent", in fixup_device_tree_pmac()
2945 * The MPC5200 FEC driver requires an phy-handle property to tell it how
2946 * to talk to the phy. If the phy-handle property is missing, then this
2956 /* Check if /builtin/ethernet exists - bail if it doesn't */ in fixup_device_tree_efika_add_phy()
2961 /* Check if the phy-handle property exists - bail if it does */ in fixup_device_tree_efika_add_phy()
2962 rv = prom_getprop(node, "phy-handle", prop, sizeof(prop)); in fixup_device_tree_efika_add_phy()
2971 /* Check for an MDIO bus node - if missing then create one */ in fixup_device_tree_efika_add_phy()
2976 " s\" /builtin\" find-device" in fixup_device_tree_efika_add_phy()
2977 " new-device" in fixup_device_tree_efika_add_phy()
2978 " 1 encode-int s\" #address-cells\" property" in fixup_device_tree_efika_add_phy()
2979 " 0 encode-int s\" #size-cells\" property" in fixup_device_tree_efika_add_phy()
2980 " s\" mdio\" device-name" in fixup_device_tree_efika_add_phy()
2981 " s\" fsl,mpc5200b-mdio\" encode-string" in fixup_device_tree_efika_add_phy()
2984 " 0x2 encode-int" in fixup_device_tree_efika_add_phy()
2985 " 0x5 encode-int encode+" in fixup_device_tree_efika_add_phy()
2986 " 0x3 encode-int encode+" in fixup_device_tree_efika_add_phy()
2988 " finish-device"); in fixup_device_tree_efika_add_phy()
2991 /* Check for a PHY device node - if missing then create one and in fixup_device_tree_efika_add_phy()
2994 ADDR("/builtin/mdio/ethernet-phy")); in fixup_device_tree_efika_add_phy()
2998 " s\" /builtin/mdio\" find-device" in fixup_device_tree_efika_add_phy()
2999 " new-device" in fixup_device_tree_efika_add_phy()
3000 " s\" ethernet-phy\" device-name" in fixup_device_tree_efika_add_phy()
3001 " 0x10 encode-int s\" reg\" property" in fixup_device_tree_efika_add_phy()
3002 " my-self" in fixup_device_tree_efika_add_phy()
3004 " finish-device" in fixup_device_tree_efika_add_phy()
3005 " s\" /builtin/ethernet\" find-device" in fixup_device_tree_efika_add_phy()
3006 " encode-int" in fixup_device_tree_efika_add_phy()
3007 " s\" phy-handle\" property" in fixup_device_tree_efika_add_phy()
3008 " device-end"); in fixup_device_tree_efika_add_phy()
3072 /* Make sure ethernet phy-handle property exists */ in fixup_device_tree_efika()
3083 * Add an interrupt-controller property for the io-bridge to use
3098 /* check if interrupt-controller node set yet */ in fixup_device_tree_pasemi()
3099 if (prom_getproplen(iob, "interrupt-controller") !=PROM_ERROR) in fixup_device_tree_pasemi()
3102 prom_printf("adding interrupt-controller property for SB600...\n"); in fixup_device_tree_pasemi()
3104 prom_setprop(iob, name, "interrupt-controller", &val, 0); in fixup_device_tree_pasemi()
3123 /* found a node, update both interrupts and interrupt-parent */ in fixup_device_tree_pasemi()
3125 interrupts[0] -= 203; in fixup_device_tree_pasemi()
3127 interrupts[0] -= 213; in fixup_device_tree_pasemi()
3135 prom_setprop(node, pci_name, "interrupt-parent", &parent, in fixup_device_tree_pasemi()
3140 * The io-bridge has device_type set to 'io-bridge' change it to 'isa' in fixup_device_tree_pasemi()
3141 * so that generic isa-bridge code can add the SB600 and its on-board in fixup_device_tree_pasemi()
3144 name = "/pxp@0,e0000000/io-bridge@0"; in fixup_device_tree_pasemi()
3180 cpu_pkg = call_prom("instance-to-package", 1, 1, prom_cpu); in prom_find_boot_cpu()
3201 prom_setprop(prom.chosen, "/chosen", "linux,initrd-start", in prom_check_initrd()
3204 prom_setprop(prom.chosen, "/chosen", "linux,initrd-end", in prom_check_initrd()
3208 prom_initrd_end - prom_initrd_start); in prom_check_initrd()
3232 asm volatile("addi %0,2,-0x8000" : "=b" (toc_entry)); in __reloc_toc()
3244 (__prom_init_toc_end - __prom_init_toc_start) / sizeof(long); in reloc_toc()
3255 (__prom_init_toc_end - __prom_init_toc_start) / sizeof(long); in unreloc_toc()
3259 __reloc_toc(-offset, nr_entries); in unreloc_toc()
3295 * relocating it back to the kernel virtual base address. in setup_secure_guest()
3339 memset(&__bss_start, 0, __bss_stop - __bss_start); in prom_init()
3424 * On non-powermacs, try to instantiate RTAS. PowerMacs don't in prom_init()
3436 * On non-powermacs, put all CPUs in spin-loops. in prom_init()
3450 prom_setprop(prom.chosen, "/chosen", "linux,memory-limit", in prom_init()
3455 prom_setprop(prom.chosen, "/chosen", "linux,iommu-off", in prom_init()
3459 prom_setprop(prom.chosen, "/chosen", "linux,iommu-force-on", in prom_init()
3463 prom_setprop(prom.chosen, "/chosen", "linux,tce-alloc-start", in prom_init()
3466 prom_setprop(prom.chosen, "/chosen", "linux,tce-alloc-end", in prom_init()
3473 * Fixup any known bugs in the device-tree in prom_init()
3478 * Now finally create the flattened device-tree in prom_init()
3506 prom_debug("->dt_header_start=0x%lx\n", hdr); in prom_init()
3509 reloc_got2(-offset); in prom_init()