/openbmc/qemu/docs/specs/ |
H A D | ppc-spapr-hcalls.rst | 5 When used with the ``pseries`` machine type, ``qemu-system-ppc64`` implements 14 calls which are mostly used as a private interface between the firmware 23 RTAS stands for Run-Time Abstraction Sercies and is a set of runtime services 24 generally provided by the firmware inside the guest to the operating system. It 26 Firmware) and is still used by PAPR and LoPAR to provide various services that 29 We currently implement the RTAS services in QEMU itself. The actual RTAS 31 calls our private H_RTAS hypervisor call to pass the RTAS calls to QEMU. 37 ``r4``: Guest physical address of RTAS parameter block. 41 ``H_SUCCESS``: Successfully called the RTAS function (RTAS result will have 54 non-cacheable accesses to any guest physical addresses that the [all …]
|
H A D | ppc-spapr-hotplug.rst | 7 "logical"/para-virtual resources like memory, CPUs, and "physical" 8 host-bridges, which are generally managed by the host/hypervisor and provided 14 Dynamic-reconfiguration Connectors 18 a Dynamic Resource Connector (DRC) is used to assign a particular dynamic 25 A set of four Open Firmware device tree array properties are used to describe 26 the name/index/power-domain/type of each DRC allocated to a guest at 30 In some cases, the DRCs themselves may be provided by a dynamic resource, 33 for hot plugged resources described under :ref:`guest-host-interface`. 36 describes the DRC identified by the element in the corresponding position 37 of ``ibm,drc-indexes``: [all …]
|
/openbmc/linux/arch/powerpc/kernel/ |
H A D | rtas.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Procedures for interfacing to the RTAS on CHRP machines. 10 #define pr_fmt(fmt) "rtas: " fmt 40 #include <asm/rtas-work-area.h> 41 #include <asm/rtas.h> 47 /* Indexes into the args buffer, -1 if not used */ 60 * struct rtas_function - Descriptor for RTAS functions. 62 * @token: Value of @name if it exists under the /rtas node. 64 * @filter: If non-NULL, invoking this function via the rtas syscall is 83 .name = "check-exception", [all …]
|
H A D | udbg.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 37 /* RTAS panel debug */ in udbg_early_init() 40 /* RTAS console debug */ in udbg_early_init() 81 /* udbg library, used by xmon et al */ 111 while (((c = *s++) != '\0') && (remain-- > 0)) { in udbg_write() 119 return n - remain; in udbg_write() 159 * Called by setup_system after ppc_md->probe and ppc_md->early_init. 160 * Call it again after setting udbg_putc in ppc_md->setup_arch. 170 if (strstr(boot_command_line, "udbg-immortal")) { in register_early_udbg_console()
|
H A D | prom_init.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Copyright (C) 1996-2005 Paul Mackerras. 8 * Adapted for 64bit PowerPC by Dave Engebretsen and Peter Bergner. 34 #include <asm/rtas.h> 46 #include <asm/asm-prototypes.h> 47 #include <asm/ultravisor-api.h> 72 * On ppc32 we compile with -mrelocatable, which means that references 82 * ADDR is used in calls to call_prom. The 4th and following 83 * arguments to call_prom should be 32-bit values. 185 /* Platforms codes are now obsolete in the kernel. Now only used within this [all …]
|
/openbmc/qemu/include/hw/ppc/ |
H A D | spapr_drc.h | 10 * See the COPYING file in the top-level directory. 19 #include "hw/qdev-core.h" 22 #define TYPE_SPAPR_DR_CONNECTOR "spapr-dr-connector" 31 #define TYPE_SPAPR_DRC_PHYSICAL "spapr-drc-physical" 35 #define TYPE_SPAPR_DRC_LOGICAL "spapr-drc-logical" 37 #define TYPE_SPAPR_DRC_CPU "spapr-drc-cpu" 39 #define TYPE_SPAPR_DRC_PCI "spapr-drc-pci" 41 #define TYPE_SPAPR_DRC_LMB "spapr-drc-lmb" 43 #define TYPE_SPAPR_DRC_PHB "spapr-drc-phb" 45 #define TYPE_SPAPR_DRC_PMEM "spapr-drc-pmem" [all …]
|
H A D | spapr.h | 8 #include "hw/mem/pc-dimm.h" 32 #define TYPE_SPAPR_RTC "spapr-rtc" 44 #define TYPE_SPAPR_MACHINE "spapr-machine" 72 /* Nested KVM-HV */ 102 /* SPAPR_CAP_IBS (cap-ibs) */ 116 * for non-CPU resources. 119 * array for any non-CPU resource. 144 bool dr_phb_enabled; /* enable dynamic-reconfig/hotplug of PHBs */ 149 bool pre_4_1_migration; /* don't migrate hpt-max-page-size */ 151 bool smp_threads_vsmt; /* set VSMT to smp_threads by default */ [all …]
|
/openbmc/linux/arch/powerpc/platforms/pseries/ |
H A D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 35 #include <asm/rtas.h> 42 #include <asm/code-patching.h> 49 * The Primary thread of each non-boot processor was started from the OF client 50 * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop. 62 "Firmware doesn't support query-cpu-stopped-state\n"); in smp_query_cpu_stopped() 69 "RTAS query-cpu-stopped-state failed: %i\n", status); in smp_query_cpu_stopped() 77 * smp_startup_cpu() - start the given cpu 80 * started from Open Firmware. For anything else, call RTAS with the 84 * 0 - failure [all …]
|
H A D | io_event_irq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright 2010 2011 Mark Nelson and Tseng-Hui (Frank) Lin, IBM Corporation 16 #include <asm/rtas.h> 23 * IO event interrupt is a mechanism provided by RTAS to return 24 * information about hardware error and non-error events. Device 30 * by one until the IO event is claimed by one of the handlers. 32 * event is handled by the event handler or NOTIFY_DONE if the 41 * if (! is_my_event(p->scope, p->event_type)) return NOTIFY_DONE; 66 * @elog: RTAS error/event log. 75 /* We should only ever get called for io-event interrupts, but if in ioei_find_event() [all …]
|
H A D | eeh_pseries.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Actually, the pseries platform is built based on RTAS heavily. That means the 5 * pseries platform dependent EEH operations will be built on RTAS calls. The functions 33 #include <asm/ppc-pci.h> 34 #include <asm/rtas.h> 36 /* RTAS tokens */ 55 dev_dbg(&pdev->dev, "EEH: Setting up device\n"); in pseries_pcibios_bus_add_device() 57 if (pdev->is_virtfn) { in pseries_pcibios_bus_add_device() 58 pdn->device_id = pdev->device; in pseries_pcibios_bus_add_device() 59 pdn->vendor_id = pdev->vendor; in pseries_pcibios_bus_add_device() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 bool "IBM pSeries & new (POWER5-based) iSeries" 39 bool "Support for shared-processor logical partitions" 46 on logically-partitioned pSeries systems which use shared 78 interrupts. IO event interrupt is a mechanism provided by RTAS 79 to return information about hardware error and non-error events 80 which may need OS attention. RTAS returns events for multiple 109 bool "Support for shared-memory logical partitions" 126 by allocating pages of memory and put them "on hold". This only 161 # used to store asymmetric public keys or secrets as required [all …]
|
H A D | msi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright 2006-2007 Michael Ellerman, IBM Corp. 13 #include <asm/rtas.h> 15 #include <asm/ppc-pci.h> 30 /* RTAS Helpers */ 38 addr = rtas_config_addr(pdn->busno, pdn->devfn, 0); in rtas_change_msi() 39 buid = pdn->phb->buid; in rtas_change_msi() 57 * If the RTAS call succeeded, return the number of irqs allocated. in rtas_change_msi() 63 rc = -rc; in rtas_change_msi() 80 * disabling MSI with the explicit interface also disables MSI-X in rtas_disable_msi() [all …]
|
H A D | rtas-fadump.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Firmware-Assisted Dump support on POWERVM platform. 9 #define pr_fmt(fmt) "rtas fadump: " fmt 20 #include <asm/rtas.h> 22 #include <asm/fadump-internal.h> 24 #include "rtas-fadump.h" 32 fadump_conf->boot_mem_dest_addr = in rtas_fadump_update_config() 33 be64_to_cpu(fdm->rmr_region.destination_address); in rtas_fadump_update_config() 35 fadump_conf->fadumphdr_addr = (fadump_conf->boot_mem_dest_addr + in rtas_fadump_update_config() 36 fadump_conf->boot_memory_size); in rtas_fadump_update_config() [all …]
|
H A D | setup.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * 64-bit pSeries and RS/6000 setup code. 6 * Adapted from 'alpha' version by Gary Thomas 7 * Modified by Cort Dougan (cort@cs.nmt.edu) 8 * Modified by PPC64 Team, IBM Corp 49 #include <asm/rtas.h> 50 #include <asm/pci-bridge.h> 60 #include <asm/papr-sysparm.h> 61 #include <asm/ppc-pci.h> 70 #include <asm/isa-bridge.h> [all …]
|
/openbmc/linux/drivers/watchdog/ |
H A D | wdrtas.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * RTAS calls are available 8 * RTAS watchdog driver 11 * device driver to exploit watchdog RTAS functions 29 #include <asm/rtas.h> 36 MODULE_DESCRIPTION("RTAS watchdog driver"); 62 * wdrtas_set_interval - sets the watchdog interval 67 * wdrtas_set_interval sets the watchdog keepalive interval by calling the 68 * RTAS function set-indicator (surveillance). The unit of interval is 77 /* rtas uses minutes */ in wdrtas_set_interval() [all …]
|
/openbmc/qemu/hw/ppc/ |
H A D | spapr_numa.c | 10 * See the COPYING file in the top-level directory. 15 #include "hw/pci-host/spapr.h" 26 if (spapr_ovec_test(spapr->ov5_cas, OV5_FORM2_AFFINITY)) { in get_max_dist_ref_points() 38 if (spapr_ovec_test(spapr->ov5_cas, OV5_FORM2_AFFINITY)) { in get_numa_assoc_size() 62 if (spapr_ovec_test(spapr->ov5_cas, OV5_FORM2_AFFINITY)) { in get_associativity() 63 return spapr->FORM2_assoc_array[node_id]; in get_associativity() 65 return spapr->FORM1_assoc_array[node_id]; in get_associativity() 69 * Wrapper that returns node distance from ms->numa_state->nodes 74 NodeInfo *numa_info = ms->numa_state->nodes; in get_numa_distance() 96 int nb_numa_nodes = ms->numa_state->num_nodes; in spapr_numa_is_symmetrical() [all …]
|
H A D | spapr_vof.c | 4 * SPDX-License-Identifier: GPL-2.0-or-later 14 #include "qom/qom-qobject.h" 20 int ret = vof_client_call(MACHINE(spapr), spapr->vof, spapr->fdt_blob, in spapr_h_vof_client() 31 g_autofree char *stdout_path = spapr_vio_stdout_path(spapr->vio_bus); in spapr_vof_client_dt_finalize() 33 vof_build_dt(fdt, spapr->vof); in spapr_vof_client_dt_finalize() 35 if (spapr->vof->bootargs) { in spapr_vof_client_dt_finalize() 41 * stored machine->kernel_cmdline in it before getting here. in spapr_vof_client_dt_finalize() 43 _FDT(fdt_setprop_string(fdt, chosen, "bootargs", spapr->vof->bootargs)); in spapr_vof_client_dt_finalize() 47 * SLOF-less setup requires an open instance of stdout for early in spapr_vof_client_dt_finalize() 48 * kernel printk. By now all phandles are settled so we can open in spapr_vof_client_dt_finalize() [all …]
|
/openbmc/u-boot/doc/device-tree-bindings/serial/ |
H A D | 8250.txt | 4 - compatible : one of: 5 - "ns8250" 6 - "ns16450" 7 - "ns16550a" 8 - "ns16550" 9 - "ns16750" 10 - "ns16850" 11 - For Tegra20, must contain "nvidia,tegra20-uart" 12 - For other Tegra, must contain '"nvidia,<chip>-uart", 13 "nvidia,tegra20-uart"' where <chip> is tegra30, tegra114, tegra124, [all …]
|
/openbmc/linux/arch/powerpc/ |
H A D | Kconfig.debug | 1 # SPDX-License-Identifier: GPL-2.0 4 bool "Don't build arch/powerpc code with -Werror" 7 arch/powerpc with the -Werror flag (which means warnings 11 arch/powerpc code caused by a warning, and you don't feel 47 emulated by the in-kernel emulator. Counters for the various classes 50 system. Optionally (controlled by 51 powerpc/emulated_instructions/do_warn in debugfs), rate-limited 56 bool "Run self-tests of the code-patching code" 78 bool "Run self-tests of the feature-fixup code" 82 bool "Run self-tests of the MSI bitmap code" [all …]
|
/openbmc/linux/drivers/tty/hvc/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 8 It will automatically be selected if one of the back-end console drivers 38 bool "IBM RTAS Console support" 42 IBM Console device driver which makes use of RTAS 51 This driver provides a Hypervisor console (HVC) back-end to access 76 This is meant to be used during HW bring up or debugging when 87 driver. This console is used through a JTAG only on ARM. If you don't have 110 bool "RISC-V SBI console support" 114 This enables support for console output via RISC-V SBI calls, which 115 is normally used only during boot to output printk. [all …]
|
/openbmc/linux/arch/powerpc/mm/ |
H A D | numa.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 65 [0 ... MAX_NUMNODES - 1] = { [0 ... MAX_NUMNODES - 1] = -1 } 67 static int numa_id_index_table[MAX_NUMNODES] = { [0 ... MAX_NUMNODES - 1] = NUMA_NO_NODE }; 143 numa_cpu_lookup_table[cpu] = -1; in reset_numa_cpu_lookup_table() 177 int index = primary_domain_index - 1; in __associativity_to_nid() 190 * Returns nid in the range [0..nr_node_ids], or -1 if no useful NUMA 272 * or -1 if not found. 293 if (nid != -1) in of_node_to_nid() 316 int index = be32_to_cpu(distance_ref_points[i]) - 1; in __initialize_form1_numa_distance() 340 * Used to update distance information w.r.t newly added node. [all …]
|
/openbmc/linux/arch/powerpc/platforms/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 37 bool "ePAPR para-virtualization support" 39 Enables ePAPR para-virtualization support for guests. 48 a hypervisor. This option is not user-selectable but should 49 be selected by all platforms that need it. 65 bool "Device-tree based CPU feature discovery & setup" 76 bool "RTAS based debug console" 108 The driver provides a way to wake up the system by MPIC 124 registers are used for inter-processor communication. 145 bool "Proc interface to RTAS" [all …]
|
/openbmc/linux/arch/powerpc/include/asm/ |
H A D | paca.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 5 * There are some pointers defined that are utilized by PLIC. 21 #include <asm/exception-64e.h> 23 #include <asm/exception-64s.h> 34 #include <asm-generic/mmiowb_types.h> 49 #define get_slb_shadow() (get_paca()->slb_shadow_ptr) 58 * This structure is not directly accessed by firmware or the service 66 * read-only (after boot) fields in the first cacheline to 80 u16 lock_token; /* Constant 0x8000, used in locks */ 84 u16 lock_token; /* Constant 0x8000, used in locks */ [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/serial/ |
H A D | 8250.yaml | 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - devicetree@vger.kernel.org 13 - $ref: serial.yaml# 14 - $ref: /schemas/memory-controllers/mc-peripheral-props.yaml# 15 - if: 17 - required: 18 - aspeed,lpc-io-reg 19 - required: 20 - aspeed,lpc-interrupts [all …]
|
/openbmc/linux/drivers/cpuidle/ |
H A D | cpuidle-pseries.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * cpuidle-pseries - idle state cpuidle driver. 24 #include <asm/rtas.h> 47 dev->poll_time_limit = false; in snooze_loop() 58 dev->poll_time_limit = true; in snooze_loop() 80 * were soft-disabled in check_and_cede_processor() 94 * "ibm,get-systems-parameter" RTAS call with the token 100 * table with all the parameters to ibm,get-system-parameters. 117 * ----------------------------- 120 * ----------------------------- [all …]
|