/linux-6.14.4/arch/powerpc/kernel/ |
D | rtas_entry.S | 9 * RTAS is called with MSR IR, DR, EE disabled, and LR in the return address. 11 * Note: r3 is an input parameter to rtas, so don't trash it... 19 LOAD_REG_ADDR(r4, rtas) 20 lis r6,1f@ha /* physical return address for rtas */ 55 * 32-bit rtas on 64-bit machines has the additional problem that RTAS may 63 /* Because RTAS is running in 32b mode, it clobbers the high order half 65 * RTAS might touch to the stack. (r0, r3-r12 are caller saved) 81 /* Temporary workaround to clear CR until RTAS can be modified to 91 * our original state after RTAS returns. 102 LOAD_REG_ADDR(r4, rtas) [all …]
|
D | rtas.c | 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> 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 92 * Per-function locks for sequence-based RTAS functions. 382 * "ibm,reset-pe-dma-windows" (plural), but RTAS 487 .name = "rtas-last-error", [all …]
|
D | rtasd.c | 25 #include <asm/rtas.h> 45 /* RTAS service tokens */ 58 * Since we use 32 bit RTAS, the physical address of this must be below 97 /* To see this info, grep RTAS /var/log/messages and each entry 102 * format of error logs returned from RTAS: 116 char * str = "RTAS event"; in printk_log_rtas() 124 * with RTAS and a changing number, so syslogd will in printk_log_rtas() 132 n = sprintf(buffer, "RTAS %d:", i/perline); in printk_log_rtas() 165 /* rtas fixed header */ in log_rtas_len() 188 * method for the type of error. Currently, only RTAS [all …]
|
D | crash_dump.c | 20 #include <asm/rtas.h> 109 * The crashkernel region will almost always overlap the RTAS region, so 118 basep = of_get_property(rtas.dev, "linux,rtas-base", NULL); in crash_free_reserved_phys_range() 119 sizep = of_get_property(rtas.dev, "rtas-size", NULL); in crash_free_reserved_phys_range() 127 /* Does this page overlap with the RTAS region? */ in crash_free_reserved_phys_range()
|
D | proc_powerpc.c | 15 #include <asm/rtas.h> 89 * Create the ppc64 and ppc64/rtas directories early. This allows us to 105 if (!of_find_node_by_path("/rtas")) in proc_ppc64_create() 108 if (!proc_mkdir("rtas", root)) in proc_ppc64_create() 111 if (!proc_symlink("rtas", NULL, "powerpc/rtas")) in proc_ppc64_create()
|
D | rtas_flash.c | 5 * /proc/powerpc/rtas/firmware_flash interface 9 * firmware image and flash it as it reboots (see rtas.c). 19 #include <asm/rtas.h> 29 /* General RTAS Status Codes */ 35 #define FLASH_AUTH -9002 /* RTAS Not Service Authority Partition */ 43 #define MANAGE_AUTH -9002 /* RTAS Not Service Authority Partition */ 44 #define MANAGE_ACTIVE_ERR -9001 /* RTAS Cannot Overwrite Active Img */ 46 #define MANAGE_PARAM_ERR -3 /* RTAS Parameter Error */ 47 #define MANAGE_HW_ERR -1 /* RTAS Hardware Error */ 50 #define VALIDATE_AUTH -9002 /* RTAS Not Service Authority Partition */ [all …]
|
D | rtas-proc.c | 6 * RTAS (Runtime Abstraction Services) stuff 8 * to use the RTAS. 12 * location. Write Documentation on what the /proc/rtas/ entries 32 #include <asm/rtas.h> 236 rtas_node = of_find_node_by_name(NULL, "rtas"); in proc_rtas_init() 240 proc_create("powerpc/rtas/progress", 0644, NULL, in proc_rtas_init() 242 proc_create("powerpc/rtas/clock", 0644, NULL, in proc_rtas_init() 244 proc_create("powerpc/rtas/poweron", 0644, NULL, in proc_rtas_init() 246 proc_create_single("powerpc/rtas/sensors", 0444, NULL, in proc_rtas_init() 248 proc_create("powerpc/rtas/frequency", 0644, NULL, in proc_rtas_init() [all …]
|
/linux-6.14.4/arch/powerpc/include/asm/ |
D | rtas.h | 9 #include <asm/rtas-types.h> 14 * Definitions for talking to the RTAS on CHRP machines. 106 * Opaque handle for client code to refer to RTAS functions. All valid 200 #define RTAS_INSTANTIATE_MAX (1ULL<<30) /* Don't instantiate rtas at/above this value */ 206 * Common RTAS function return values, derived from the table "RTAS 212 * RTAS functions may use negative and positive numbers not in this 231 /* RTAS event classes */ 238 /* RTAS event severity */ 246 /* RTAS event disposition */ 251 /* RTAS event initiator */ [all …]
|
D | rtas-work-area.h | 12 * struct rtas_work_area - RTAS work area descriptor. 15 * RTAS addressing requirements. 33 * Allocate a buffer suitable for passing to RTAS functions that have
|
D | rtas-types.h | 49 /* RTAS general extended event log, Version 6. The extended log starts 61 * X 1: "New" log (always 1 for data returned from RTAS) 100 /* RTAS pseries hotplug errorlog section */
|
/linux-6.14.4/drivers/watchdog/ |
D | wdrtas.c | 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"); 68 * RTAS function set-indicator (surveillance). The unit of interval is 77 /* rtas uses minutes */ in wdrtas_set_interval() 95 * @fallback_value: value (in seconds) to use, if the RTAS call fails 100 * as reported by the RTAS function ibm,get-system-parameter. The unit 123 /* rtas uses minutes */ in wdrtas_get_interval() [all …]
|
/linux-6.14.4/drivers/pci/hotplug/ |
D | rpaphp_pci.c | 16 #include <asm/rtas.h> 23 * RTAS call get-sensor-state(DR_ENTITY_SENSE) return values as per PAPR: 27 * -3: Invalid sensor. RTAS Parameter Error. 29 * -9000: Need DR entity to be powered up and unisolated before RTAS call 30 * -9001: Need DR entity to be powered up, but not unisolated, before RTAS call 59 * On certain PHB failures, the RTAS call rtas_call(get-sensor-state) returns 60 * extended busy error (9902) until PHB is recovered by pHyp. The RTAS call 61 * interface rtas_get_sensor() loops over the RTAS call on extended delay 67 * recovery state and return -EBUSY error based on RTAS return status. This
|
/linux-6.14.4/arch/powerpc/platforms/pseries/ |
D | rtas-work-area.c | 3 #define pr_fmt(fmt) "rtas-work-area: " fmt 17 #include <asm/rtas-work-area.h> 18 #include <asm/rtas.h> 34 * PAPR+ 7.3.20 ibm,get-vpd RTAS Call 128 * reliably reserve an arena that satisfies RTAS addressing 130 * immmediately after RTAS instantiation. Then we have to wait until 151 * All RTAS functions that consume work areas are OK with in rtas_work_area_allocator_init() 186 * rtas_work_area_reserve_arena() - Reserve memory suitable for RTAS work areas.
|
D | ras.c | 15 #include <asm/rtas.h> 36 /* RTAS pseries MCE errorlog section. */ 76 /* RTAS pseries MCE error types */ 86 /* RTAS pseries MCE error sub types */ 194 " UPS/battery. Check RTAS error log for details\n"); in handle_system_shutdown() 199 " RTAS error log for details\n"); in handle_system_shutdown() 204 pr_emerg("High ambient temperature detected. Check RTAS" in handle_system_shutdown() 255 pr_info("Non-critical cooling issue detected. Check RTAS error" in rtas_parse_epow_errlog() 260 pr_info("Non-critical power issue detected. Check RTAS error" in rtas_parse_epow_errlog() 269 pr_emerg("Critical power/cooling issue detected. Check RTAS" in rtas_parse_epow_errlog() [all …]
|
D | eeh_pseries.c | 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 34 #include <asm/rtas.h> 36 /* RTAS tokens */ 92 * The EEH RTAS calls use a tuple consisting of: (buid_hi, buid_lo, 147 * I haven't found *any* systems that don't have that RTAS call in pseries_eeh_get_pe_config_addr() 166 /* Reset PE through RTAS call */ in pseries_eeh_phb_reset() 214 * If RTAS returns a delay value that's above 100ms, cut it in pseries_eeh_phb_configure_bridge() 240 * Buffer for reporting slot-error-detail rtas calls. Its here 242 * RMO where RTAS can access it. [all …]
|
D | papr-vpd.c | 20 #include <asm/rtas-work-area.h> 21 #include <asm/rtas.h> 26 * v2.13 7.3.20 "ibm,get-vpd RTAS Call". 34 * @loc_code: In: Caller-provided location code buffer. Must be RTAS-addressable. 38 * @status: Out: RTAS call status. 53 * into the supplied work area. Handles RTAS retry statuses. Maps RTAS 240 * RTAS to ensure it's in the RMA and avoid a separate work in vpd_sequence_begin() 346 * Context: May sleep. Holds a mutex and an RTAS work area for its 455 * necessary RTAS interactions are performed before returning the fd
|
D | smp.c | 35 #include <asm/rtas.h> 69 "RTAS query-cpu-stopped-state failed: %i\n", status); in smp_query_cpu_stopped() 80 * started from Open Firmware. For anything else, call RTAS with the 108 * If the RTAS start-cpu token does not exist then presume the in smp_startup_cpu() 266 * We know prom_init will not have started them if RTAS supports in smp_init_pseries()
|
D | io_event_irq.c | 16 #include <asm/rtas.h> 23 * IO event interrupt is a mechanism provided by RTAS to return 66 * @elog: RTAS error/event log. 89 printk_once(KERN_WARNING "io_event_irq: RTAS extended event " in ioei_find_event()
|
D | nvram.c | 18 #include <asm/rtas.h> 184 * Are we using the ibm,rtas-log for oops/panic reports? And if so, 185 * would logging this oops/panic overwrite an RTAS event that rtas_errd 188 * We assume that if rtas_errd hasn't read the RTAS event in
|
D | msi.c | 14 #include <asm/rtas.h> 32 /* RTAS Helpers */ 59 * If the RTAS call succeeded, return the number of irqs allocated. in rtas_change_msi() 333 * fact that we using RTAS for MSIs, we don't have the 32 bit MSI RTAS in rtas_hack_32bit_msi_gen2() 453 * RTAS can not disable one MSI at a time. It's all or nothing. Do it 590 /* TODO: handle RTAS cleanup in ->msi_finish() ? */ in pseries_irq_domain_alloc() 693 pr_debug("rtas_msi: no RTAS tokens, no MSI support.\n"); in rtas_msi_init() 697 pr_debug("rtas_msi: Registering RTAS MSI callbacks.\n"); in rtas_msi_init()
|
D | Makefile | 5 of_helpers.o rtas-work-area.o papr-sysparm.o \ 29 obj-$(CONFIG_FA_DUMP) += rtas-fadump.o
|
/linux-6.14.4/arch/powerpc/platforms/chrp/ |
D | pci.c | 21 #include <asm/rtas.h> 95 * Access functions for PCI config space using RTAS calls. 192 struct device_node *rtas; in setup_peg2() local 194 rtas = of_find_node_by_name (root, "rtas"); in setup_peg2() 195 if (rtas) { in setup_peg2() 197 of_node_put(rtas); in setup_peg2() 199 printk ("RTAS supporting Pegasos OF not found, please upgrade" in setup_peg2() 300 printk("No methods for %pOF (model %s), using RTAS\n", in chrp_find_bridges()
|
/linux-6.14.4/arch/powerpc/sysdev/xics/ |
D | ics-rtas.c | 18 #include <asm/rtas.h> 20 /* RTAS service tokens */ 160 /* Check if RTAS knows about this interrupt */ in ics_rtas_check() 208 /* We enable the RTAS "ICS" if RTAS is present with the in ics_rtas_init()
|
/linux-6.14.4/arch/powerpc/kvm/ |
D | book3s_rtas.c | 15 #include <asm/rtas.h> 227 * r4 contains the guest physical address of the RTAS args in kvmppc_rtas_hcall() 282 * We only get here if the guest has called RTAS with a bogus in kvmppc_rtas_hcall() 285 * fail the RTAS call. So fail right out to userspace, which in kvmppc_rtas_hcall() 289 * rtas handler call in r3, so enter_rtas could be modified to in kvmppc_rtas_hcall()
|
/linux-6.14.4/arch/powerpc/platforms/cell/ |
D | smp.c | 36 #include <asm/rtas.h> 60 * started from Open Firmware. For anything else, call RTAS with the 82 * If the RTAS start-cpu token does not exist then presume the in smp_startup_cpu()
|