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

#include "gcc_compat.h"
#include "static_assert.h"

#if defined(LINUX_REBOOT_MAGIC1) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC1) && HAVE_DECL_LINUX_REBOOT_MAGIC1)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((LINUX_REBOOT_MAGIC1) == (0xfee1dead), "LINUX_REBOOT_MAGIC1 != 0xfee1dead");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define LINUX_REBOOT_MAGIC1 0xfee1dead
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat bootflags1 in mpers mode

# else

static
const struct xlat bootflags1[] = {
 XLAT(LINUX_REBOOT_MAGIC1),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
