Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
sal.h File Reference
#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
 

Typedefs

typedef struct ia64_sal_retval(* ia64_sal_handler )(u64,...)
 
typedef struct
ia64_sal_desc_entry_point 
ia64_sal_desc_entry_point_t
 
typedef struct ia64_sal_desc_memory ia64_sal_desc_memory_t
 
typedef struct
ia64_sal_desc_platform_feature 
ia64_sal_desc_platform_feature_t
 
typedef struct ia64_sal_desc_tr ia64_sal_desc_tr_t
 
typedef struct ia64_sal_desc_ptc ia64_sal_desc_ptc_t
 
typedef struct
ia64_sal_ptc_domain_info 
ia64_sal_ptc_domain_info_t
 
typedef struct
ia64_sal_ptc_domain_proc_entry 
ia64_sal_ptc_domain_proc_entry_t
 
typedef struct
ia64_sal_desc_ap_wakeup 
ia64_sal_desc_ap_wakeup_t
 
typedef struct sal_log_revision sal_log_revision_t
 
typedef struct sal_log_timestamp sal_log_timestamp_t
 
typedef struct
sal_log_record_header 
sal_log_record_header_t
 
typedef struct sal_log_sec_header sal_log_section_hdr_t
 
typedef struct
sal_log_mod_error_info 
sal_log_mod_error_info_t
 
typedef struct
sal_processor_static_info 
sal_processor_static_info_t
 
typedef struct
sal_log_processor_info 
sal_log_processor_info_t
 
typedef struct
sal_log_mem_dev_err_info 
sal_log_mem_dev_err_info_t
 
typedef struct
sal_log_sel_dev_err_info 
sal_log_sel_dev_err_info_t
 
typedef struct
sal_log_pci_bus_err_info 
sal_log_pci_bus_err_info_t
 
typedef struct
sal_log_smbios_dev_err_info 
sal_log_smbios_dev_err_info_t
 
typedef struct
sal_log_pci_comp_err_info 
sal_log_pci_comp_err_info_t
 
typedef struct
sal_log_plat_specific_err_info 
sal_log_plat_specific_err_info_t
 
typedef struct
sal_log_host_ctlr_err_info 
sal_log_host_ctlr_err_info_t
 
typedef struct
sal_log_plat_bus_err_info 
sal_log_plat_bus_err_info_t
 
typedef union
sal_log_platform_err_info 
sal_log_platform_err_info_t
 
typedef struct err_rec ia64_err_rec_t
 

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 charia64_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_ptcia64_ptc_domain_info
 
unsigned short sal_revision
 
unsigned short sal_version
 
unsigned long sal_platform_features
 
int(* salinfo_platform_oemdata )(const u8 *, u8 **, u64 *)
 

Macro Definition Documentation

#define __IA64_FW_CALL (   entry,
  result,
  a0,
  a1,
  a2,
  a3,
  a4,
  a5,
  a6,
  a7 
)    result = (*entry)(a0,a1,a2,a3,a4,a5,a6,a7)

Definition at line 48 of file sal.h.

#define ERI_COMPONENT_RESET   0x24 /* Component must be reset */

Definition at line 347 of file sal.h.

#define ERI_CONTAINMENT_WARN   0x22 /* Corrupt data propagated */

Definition at line 345 of file sal.h.

#define ERI_CORR_ERROR_LOG   0x21 /* Corrected error, needs logging */

Definition at line 348 of file sal.h.

#define ERI_CORR_ERROR_THRESH   0x29 /* Corrected error threshold exceeded */

Definition at line 349 of file sal.h.

#define ERI_NOT_ACCESSIBLE   0x30 /* Resource not accessible */

Definition at line 344 of file sal.h.

#define ERI_NOT_VALID   0x0 /* Error Recovery Field is not valid */

Definition at line 343 of file sal.h.

#define ERI_UNCORRECTED_ERROR   0x20 /* Uncorrected error */

Definition at line 346 of file sal.h.

#define IA64_FW_CALL (   entry,
  result,
  args... 
)
Value:
do { \
unsigned long __ia64_sc_flags; \
struct ia64_fpreg __ia64_sc_fr[6]; \
ia64_save_scratch_fpregs(__ia64_sc_fr); \
spin_lock_irqsave(&sal_lock, __ia64_sc_flags); \
__IA64_FW_CALL(entry, result, args); \
spin_unlock_irqrestore(&sal_lock, __ia64_sc_flags); \
ia64_load_scratch_fpregs(__ia64_sc_fr); \
} while (0)

Definition at line 51 of file sal.h.

#define IA64_SAL_AP_EXTERNAL_INT   0

Definition at line 224 of file sal.h.

#define IA64_SAL_OEMFUNC_MAX   0x03ffffff

Definition at line 844 of file sal.h.

#define IA64_SAL_OEMFUNC_MIN   0x02000000

Definition at line 843 of file sal.h.

#define IA64_SAL_PLATFORM_FEATURE_BUS_LOCK   (1<<IA64_SAL_PLATFORM_FEATURE_BUS_LOCK_BIT)

Definition at line 31 of file sal.h.

#define IA64_SAL_PLATFORM_FEATURE_BUS_LOCK_BIT   0

Definition at line 26 of file sal.h.

#define IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT   (1<<IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT_BIT)

Definition at line 33 of file sal.h.

#define IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT_BIT   2

Definition at line 28 of file sal.h.

#define IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT   (1<<IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT_BIT)

Definition at line 32 of file sal.h.

#define IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT_BIT   1

Definition at line 27 of file sal.h.

#define IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT   (1<<IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT_BIT)

Definition at line 34 of file sal.h.

#define IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT_BIT   3

Definition at line 29 of file sal.h.

#define MAX_BUS_ERRORS   1

Definition at line 304 of file sal.h.

#define MAX_CACHE_ERRORS   6

Definition at line 302 of file sal.h.

#define MAX_TLB_ERRORS   6

Definition at line 303 of file sal.h.

#define NPTCG_FROM_KERNEL_PARAMETER   2

Definition at line 913 of file sal.h.

#define NPTCG_FROM_PAL   0

Definition at line 911 of file sal.h.

#define NPTCG_FROM_PALO   1

Definition at line 912 of file sal.h.

#define PALO_MAX_TLB_PURGES   0xFFFF

Definition at line 897 of file sal.h.

#define PALO_SIG   "PALO"

Definition at line 898 of file sal.h.

#define PROCESSOR_ABSTRACTION_LAYER_OVERWRITE_GUID
Value:
EFI_GUID(0x6cb0a200, 0x893a, 0x11da, 0x96, 0xd2, 0x0, 0x10, 0x83, 0xff, \
0xca, 0x4d)

Definition at line 298 of file sal.h.

#define SAL_CACHE_FLUSH   0x01000008

Definition at line 91 of file sal.h.

#define SAL_CACHE_INIT   0x01000009

Definition at line 92 of file sal.h.

#define SAL_CALL (   result,
  args... 
)    IA64_FW_CALL(ia64_sal, result, args);

Definition at line 61 of file sal.h.

#define SAL_CALL_NOLOCK (   result,
  args... 
)
Value:
do { \
unsigned long __ia64_scn_flags; \
struct ia64_fpreg __ia64_scn_fr[6]; \
ia64_save_scratch_fpregs(__ia64_scn_fr); \
local_irq_save(__ia64_scn_flags); \
__IA64_FW_CALL(ia64_sal, result, args); \
local_irq_restore(__ia64_scn_flags); \
ia64_load_scratch_fpregs(__ia64_scn_fr); \
} while (0)

Definition at line 64 of file sal.h.

#define SAL_CALL_REENTRANT (   result,
  args... 
)
Value:
do { \
struct ia64_fpreg __ia64_scs_fr[6]; \
ia64_save_scratch_fpregs(__ia64_scs_fr); \
preempt_disable(); \
__IA64_FW_CALL(ia64_sal, result, args); \
preempt_enable(); \
ia64_load_scratch_fpregs(__ia64_scs_fr); \
} while (0)

Definition at line 74 of file sal.h.

#define SAL_CLEAR_STATE_INFO   0x01000003

Definition at line 86 of file sal.h.

#define SAL_DESC_SIZE (   type)    "\060\040\020\040\020\020"[(unsigned) type]

Definition at line 164 of file sal.h.

#define SAL_FREQ_BASE   0x01000012

Definition at line 95 of file sal.h.

#define SAL_GET_STATE_INFO   0x01000001

Definition at line 84 of file sal.h.

#define SAL_GET_STATE_INFO_SIZE   0x01000002

Definition at line 85 of file sal.h.

#define sal_log_severity_corrected   2

Definition at line 337 of file sal.h.

#define sal_log_severity_fatal   1

Definition at line 336 of file sal.h.

#define sal_log_severity_recoverable   0

Definition at line 335 of file sal.h.

#define SAL_LPI_PSI_INFO (   l)
Value:
((char *) _l->info + ((_l->valid.num_cache_check + _l->valid.num_tlb_check \
+ _l->valid.num_bus_check + _l->valid.num_reg_file_check \
+ _l->valid.num_ms_check) * sizeof(sal_log_mod_error_info_t) \
+ sizeof(struct sal_cpuid_info)))); \
})

Definition at line 436 of file sal.h.

#define SAL_MC_PARAM_BINIT_ESCALATE   0x10

Definition at line 273 of file sal.h.

#define SAL_MC_PARAM_RZ_ALWAYS   0x1

Definition at line 272 of file sal.h.

#define SAL_MC_RENDEZ   0x01000004

Definition at line 87 of file sal.h.

#define SAL_MC_SET_PARAMS   0x01000005

Definition at line 88 of file sal.h.

#define SAL_PCI_CONFIG_READ   0x01000010

Definition at line 93 of file sal.h.

#define SAL_PCI_CONFIG_WRITE   0x01000011

Definition at line 94 of file sal.h.

#define SAL_PHYSICAL_ID_INFO   0x01000013

Definition at line 96 of file sal.h.

#define SAL_PLAT_BUS_ERR_SECT_GUID   EFI_GUID(0xe429faf9, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 296 of file sal.h.

#define SAL_PLAT_HOST_CTLR_ERR_SECT_GUID   EFI_GUID(0xe429faf8, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 294 of file sal.h.

#define SAL_PLAT_MEM_DEV_ERR_SECT_GUID   EFI_GUID(0xe429faf2, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 282 of file sal.h.

#define SAL_PLAT_PCI_BUS_ERR_SECT_GUID   EFI_GUID(0xe429faf4, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 286 of file sal.h.

#define SAL_PLAT_PCI_COMP_ERR_SECT_GUID   EFI_GUID(0xe429faf6, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 290 of file sal.h.

#define SAL_PLAT_SEL_DEV_ERR_SECT_GUID   EFI_GUID(0xe429faf3, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 284 of file sal.h.

#define SAL_PLAT_SMBIOS_DEV_ERR_SECT_GUID   EFI_GUID(0xe429faf5, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 288 of file sal.h.

#define SAL_PLAT_SPECIFIC_ERR_SECT_GUID   EFI_GUID(0xe429faf7, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 292 of file sal.h.

#define SAL_PROC_DEV_ERR_SECT_GUID   EFI_GUID(0xe429faf1, 0x3cb7, 0x11d4, 0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81)

Definition at line 280 of file sal.h.

#define SAL_REGISTER_PHYSICAL_ADDR   0x01000006

Definition at line 89 of file sal.h.

#define SAL_SET_VECTORS   0x01000000

Definition at line 83 of file sal.h.

#define SAL_UPDATE_PAL   0x01000020

Definition at line 98 of file sal.h.

#define SAL_VERSION_CODE (   major,
  minor 
)    ((bin2bcd(major) << 8) | bin2bcd(minor))

Definition at line 238 of file sal.h.

Typedef Documentation

typedef struct ia64_sal_retval(* ia64_sal_handler)(u64,...)
read

Definition at line 114 of file sal.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
SAL_FREQ_BASE_PLATFORM 
SAL_FREQ_BASE_INTERVAL_TIMER 
SAL_FREQ_BASE_REALTIME_CLOCK 

Definition at line 116 of file sal.h.

anonymous enum
Enumerator:
SAL_INFO_TYPE_MCA 
SAL_INFO_TYPE_INIT 
SAL_INFO_TYPE_CMC 
SAL_INFO_TYPE_CPE 

Definition at line 244 of file sal.h.

anonymous enum
Enumerator:
SAL_MC_PARAM_RENDEZ_INT 
SAL_MC_PARAM_RENDEZ_WAKEUP 
SAL_MC_PARAM_CPE_INT 

Definition at line 252 of file sal.h.

anonymous enum
Enumerator:
SAL_MC_PARAM_MECHANISM_INT 
SAL_MC_PARAM_MECHANISM_MEM 

Definition at line 259 of file sal.h.

anonymous enum
Enumerator:
SAL_VECTOR_OS_MCA 
SAL_VECTOR_OS_INIT 
SAL_VECTOR_OS_BOOT_RENDEZ 

Definition at line 265 of file sal.h.

Enumerator:
SAL_DESC_ENTRY_POINT 
SAL_DESC_MEMORY 
SAL_DESC_PLATFORM_FEATURE 
SAL_DESC_TR 
SAL_DESC_PTC 
SAL_DESC_AP_WAKEUP 

Definition at line 146 of file sal.h.

Function Documentation

void __init check_sal_cache_flush ( void  )

Definition at line 241 of file sal.c.

s64 ia64_sal_cache_flush ( u64  cache_type)

Definition at line 284 of file sal.c.

long ia64_sal_freq_base ( unsigned long  which,
unsigned long ticks_per_second,
unsigned long drift_info 
)

Definition at line 395 of file sal.c.

void ia64_sal_handler_init ( void entry_point,
void gpval 
)

Definition at line 87 of file sal.c.

void ia64_sal_init ( struct ia64_sal_systab sal_systab)

Definition at line 307 of file sal.c.

int ia64_sal_oemcall ( struct ia64_sal_retval ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64   
)

Definition at line 358 of file sal.c.

int ia64_sal_oemcall_nolock ( struct ia64_sal_retval ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64   
)

Definition at line 369 of file sal.c.

int ia64_sal_oemcall_reentrant ( struct ia64_sal_retval ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64  ,
u64   
)

Definition at line 382 of file sal.c.

const char* ia64_sal_strerror ( long  status)

Definition at line 45 of file sal.c.

Variable Documentation

struct ia64_sal_desc_ptc* ia64_ptc_domain_info

Definition at line 42 of file sal.c.

ia64_sal_handler ia64_sal

Definition at line 41 of file sal.c.

spinlock_t sal_lock
unsigned long sal_platform_features

Definition at line 22 of file sal.c.

unsigned short sal_revision

Definition at line 24 of file sal.c.

unsigned short sal_version

Definition at line 25 of file sal.c.

int(* salinfo_platform_oemdata)(const u8 *, u8 **, u64 *)

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.

Definition at line 175 of file salinfo.c.