aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/sal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ia64/sal.h')
-rw-r--r--include/asm-ia64/sal.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/asm-ia64/sal.h b/include/asm-ia64/sal.h
index ea1ed377de4c..240676f75390 100644
--- a/include/asm-ia64/sal.h
+++ b/include/asm-ia64/sal.h
@@ -832,6 +832,44 @@ extern int ia64_sal_oemcall_nolock(struct ia64_sal_retval *, u64, u64, u64,
832 u64, u64, u64, u64, u64); 832 u64, u64, u64, u64, u64);
833extern int ia64_sal_oemcall_reentrant(struct ia64_sal_retval *, u64, u64, u64, 833extern int ia64_sal_oemcall_reentrant(struct ia64_sal_retval *, u64, u64, u64,
834 u64, u64, u64, u64, u64); 834 u64, u64, u64, u64, u64);
835#ifdef CONFIG_HOTPLUG_CPU
836/*
837 * System Abstraction Layer Specification
838 * Section 3.2.5.1: OS_BOOT_RENDEZ to SAL return State.
839 * Note: region regs are stored first in head.S _start. Hence they must
840 * stay up front.
841 */
842struct sal_to_os_boot {
843 u64 rr[8]; /* Region Registers */
844 u64 br[6]; /* br0: return addr into SAL boot rendez routine */
845 u64 gr1; /* SAL:GP */
846 u64 gr12; /* SAL:SP */
847 u64 gr13; /* SAL: Task Pointer */
848 u64 fpsr;
849 u64 pfs;
850 u64 rnat;
851 u64 unat;
852 u64 bspstore;
853 u64 dcr; /* Default Control Register */
854 u64 iva;
855 u64 pta;
856 u64 itv;
857 u64 pmv;
858 u64 cmcv;
859 u64 lrr[2];
860 u64 gr[4];
861 u64 pr; /* Predicate registers */
862 u64 lc; /* Loop Count */
863 struct ia64_fpreg fp[20];
864};
865
866/*
867 * Global array allocated for NR_CPUS at boot time
868 */
869extern struct sal_to_os_boot sal_boot_rendez_state[NR_CPUS];
870
871extern void ia64_jump_to_sal(struct sal_to_os_boot *);
872#endif
835 873
836extern void ia64_sal_handler_init(void *entry_point, void *gpval); 874extern void ia64_sal_handler_init(void *entry_point, void *gpval);
837 875