cregit-Linux how code gets into the kernel

Release 4.11 arch/avr32/include/asm/bug.h

/*
 * Copyright (C) 2006 Atmel Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
#ifndef __ASM_AVR32_BUG_H

#define __ASM_AVR32_BUG_H

#ifdef CONFIG_BUG

/*
 * According to our Chief Architect, this compact opcode is very
 * unlikely to ever be implemented.
 */

#define AVR32_BUG_OPCODE	0x5df0

#ifdef CONFIG_DEBUG_BUGVERBOSE


#define _BUG_OR_WARN(flags)						\
	asm volatile(                                                   \
                "1:     .hword  %0\n"                                   \
                "       .section __bug_table,\"a\",@progbits\n"         \
                "2:     .long   1b\n"                                   \
                "       .long   %1\n"                                   \
                "       .short  %2\n"                                   \
                "       .short  %3\n"                                   \
                "       .org    2b + %4\n"                              \
                "       .previous"                                      \
                :                                                       \
                : "i"(AVR32_BUG_OPCODE), "i"(__FILE__),                 \
                  "i"(__LINE__), "i"(flags),                            \
                  "i"(sizeof(struct bug_entry)))

#else


#define _BUG_OR_WARN(flags)						\
	asm volatile(                                                   \
                "1:     .hword  %0\n"                                   \
                "       .section __bug_table,\"a\",@progbits\n"         \
                "2:     .long   1b\n"                                   \
                "       .short  %1\n"                                   \
                "       .org    2b + %2\n"                              \
                "       .previous"                                      \
                :                                                       \
                : "i"(AVR32_BUG_OPCODE), "i"(flags),                    \
                  "i"(sizeof(struct bug_entry)))

#endif /* CONFIG_DEBUG_BUGVERBOSE */


#define BUG()								\
	do {                                                            \
                _BUG_OR_WARN(0);                                        \
                unreachable();                                          \
        } while (0)


#define WARN_ON(condition)							\
	({                                                              \
                int __ret_warn_on = !!(condition);                      \
                if (unlikely(__ret_warn_on))                            \
                        _BUG_OR_WARN(BUGFLAG_WARNING);                  \
                unlikely(__ret_warn_on);                                \
        })


#define HAVE_ARCH_BUG

#define HAVE_ARCH_WARN_ON

#endif /* CONFIG_BUG */

#include <asm-generic/bug.h>

struct pt_regs;
void die(const char *str, struct pt_regs *regs, long err);
void _exception(long signr, struct pt_regs *regs, int code,
		unsigned long addr);

#endif /* __ASM_AVR32_BUG_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Håvard Skinnemoen6661.68%240.00%
David Howells3936.45%120.00%
Heiko Carstens10.93%120.00%
David Daney10.93%120.00%
Total107100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.