| /Linux-v6.1/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. 32 #include <asm/rtas.h> 68 srr_regs_clobbered(); /* rtas uses SRRs, invalidate */ in do_enter_rtas() 71 struct rtas_t rtas = { variable 74 EXPORT_SYMBOL(rtas); 91 /* RTAS use home made raw locking instead of spin_lock_irqsave 102 arch_spin_lock(&rtas.lock); in lock_rtas() 108 arch_spin_unlock(&rtas.lock); in unlock_rtas() 122 if (!rtas.base) in call_rtas_display_status() 126 rtas_call_unlocked(&rtas.args, 10, 1, 1, NULL, c); in call_rtas_display_status() [all …]
|
| D | proc_powerpc.c | 14 #include <asm/rtas.h> 66 * Create the ppc64 and ppc64/rtas directories early. This allows us to 82 if (!of_find_node_by_path("/rtas")) in proc_ppc64_create() 85 if (!proc_mkdir("rtas", root)) in proc_ppc64_create() 88 if (!proc_symlink("rtas", NULL, "powerpc/rtas")) in proc_ppc64_create()
|
| D | rtasd.c | 24 #include <asm/rtas.h> 44 /* RTAS service tokens */ 57 * Since we use 32 bit RTAS, the physical address of this must be below 96 /* To see this info, grep RTAS /var/log/messages and each entry 101 * format of error logs returned from RTAS: 115 char * str = "RTAS event"; in printk_log_rtas() 123 * with RTAS and a changing number, so syslogd will in printk_log_rtas() 131 n = sprintf(buffer, "RTAS %d:", i/perline); in printk_log_rtas() 164 /* rtas fixed header */ in log_rtas_len() 187 * method for the type of error. Currently, only RTAS [all …]
|
| D | crash_dump.c | 20 #include <asm/rtas.h> 97 * The crashkernel region will almost always overlap the RTAS region, so 106 basep = of_get_property(rtas.dev, "linux,rtas-base", NULL); in crash_free_reserved_phys_range() 107 sizep = of_get_property(rtas.dev, "rtas-size", NULL); in crash_free_reserved_phys_range() 115 /* Does this page overlap with the RTAS region? */ in crash_free_reserved_phys_range()
|
| 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 …]
|
| D | rtas_pci.c | 6 * RTAS specific routines for PCI. 25 #include <asm/rtas.h> 30 /* RTAS tokens */
|
| /Linux-v6.1/arch/powerpc/include/asm/ |
| D | rtas.h | 8 #include <asm/rtas-types.h> 13 * Definitions for talking to the RTAS on CHRP machines. 20 #define RTAS_INSTANTIATE_MAX (1ULL<<30) /* Don't instantiate rtas at/above this value */ 25 /* RTAS return status codes */ 26 #define RTAS_BUSY -2 /* RTAS Busy */ 37 * In general to call RTAS use rtas_token("string") to lookup 38 * an RTAS token for the given string (e.g. "event-scan"). 47 * may be safely used for one-shot calls to RTAS. 51 /* RTAS event classes */ 58 /* RTAS event severity */ [all …]
|
| D | rtas-types.h | 51 /* RTAS general extended event log, Version 6. The extended log starts 63 * X 1: "New" log (always 1 for data returned from RTAS) 102 /* RTAS pseries hotplug errorlog section */
|
| /Linux-v6.1/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-v6.1/arch/powerpc/platforms/pseries/ |
| 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 | 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 | 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 | 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 | 13 #include <asm/rtas.h> 30 /* RTAS Helpers */ 57 * If the RTAS call succeeded, return the number of irqs allocated. in rtas_change_msi() 331 * fact that we using RTAS for MSIs, we don't have the 32 bit MSI RTAS in rtas_hack_32bit_msi_gen2() 447 * RTAS can not disable one MSI at a time. It's all or nothing. Do it 587 /* TODO: handle RTAS cleanup in ->msi_finish() ? */ in pseries_irq_domain_alloc() 690 pr_debug("rtas_msi: no RTAS tokens, no MSI support.\n"); in rtas_msi_init() 694 pr_debug("rtas_msi: Registering RTAS MSI callbacks.\n"); in rtas_msi_init()
|
| D | firmware.c | 35 * The names in this table match names in rtas/ibm,hypertas-functions. If the 164 if (!strcmp(uname, "rtas") || !strcmp(uname, "rtas@0")) { in probe_fw_features()
|
| /Linux-v6.1/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()
|
| D | nvram.c | 15 #include <asm/rtas.h> 58 printk(KERN_DEBUG "rtas IO error storing 0x%02x at %d", val, addr); in chrp_nvram_write_val()
|
| /Linux-v6.1/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-v6.1/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-v6.1/arch/powerpc/platforms/cell/ |
| D | smp.c | 36 #include <asm/rtas.h> 59 * started from Open Firmware. For anything else, call RTAS with the 81 * If the RTAS start-cpu token does not exist then presume the in smp_startup_cpu()
|
| /Linux-v6.1/arch/powerpc/ |
| D | Kconfig.debug | 200 bool "RTAS Panel" 203 Select this to enable early debugging via the RTAS panel. 206 bool "RTAS Console" 210 Select this to enable early debugging via the RTAS console.
|
| /Linux-v6.1/drivers/tty/hvc/ |
| D | hvc_rtas.c | 3 * IBM RTAS driver interface to hvc_console.c 25 #include <asm/rtas.h>
|