blob: 00c392b0cabdb8288c46b4b27008e4c364ed2ac4 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Greg Ungerer120c4d92016-07-21 17:05:41 +10002 * flat.h -- uClinux flat-format executables
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 */
4
5#ifndef __M68KNOMMU_FLAT_H__
6#define __M68KNOMMU_FLAT_H__
7
Linus Torvalds1da177e2005-04-16 15:20:36 -07008#define flat_argvp_envp_on_stack() 1
9#define flat_old_ram_flag(flags) (flags)
10#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
Nicolas Pitre002d2f02016-07-24 11:30:28 -040011#define flat_get_addr_from_rp(rp, relval, flags, p) \
12 ({ unsigned long __val; __get_user_unaligned(__val, rp); __val; })
13#define flat_put_addr_at_rp(rp, val, relval) __put_user_unaligned(val, rp)
Linus Torvalds1da177e2005-04-16 15:20:36 -070014#define flat_get_relocate_addr(rel) (rel)
Ezequiel Garciaf106eac2012-04-28 11:13:04 -030015
16static inline int flat_set_persistent(unsigned long relval,
17 unsigned long *persistent)
18{
19 return 0;
20}
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
Greg Ungerer89e6ffd2016-07-21 16:28:48 +100022#define FLAT_PLAT_INIT(regs) \
23 do { \
24 if (current->mm) \
25 (regs)->d5 = current->mm->start_data; \
26 } while (0)
27
Linus Torvalds1da177e2005-04-16 15:20:36 -070028#endif /* __M68KNOMMU_FLAT_H__ */