You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[IA64] Sanitize assembler code for ia64_sal_os_state
struct ia64_sal_os_state has three semi-independent sections. The code in mca_asm.S assumes that these three sections are contiguous, which makes it very awkward to add new data to this structure. Remove the assumption that the sections are contiguous. Define a macro to shorten references to offsets in ia64_sal_os_state. This patch does not change the way that the code behaves. It just makes it easier to update the code in future and to add fields to ia64_sal_os_state when debugging the MCA/INIT handlers. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
@@ -69,14 +69,16 @@ typedef struct ia64_mc_info_s {
|
||||
*/
|
||||
|
||||
struct ia64_sal_os_state {
|
||||
/* SAL to OS, must be at offset 0 */
|
||||
|
||||
/* SAL to OS */
|
||||
u64 os_gp; /* GP of the os registered with the SAL, physical */
|
||||
u64 pal_proc; /* PAL_PROC entry point, physical */
|
||||
u64 sal_proc; /* SAL_PROC entry point, physical */
|
||||
u64 rv_rc; /* MCA - Rendezvous state, INIT - reason code */
|
||||
u64 proc_state_param; /* from R18 */
|
||||
u64 monarch; /* 1 for a monarch event, 0 for a slave */
|
||||
/* common, must follow SAL to OS */
|
||||
|
||||
/* common */
|
||||
u64 sal_ra; /* Return address in SAL, physical */
|
||||
u64 sal_gp; /* GP of the SAL - physical */
|
||||
pal_min_state_area_t *pal_min_state; /* from R17. physical in asm, virtual in C */
|
||||
@@ -98,7 +100,8 @@ struct ia64_sal_os_state {
|
||||
u64 iipa;
|
||||
u64 iim;
|
||||
u64 iha;
|
||||
/* OS to SAL, must follow common */
|
||||
|
||||
/* OS to SAL */
|
||||
u64 os_status; /* OS status to SAL, enum below */
|
||||
u64 context; /* 0 if return to same context
|
||||
1 if return to new context */
|
||||
|
||||
Reference in New Issue
Block a user