28 lines
		
	
	
		
			588 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			588 B
		
	
	
	
		
			C
		
	
	
	
/* SPDX-License-Identifier: GPL-2.0+ */
 | 
						|
/*
 | 
						|
 * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
 | 
						|
 * (C) Copyright 2016 Alexander Graf <agraf@suse.de>
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _SETJMP_H_
 | 
						|
#define _SETJMP_H_	1
 | 
						|
 | 
						|
/*
 | 
						|
 * This really should be opaque, but the EFI implementation wrongly
 | 
						|
 * assumes that a 'struct jmp_buf_data' is defined.
 | 
						|
 */
 | 
						|
struct jmp_buf_data {
 | 
						|
#if defined(__aarch64__)
 | 
						|
	u64  regs[13];
 | 
						|
#else
 | 
						|
	u32  regs[10];  /* r4-r9, sl, fp, sp, lr */
 | 
						|
#endif
 | 
						|
};
 | 
						|
 | 
						|
typedef struct jmp_buf_data jmp_buf[1];
 | 
						|
 | 
						|
int setjmp(jmp_buf jmp);
 | 
						|
void longjmp(jmp_buf jmp, int ret);
 | 
						|
 | 
						|
#endif /* _SETJMP_H_ */
 |