/* Generated by ./xlat/gen.sh from ./xlat/kexec_load_flags.in; do not edit. */

static const struct xlat kexec_load_flags[] = {
#if !(defined(KEXEC_ON_CRASH) || (defined(HAVE_DECL_KEXEC_ON_CRASH) && HAVE_DECL_KEXEC_ON_CRASH))
# define KEXEC_ON_CRASH 0x00000001
#endif
 XLAT(KEXEC_ON_CRASH),
#if !(defined(KEXEC_PRESERVE_CONTEXT) || (defined(HAVE_DECL_KEXEC_PRESERVE_CONTEXT) && HAVE_DECL_KEXEC_PRESERVE_CONTEXT))
# define KEXEC_PRESERVE_CONTEXT 0x00000002
#endif
 XLAT(KEXEC_PRESERVE_CONTEXT),
 XLAT_END
};
