Home
last modified time | relevance | path

Searched full:rtas (Results 1 – 25 of 155) sorted by relevance

1234567

/openbmc/linux/arch/powerpc/kernel/
H A Drtas_entry.S9 * 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 …]
H A Drtas.c4 * 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>
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
316 * "ibm,reset-pe-dma-windows" (plural), but RTAS
415 .name = "rtas-last-error",
463 * Nearly all RTAS calls need to be serialized. All uses of the
[all …]
H A Drtasd.c25 #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 …]
H A Dproc_powerpc.c14 #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()
H A Dcrash_dump.c20 #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()
H A Drtas_flash.c5 * /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 …]
H A Drtas-proc.c6 * 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 …]
/openbmc/linux/arch/powerpc/include/asm/
H A Drtas.h8 #include <asm/rtas-types.h>
13 * Definitions for talking to the RTAS on CHRP machines.
105 * Opaque handle for client code to refer to RTAS functions. All valid
199 #define RTAS_INSTANTIATE_MAX (1ULL<<30) /* Don't instantiate rtas at/above this value */
204 /* RTAS return status codes */
206 #define RTAS_BUSY -2 /* RTAS Busy */
217 /* RTAS event classes */
224 /* RTAS event severity */
232 /* RTAS event disposition */
237 /* RTAS event initiator */
[all …]
/openbmc/qemu/pc-bios/vof/
H A Dci.c18 phandle rtas; in prom_handle() local
24 if (strcmp("instantiate-rtas", (void *)(unsigned long)pargs->args[0])) { in prom_handle()
28 rtas = ci_finddevice("/rtas"); in prom_handle()
29 /* rtas-size is set by QEMU depending of FWNMI support */ in prom_handle()
30 ci_getprop(rtas, "rtas-size", &rtassize, sizeof(rtassize)); in prom_handle()
/openbmc/qemu/docs/specs/
H A Dppc-spapr-hcalls.rst23 RTAS stands for Run-Time Abstraction Sercies and is a set of runtime services
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
H A Dppc-spapr-hotplug.rst126 particular DRC are configured/managed by the guest via a number of RTAS calls
130 ``rtas-set-power-level``
143 ``rtas-get-power-level``
154 ``rtas-set-indicator``
208 ``rtas-get-sensor-state:``
222 ``rtas-set-indicator``. The semantics/encodings of the sensor values are
259 ``rtas-ibm-configure-connector``
268 non-zero if a prior RTAS response indicated a need for additional memory.
317 check-exception interrupt, then provides an RTAS event log via an
318 rtas-check-exception call issued by the guest in response. This framework is
[all …]
/openbmc/linux/drivers/watchdog/
H A Dwdrtas.c4 * 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 …]
/openbmc/linux/drivers/pci/hotplug/
H A Drpaphp_pci.c16 #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
/openbmc/linux/arch/powerpc/platforms/pseries/
H A Drtas-work-area.c3 #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.
H A Dras.c15 #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 …]
H A Deeh_pseries.c4 * 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 …]
H A Dsmp.c35 #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()
H A Dio_event_irq.c16 #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()
/openbmc/qemu/tests/qtest/
H A Drtas-test.c6 #include "libqos/rtas.h"
44 g_printerr("RTAS requires qemu-system-ppc64\n"); in main()
47 qtest_add_func("rtas/get-time-of-day", test_rtas_get_time_of_day); in main()
48 qtest_add_func("rtas/get-time-of-day-vof", test_rtas_get_time_of_day_vof); in main()
/openbmc/qemu/hw/ppc/
H A Dpegasos2.c463 qemu_log_mask(LOG_GUEST_ERROR, "Too few return values in RTAS call\n"); in pegasos2_rtas()
541 qemu_log_mask(LOG_UNIMP, "Unknown RTAS token %u (args=%u, rets=%u)\n", in pegasos2_rtas()
965 qemu_fdt_add_subnode(fdt, "/rtas"); in build_fdt()
966 qemu_fdt_setprop_cell(fdt, "/rtas", "system-reboot", RTAS_SYSTEM_REBOOT); in build_fdt()
967 qemu_fdt_setprop_cell(fdt, "/rtas", "hibernate", RTAS_HIBERNATE); in build_fdt()
968 qemu_fdt_setprop_cell(fdt, "/rtas", "suspend", RTAS_SUSPEND); in build_fdt()
969 qemu_fdt_setprop_cell(fdt, "/rtas", "power-off", RTAS_POWER_OFF); in build_fdt()
970 qemu_fdt_setprop_cell(fdt, "/rtas", "set-indicator", RTAS_SET_INDICATOR); in build_fdt()
971 qemu_fdt_setprop_cell(fdt, "/rtas", "display-character", in build_fdt()
973 qemu_fdt_setprop_cell(fdt, "/rtas", "write-pci-config", in build_fdt()
[all …]
H A Dspapr_numa.c432 void *fdt, int rtas) in spapr_numa_FORM1_write_rtas_dt() argument
481 _FDT(fdt_setprop(fdt, rtas, "ibm,associativity-reference-points", in spapr_numa_FORM1_write_rtas_dt()
484 _FDT(fdt_setprop(fdt, rtas, "ibm,max-associativity-domains", in spapr_numa_FORM1_write_rtas_dt()
489 void *fdt, int rtas) in spapr_numa_FORM2_write_rtas_tables() argument
509 _FDT(fdt_setprop(fdt, rtas, "ibm,numa-lookup-index-table", in spapr_numa_FORM2_write_rtas_tables()
537 _FDT(fdt_setprop(fdt, rtas, "ibm,numa-distance-table", in spapr_numa_FORM2_write_rtas_tables()
550 void *fdt, int rtas) in spapr_numa_FORM2_write_rtas_dt() argument
569 _FDT(fdt_setprop(fdt, rtas, "ibm,associativity-reference-points", in spapr_numa_FORM2_write_rtas_dt()
572 _FDT(fdt_setprop(fdt, rtas, "ibm,max-associativity-domains", in spapr_numa_FORM2_write_rtas_dt()
575 spapr_numa_FORM2_write_rtas_tables(spapr, fdt, rtas); in spapr_numa_FORM2_write_rtas_dt()
[all …]
H A Dspapr_rtas.c4 * Hypercall based emulated RTAS
468 "FWNMI: ibm,nmi-interlock RTAS called with FWNMI not registered.\n"); in rtas_ibm_nmi_interlock()
519 /* HACK: Some Linux early debug code uses RTAS display-character, in spapr_rtas_call()
528 hcall_dprintf("Unknown RTAS token 0x%x\n", token); in spapr_rtas_call()
553 if (strcmp(words[0], "rtas") == 0) { in spapr_qtest_callback()
589 void spapr_dt_rtas_tokens(void *fdt, int rtas) in spapr_dt_rtas_tokens() argument
600 _FDT(fdt_setprop_cell(fdt, rtas, call->name, i + RTAS_TOKEN_BASE)); in spapr_dt_rtas_tokens()
611 /* fetch rtas addr from fdt */ in spapr_get_rtas_addr()
612 rtas_node = fdt_path_offset(fdt, "/rtas"); in spapr_get_rtas_addr()
617 rtas_data = fdt_getprop(fdt, rtas_node, "linux,rtas-base", NULL); in spapr_get_rtas_addr()
[all …]
/openbmc/linux/arch/powerpc/platforms/chrp/
H A Dpci.c21 #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()
/openbmc/linux/arch/powerpc/sysdev/xics/
H A Dics-rtas.c18 #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()
/openbmc/qemu/include/hw/ppc/
H A Dspapr_drc.h78 * set via set-indicator RTAS calls
90 * set via set-indicator RTAS calls
108 * set via set-indicator RTAS calls
125 * returned via get-sensor-state RTAS calls
180 /* RTAS ibm,configure-connector state */

1234567