xref: /openbsd-src/sys/arch/sh/include/exec.h (revision a28daedfc357b214be5c701aa8ba8adb29a7f1c2)
1 /*	$OpenBSD: exec.h,v 1.2 2006/11/10 20:34:06 drahn Exp $	*/
2 /*	$NetBSD: elf_machdep.h,v 1.8 2002/04/28 17:10:34 uch Exp $	*/
3 
4 #define __LDPGSZ	4096
5 
6 #define	NATIVE_EXEC_ELF
7 
8 #define	ARCH_ELFSIZE		32	/* MD native binary size */
9 #define	ELF_TARG_CLASS		ELFCLASS32
10 #ifdef __LITTLE_ENDIAN__
11 #define	ELF_TARG_DATA		ELFDATA2LSB
12 #else
13 #define	ELF_TARG_DATA		ELFDATA2MSB
14 #endif
15 #define	ELF_TARG_MACH		EM_SH
16 
17 #define	_KERN_DO_ELF
18 #define	_NLIST_DO_ELF
19 
20 /*
21  * SuperH ELF header flags.
22  */
23 #define	EF_SH_MACH_MASK		0x1f
24 
25 #define	EF_SH_UNKNOWN		0x00
26 #define	EF_SH_SH1		0x01
27 #define	EF_SH_SH2		0x02
28 #define	EF_SH_SH3		0x03
29 #define	EF_SH_DSP		0x04
30 #define	EF_SH_SH3_DSP		0x05
31 #define	EF_SH_SH3E		0x08
32 #define	EF_SH_SH4		0x09
33 
34 #define	EF_SH_HAS_DSP(x)	((x) & EF_SH_DSP)
35 #define	EF_SH_HAS_FP(x)		((x) & EF_SH_SH3E)
36