/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 42 #include <asm/rtas-work-area.h> 43 #include <asm/rtas.h> 49 /* Indexes into the args buffer, -1 if not used */ 62 * struct rtas_function - Descriptor for RTAS functions. 64 * @token: Value of @name if it exists under the /rtas node. 66 * @filter: If non-NULL, invoking this function via the rtas syscall is 75 * @lock: Pointer to an optional dedicated per-function mutex. This [all …]
|
H A D | crash_dump.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Routines for doing kexec-based kdump. 7 * Created by: Michael Ellerman 16 #include <asm/code-patching.h> 20 #include <asm/rtas.h> 42 * instruction's address + (32 MB - 4) bytes. For the trampoline we in create_trampoline() 45 * does a branch to (32 MB - 4). The net effect is that when we in create_trampoline() 57 DBG(" -> setup_kdump_trampoline()\n"); in setup_kdump_trampoline() 64 create_trampoline(__pa(system_reset_fwnmi) - PHYSICAL_START); in setup_kdump_trampoline() 65 create_trampoline(__pa(machine_check_fwnmi) - PHYSICAL_START); in setup_kdump_trampoline() [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() 78 /* udbg library, used by xmon et al */ 108 while (((c = *s++) != '\0') && (remain-- > 0)) { in udbg_write() 116 return n - remain; in udbg_write() 156 * Called by setup_system after ppc_md->probe and ppc_md->early_init. 157 * Call it again after setting udbg_putc in ppc_md->setup_arch. 167 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 …]
|
/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 | 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 | 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 | 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> 31 /* RTAS Helpers */ 39 addr = rtas_config_addr(pdn->busno, pdn->devfn, 0); in rtas_change_msi() 40 buid = pdn->phb->buid; in rtas_change_msi() 58 * If the RTAS call succeeded, return the number of irqs allocated. in rtas_change_msi() 64 rc = -rc; in rtas_change_msi() 81 * disabling MSI with the explicit interface also disables MSI-X in rtas_disable_msi() [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 | 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> 23 #include <asm/fadump-internal.h> 25 #include "rtas-fadump.h" 33 fadump_conf->fadumphdr_addr = (fadump_conf->boot_mem_dest_addr + in rtas_fadump_update_config() 34 fadump_conf->boot_memory_size); in rtas_fadump_update_config() 48 fadump_conf->boot_memory_size = 0; in rtas_fadump_get_config() 49 fadump_conf->boot_mem_regs_cnt = 0; in rtas_fadump_get_config() [all …]
|
H A D | rtas-fadump.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Firmware-Assisted Dump support on POWERVM platform. 37 * in the dump memory structure. Presently, three sections are used for 39 * can be used for boot memory regions. 55 /* ibm,configure-kernel-dump header. */ 68 /* Maximum time allowed to prevent an automatic dump-reboot. */ 74 * registering future kernel dump with power firmware through rtas call. 76 * In version 1, the platform permits one section header, dump-disk path 88 * The firmware-assisted dump format. 90 * The register save area is an area in the partition's memory used to preserve [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 …]
|
H A D | lparcfg.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 14 * keyword - value pairs that specify the configuration of the partition. 22 #include <asm/papr-sysparm.h> 30 #include <asm/rtas.h> 51 * Track sum of all purrs across all processors. This is used to further 52 * calculate usage values by different applications 71 * Methods used to fetch LPAR data when running on a pSeries platform. 97 * XXXX - reserved (0) 98 * XXXX - reserved (0) 99 * XXXX - Group Number [all …]
|
/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 …]
|
/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. This driver [all …]
|
/linux/arch/powerpc/mm/ |
H A D | numa.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 63 [0 ... MAX_NUMNODES - 1] = { [0 ... MAX_NUMNODES - 1] = -1 } 65 static int numa_id_index_table[MAX_NUMNODES] = { [0 ... MAX_NUMNODES - 1] = NUMA_NO_NODE }; 141 numa_cpu_lookup_table[cpu] = -1; in reset_numa_cpu_lookup_table() 175 int index = primary_domain_index - 1; in __associativity_to_nid() 188 * Returns nid in the range [0..nr_node_ids], or -1 if no useful NUMA 270 * or -1 if not found. 291 if (nid != -1) in of_node_to_nid() 314 int index = be32_to_cpu(distance_ref_points[i]) - 1; in __initialize_form1_numa_distance() 338 * Used to update distance information w.r.t newly added node. [all …]
|
/linux/drivers/gpu/drm/imagination/ |
H A D | pvr_rogue_fwif_client.h | 1 /* SPDX-License-Identifier: GPL-2.0-only OR MIT */ 15 * Page size used for Parameter Management. 27 * Minimum PB = Base Pages + (NUM_TE_PIPES-1)*16K + (NUM_VCE_PIPES-1)*64K + 30 * Maximum PB size must ensure that no PM address space can be fully used, 31 * because if the full address space was used it would wrap and corrupt itself. 40 * of 4GB minus the Minimum PB. For convenience we take the smaller power-of-2 46 * Flags supported by the geometry DM command i.e. &struct rogue_fwif_cmd_geom. 55 * Flags supported by the fragment DM command i.e. &struct rogue_fwif_cmd_frag. 74 * Flags supported by the compute DM command i.e. &struct rogue_fwif_cmd_compute. 82 * Flags supported by the transfer DM command i.e. &struct rogue_fwif_cmd_transfer. [all …]
|
/linux/arch/powerpc/platforms/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 36 bool "ePAPR para-virtualization support" 38 Enables ePAPR para-virtualization support for guests. 47 a hypervisor. This option is not user-selectable but should 48 be selected by all platforms that need it. 64 bool "Device-tree based CPU feature discovery & setup" 75 bool "RTAS based debug console" 107 The driver provides a way to wake up the system by MPIC 123 registers are used for inter-processor communication. 144 bool "Proc interface to RTAS" [all …]
|
/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 …]
|
/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 …]
|
/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 …]
|
/linux/arch/powerpc/platforms/chrp/ |
H A D | setup.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Adapted from 'alpha' version by Gary Thomas 5 * Modified by Cort Dougan (cort@cs.nmt.edu) 40 #include <asm/pci-bridge.h> 49 #include <asm/rtas.h> 62 /* Used for doing CHRP event-scans */ 68 /* To be replaced by RTAS when available */ 82 "Asynchronous", "Reserved", "Flow-Through Synchronous", 86 "Disabled", "Write-Through", "Copy-Back", "Transparent Mode" 253 * Per default, input/output-device points to the keyboard/screen [all …]
|
/linux/drivers/pci/hotplug/ |
H A D | rpaphp_slot.c | 1 // SPDX-License-Identifier: GPL-2.0+ 19 #include <asm/rtas.h> 22 /* free up the memory used by a slot */ 25 of_node_put(slot->dn); in dealloc_slot_struct() 26 kfree(slot->name); in dealloc_slot_struct() 38 slot->name = kstrdup(drc_name, GFP_KERNEL); in alloc_slot_struct() 39 if (!slot->name) in alloc_slot_struct() 41 slot->dn = of_node_get(dn); in alloc_slot_struct() 42 slot->index = drc_index; in alloc_slot_struct() 43 slot->power_domain = power_domain; in alloc_slot_struct() [all …]
|
/linux/arch/powerpc/sysdev/xics/ |
H A D | xics-common.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 26 #include <asm/rtas.h> 60 ireg = of_get_property(np, "ibm,ppc-interrupt-gserver#s", &ilen); in xics_update_irq_servers() 69 * entry of "ibm,ppc-interrupt-gserver#s" property. Get the last in xics_update_irq_servers() 84 /* GIQ stuff, currently only supported on RTAS setups, will have 96 index = (1UL << xics_interrupt_server_size) - 1 - gserver; in xics_set_cpu_giq() 100 WARN(status < 0, "set-indicator(%d, %d, %u) returned %d\n", in xics_set_cpu_giq() 107 icp_ops->set_priority(LOWEST_PRIORITY); in xics_setup_cpu() 118 xics_ics->mask_unknown(xics_ics, vec); in xics_mask_unknown_vec() 134 BUG_ON(request_irq(ipi, icp_ops->ipi_action, in xics_request_ipi() [all …]
|
/linux/arch/powerpc/kexec/ |
H A D | core_64.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2004-2005, IBM Corp. 7 * Created by: Milton D Miller II 35 #include <asm/crashdump-ppc64.h> 51 for (i = 0; i < image->nr_segments; i++) in machine_kexec_prepare() 52 if (image->segment[i].mem < __pa(_end)) in machine_kexec_prepare() 53 return -ETXTBSY; in machine_kexec_prepare() 57 basep = of_get_property(node, "linux,tce-base", NULL); in machine_kexec_prepare() 58 sizep = of_get_property(node, "linux,tce-size", NULL); in machine_kexec_prepare() 65 for (i = 0; i < image->nr_segments; i++) { in machine_kexec_prepare() [all …]
|