Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2108
-gerrit
commit 4cfb3d80c413adbc7cfffceba4ab5a44907d45ca Author: Stefan Reinauer stefan.reinauer@coreboot.org Date: Fri Jan 4 15:02:25 2013 -0800
ARMv7: drop __KERNEL__
It's a bad Linux heritage.. We have no userland in firmware.
Change-Id: Ib19e5ba713078ca37514571213d19f418417b964 Signed-off-by: Stefan Reinauer reinauer@google.com --- src/arch/armv7/Makefile.inc | 1 - src/arch/armv7/include/arch/atomic.h | 111 ----------------------------------- src/arch/armv7/include/arch/io.h | 6 -- src/arch/armv7/include/arch/types.h | 7 --- 4 files changed, 125 deletions(-)
diff --git a/src/arch/armv7/Makefile.inc b/src/arch/armv7/Makefile.inc index fcb6a17..d7fbbdf 100644 --- a/src/arch/armv7/Makefile.inc +++ b/src/arch/armv7/Makefile.inc @@ -147,7 +147,6 @@ CFLAGS += \ -mthumb-interwork
# For various headers imported from Linux -CFLAGS += -D__KERNEL__ CFLAGS += -D__LINUX_ARM_ARCH__=7
crt0s = $(src)/arch/armv7/init.S diff --git a/src/arch/armv7/include/arch/atomic.h b/src/arch/armv7/include/arch/atomic.h deleted file mode 100644 index 5a8954f..0000000 --- a/src/arch/armv7/include/arch/atomic.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * linux/include/asm-arm/atomic.h - * - * Copyright (c) 1996 Russell King. - * - * 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. - * - * Changelog: - * 27-06-1996 RMK Created - * 13-04-1997 RMK Made functions atomic! - * 07-12-1997 RMK Upgraded for v2.1. - * 26-08-1998 PJB Added #ifdef __KERNEL__ - */ -#ifndef __ASM_ARM_ATOMIC_H -#define __ASM_ARM_ATOMIC_H - -#include <linux/config.h> - -#ifdef CONFIG_SMP -#error SMP not supported -#endif - -typedef struct { volatile int counter; } atomic_t; - -#define ATOMIC_INIT(i) { (i) } - -#include <asm/proc/system.h> - -#define atomic_read(v) ((v)->counter) -#define atomic_set(v,i) (((v)->counter) = (i)) - -static inline void atomic_add(int i, volatile atomic_t *v) -{ - unsigned long flags; - - local_irq_save(flags); - v->counter += i; - local_irq_restore(flags); -} - -static inline void atomic_sub(int i, volatile atomic_t *v) -{ - unsigned long flags; - - local_irq_save(flags); - v->counter -= i; - local_irq_restore(flags); -} - -static inline void atomic_inc(volatile atomic_t *v) -{ - unsigned long flags; - - local_irq_save(flags); - v->counter += 1; - local_irq_restore(flags); -} - -static inline void atomic_dec(volatile atomic_t *v) -{ - unsigned long flags; - - local_irq_save(flags); - v->counter -= 1; - local_irq_restore(flags); -} - -static inline int atomic_dec_and_test(volatile atomic_t *v) -{ - unsigned long flags; - int val; - - local_irq_save(flags); - val = v->counter; - v->counter = val -= 1; - local_irq_restore(flags); - - return val == 0; -} - -static inline int atomic_add_negative(int i, volatile atomic_t *v) -{ - unsigned long flags; - int val; - - local_irq_save(flags); - val = v->counter; - v->counter = val += i; - local_irq_restore(flags); - - return val < 0; -} - -static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) -{ - unsigned long flags; - - local_irq_save(flags); - *addr &= ~mask; - local_irq_restore(flags); -} - -/* Atomic operations are already serializing on ARM */ -#define smp_mb__before_atomic_dec() barrier() -#define smp_mb__after_atomic_dec() barrier() -#define smp_mb__before_atomic_inc() barrier() -#define smp_mb__after_atomic_inc() barrier() - -#endif diff --git a/src/arch/armv7/include/arch/io.h b/src/arch/armv7/include/arch/io.h index 7675a88..3bbd529 100644 --- a/src/arch/armv7/include/arch/io.h +++ b/src/arch/armv7/include/arch/io.h @@ -20,13 +20,8 @@ #ifndef __ASM_ARM_IO_H #define __ASM_ARM_IO_H
-#ifdef __KERNEL__ - #include <types.h> #include <arch/byteorder.h> -#if 0 /* XXX###XXX */ -#include <asm/arch/hardware.h> -#endif /* XXX###XXX */
static inline void sync(void) { @@ -423,5 +418,4 @@ out: #define isa_check_signature(io,sig,len) (0)
#endif /* __mem_isa */ -#endif /* __KERNEL__ */ #endif /* __ASM_ARM_IO_H */ diff --git a/src/arch/armv7/include/arch/types.h b/src/arch/armv7/include/arch/types.h index 71dc049..be7e76c 100644 --- a/src/arch/armv7/include/arch/types.h +++ b/src/arch/armv7/include/arch/types.h @@ -22,11 +22,6 @@ __extension__ typedef __signed__ long long __s64; __extension__ typedef unsigned long long __u64; #endif
-/* - * These aren't exported outside the kernel to avoid name space clashes - */ -#ifdef __KERNEL__ - typedef signed char s8; typedef unsigned char u8;
@@ -48,6 +43,4 @@ typedef u32 dma_addr_t; typedef unsigned long phys_addr_t; typedef unsigned long phys_size_t;
-#endif /* __KERNEL__ */ - #endif