diff options
Diffstat (limited to 'include/asm-ia64/sal.h')
-rw-r--r-- | include/asm-ia64/sal.h | 38 |
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); |
833 | extern int ia64_sal_oemcall_reentrant(struct ia64_sal_retval *, u64, u64, u64, | 833 | extern 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 | */ | ||
842 | struct 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 | */ | ||
869 | extern struct sal_to_os_boot sal_boot_rendez_state[NR_CPUS]; | ||
870 | |||
871 | extern void ia64_jump_to_sal(struct sal_to_os_boot *); | ||
872 | #endif | ||
835 | 873 | ||
836 | extern void ia64_sal_handler_init(void *entry_point, void *gpval); | 874 | extern void ia64_sal_handler_init(void *entry_point, void *gpval); |
837 | 875 | ||