|
Linux Kernel
3.7.1
|
#include <linux/bcd.h>#include <linux/spinlock.h>#include <linux/efi.h>#include <asm/pal.h>#include <asm/fpu.h>Go to the source code of this file.
Data Structures | |
| struct | ia64_sal_retval |
| struct | ia64_sal_systab |
| struct | ia64_sal_desc_entry_point |
| struct | ia64_sal_desc_memory |
| struct | ia64_sal_desc_platform_feature |
| struct | ia64_sal_desc_tr |
| struct | ia64_sal_desc_ptc |
| struct | ia64_sal_ptc_domain_info |
| struct | ia64_sal_ptc_domain_proc_entry |
| struct | ia64_sal_desc_ap_wakeup |
| struct | sal_log_revision |
| struct | sal_log_timestamp |
| struct | sal_log_record_header |
| struct | sal_log_sec_header |
| struct | sal_log_mod_error_info |
| struct | sal_processor_static_info |
| struct | sal_cpuid_info |
| struct | sal_log_processor_info |
| struct | sal_log_mem_dev_err_info |
| struct | sal_log_sel_dev_err_info |
| struct | sal_log_pci_bus_err_info |
| struct | sal_log_smbios_dev_err_info |
| struct | sal_log_pci_comp_err_info |
| struct | sal_log_plat_specific_err_info |
| struct | sal_log_host_ctlr_err_info |
| struct | sal_log_plat_bus_err_info |
| union | sal_log_platform_err_info |
| struct | err_rec |
| struct | sal_ret_values |
| struct | palo_table |
Macros | |
| #define | IA64_SAL_PLATFORM_FEATURE_BUS_LOCK_BIT 0 |
| #define | IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT_BIT 1 |
| #define | IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT_BIT 2 |
| #define | IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT_BIT 3 |
| #define | IA64_SAL_PLATFORM_FEATURE_BUS_LOCK (1<<IA64_SAL_PLATFORM_FEATURE_BUS_LOCK_BIT) |
| #define | IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT (1<<IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT_BIT) |
| #define | IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT (1<<IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT_BIT) |
| #define | IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT (1<<IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT_BIT) |
| #define | __IA64_FW_CALL(entry, result, a0, a1, a2, a3, a4, a5, a6, a7) result = (*entry)(a0,a1,a2,a3,a4,a5,a6,a7) |
| #define | IA64_FW_CALL(entry, result, args...) |
| #define | SAL_CALL(result, args...) IA64_FW_CALL(ia64_sal, result, args); |
| #define | SAL_CALL_NOLOCK(result, args...) |
| #define | SAL_CALL_REENTRANT(result, args...) |
| #define | SAL_SET_VECTORS 0x01000000 |
| #define | SAL_GET_STATE_INFO 0x01000001 |
| #define | SAL_GET_STATE_INFO_SIZE 0x01000002 |
| #define | SAL_CLEAR_STATE_INFO 0x01000003 |
| #define | SAL_MC_RENDEZ 0x01000004 |
| #define | SAL_MC_SET_PARAMS 0x01000005 |
| #define | SAL_REGISTER_PHYSICAL_ADDR 0x01000006 |
| #define | SAL_CACHE_FLUSH 0x01000008 |
| #define | SAL_CACHE_INIT 0x01000009 |
| #define | SAL_PCI_CONFIG_READ 0x01000010 |
| #define | SAL_PCI_CONFIG_WRITE 0x01000011 |
| #define | SAL_FREQ_BASE 0x01000012 |
| #define | SAL_PHYSICAL_ID_INFO 0x01000013 |
| #define | SAL_UPDATE_PAL 0x01000020 |
| #define | SAL_DESC_SIZE(type) "\060\040\020\040\020\020"[(unsigned) type] |
| #define | IA64_SAL_AP_EXTERNAL_INT 0 |
| #define | SAL_VERSION_CODE(major, minor) ((bin2bcd(major) << 8) | bin2bcd(minor)) |
| #define | SAL_MC_PARAM_RZ_ALWAYS 0x1 |
| #define | SAL_MC_PARAM_BINIT_ESCALATE 0x10 |
| #define | SAL_PROC_DEV_ERR_SECT_GUID EFI_GUID(0xe429faf1, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | SAL_PLAT_MEM_DEV_ERR_SECT_GUID EFI_GUID(0xe429faf2, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | SAL_PLAT_SEL_DEV_ERR_SECT_GUID EFI_GUID(0xe429faf3, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | SAL_PLAT_PCI_BUS_ERR_SECT_GUID EFI_GUID(0xe429faf4, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | SAL_PLAT_SMBIOS_DEV_ERR_SECT_GUID EFI_GUID(0xe429faf5, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | SAL_PLAT_PCI_COMP_ERR_SECT_GUID EFI_GUID(0xe429faf6, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | SAL_PLAT_SPECIFIC_ERR_SECT_GUID EFI_GUID(0xe429faf7, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | SAL_PLAT_HOST_CTLR_ERR_SECT_GUID EFI_GUID(0xe429faf8, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | SAL_PLAT_BUS_ERR_SECT_GUID EFI_GUID(0xe429faf9, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define | PROCESSOR_ABSTRACTION_LAYER_OVERWRITE_GUID |
| #define | MAX_CACHE_ERRORS 6 |
| #define | MAX_TLB_ERRORS 6 |
| #define | MAX_BUS_ERRORS 1 |
| #define | sal_log_severity_recoverable 0 |
| #define | sal_log_severity_fatal 1 |
| #define | sal_log_severity_corrected 2 |
| #define | ERI_NOT_VALID 0x0 /* Error Recovery Field is not valid */ |
| #define | ERI_NOT_ACCESSIBLE 0x30 /* Resource not accessible */ |
| #define | ERI_CONTAINMENT_WARN 0x22 /* Corrupt data propagated */ |
| #define | ERI_UNCORRECTED_ERROR 0x20 /* Uncorrected error */ |
| #define | ERI_COMPONENT_RESET 0x24 /* Component must be reset */ |
| #define | ERI_CORR_ERROR_LOG 0x21 /* Corrected error, needs logging */ |
| #define | ERI_CORR_ERROR_THRESH 0x29 /* Corrected error threshold exceeded */ |
| #define | SAL_LPI_PSI_INFO(l) |
| #define | IA64_SAL_OEMFUNC_MIN 0x02000000 |
| #define | IA64_SAL_OEMFUNC_MAX 0x03ffffff |
| #define | PALO_MAX_TLB_PURGES 0xFFFF |
| #define | PALO_SIG "PALO" |
| #define | NPTCG_FROM_PAL 0 |
| #define | NPTCG_FROM_PALO 1 |
| #define | NPTCG_FROM_KERNEL_PARAMETER 2 |
Enumerations | |
| enum | { SAL_FREQ_BASE_PLATFORM = 0, SAL_FREQ_BASE_INTERVAL_TIMER = 1, SAL_FREQ_BASE_REALTIME_CLOCK = 2 } |
| enum | sal_systab_entry_type { SAL_DESC_ENTRY_POINT = 0, SAL_DESC_MEMORY = 1, SAL_DESC_PLATFORM_FEATURE = 2, SAL_DESC_TR = 3, SAL_DESC_PTC = 4, SAL_DESC_AP_WAKEUP = 5 } |
| enum | { SAL_INFO_TYPE_MCA = 0, SAL_INFO_TYPE_INIT = 1, SAL_INFO_TYPE_CMC = 2, SAL_INFO_TYPE_CPE = 3 } |
| enum | { SAL_MC_PARAM_RENDEZ_INT = 1, SAL_MC_PARAM_RENDEZ_WAKEUP = 2, SAL_MC_PARAM_CPE_INT = 3 } |
| enum | { SAL_MC_PARAM_MECHANISM_INT = 1, SAL_MC_PARAM_MECHANISM_MEM = 2 } |
| enum | { SAL_VECTOR_OS_MCA = 0, SAL_VECTOR_OS_INIT = 1, SAL_VECTOR_OS_BOOT_RENDEZ = 2 } |
Functions | |
| const char * | ia64_sal_strerror (long status) |
| void | ia64_sal_init (struct ia64_sal_systab *sal_systab) |
| s64 | ia64_sal_cache_flush (u64 cache_type) |
| void __init | check_sal_cache_flush (void) |
| int | ia64_sal_oemcall (struct ia64_sal_retval *, u64, u64, u64, u64, u64, u64, u64, u64) |
| int | ia64_sal_oemcall_nolock (struct ia64_sal_retval *, u64, u64, u64, u64, u64, u64, u64, u64) |
| int | ia64_sal_oemcall_reentrant (struct ia64_sal_retval *, u64, u64, u64, u64, u64, u64, u64, u64) |
| long | ia64_sal_freq_base (unsigned long which, unsigned long *ticks_per_second, unsigned long *drift_info) |
| void | ia64_sal_handler_init (void *entry_point, void *gpval) |
Variables | |
| spinlock_t | sal_lock |
| struct ia64_sal_retval | __attribute__ |
| ia64_sal_handler | ia64_sal |
| struct ia64_sal_desc_ptc * | ia64_ptc_domain_info |
| unsigned short | sal_revision |
| unsigned short | sal_version |
| unsigned long | sal_platform_features |
| int(* | salinfo_platform_oemdata )(const u8 *, u8 **, u64 *) |
| #define ERI_COMPONENT_RESET 0x24 /* Component must be reset */ |
| #define ERI_CONTAINMENT_WARN 0x22 /* Corrupt data propagated */ |
| #define ERI_CORR_ERROR_LOG 0x21 /* Corrected error, needs logging */ |
| #define ERI_CORR_ERROR_THRESH 0x29 /* Corrected error threshold exceeded */ |
| #define ERI_NOT_VALID 0x0 /* Error Recovery Field is not valid */ |
| #define IA64_SAL_PLATFORM_FEATURE_BUS_LOCK (1<<IA64_SAL_PLATFORM_FEATURE_BUS_LOCK_BIT) |
| #define IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT (1<<IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT_BIT) |
| #define IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT (1<<IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT_BIT) |
| #define IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT (1<<IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT_BIT) |
| #define PROCESSOR_ABSTRACTION_LAYER_OVERWRITE_GUID |
| #define SAL_CALL | ( | result, | |
| args... | |||
| ) | IA64_FW_CALL(ia64_sal, result, args); |
| #define SAL_CALL_NOLOCK | ( | result, | |
| args... | |||
| ) |
| #define SAL_CALL_REENTRANT | ( | result, | |
| args... | |||
| ) |
| #define SAL_LPI_PSI_INFO | ( | l | ) |
| #define SAL_PLAT_BUS_ERR_SECT_GUID EFI_GUID(0xe429faf9, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define SAL_PLAT_HOST_CTLR_ERR_SECT_GUID EFI_GUID(0xe429faf8, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define SAL_PLAT_MEM_DEV_ERR_SECT_GUID EFI_GUID(0xe429faf2, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define SAL_PLAT_PCI_BUS_ERR_SECT_GUID EFI_GUID(0xe429faf4, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define SAL_PLAT_PCI_COMP_ERR_SECT_GUID EFI_GUID(0xe429faf6, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define SAL_PLAT_SEL_DEV_ERR_SECT_GUID EFI_GUID(0xe429faf3, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define SAL_PLAT_SMBIOS_DEV_ERR_SECT_GUID EFI_GUID(0xe429faf5, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define SAL_PLAT_SPECIFIC_ERR_SECT_GUID EFI_GUID(0xe429faf7, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| #define SAL_PROC_DEV_ERR_SECT_GUID EFI_GUID(0xe429faf1, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81) |
| typedef struct err_rec ia64_err_rec_t |
| typedef struct ia64_sal_desc_tr ia64_sal_desc_tr_t |
|
read |
| typedef union sal_log_platform_err_info sal_log_platform_err_info_t |
| typedef struct sal_log_revision sal_log_revision_t |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| void ia64_sal_init | ( | struct ia64_sal_systab * | sal_systab | ) |
| struct ia64_sal_desc_ptc* ia64_ptc_domain_info |
| ia64_sal_handler ia64_sal |
| spinlock_t sal_lock |
salinfo_platform_oemdata - optional callback to decode oemdata from an error record. : pointer to the start of the section to decode. : returns vmalloc area containing the decoded output. : returns length of decoded output (strlen).
Description: If user space asks for oem data to be decoded by the kernel and/or prom and the platform has set salinfo_platform_oemdata to the address of a platform specific routine then call that routine. salinfo_platform_oemdata vmalloc's and formats its output area, returning the address of the text and its strlen. Returns 0 for success, -ve for error. The callback is invoked on the cpu that generated the error record.
1.8.2