diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/include/arch/byteorder.h | 21 | ||||
-rw-r--r-- | src/arch/arm/include/arch/io.h | 96 | ||||
-rw-r--r-- | src/arch/arm/include/armv4/arch/io.h (renamed from src/arch/arm/include/armv4/arch/arch_io.h) | 7 | ||||
-rw-r--r-- | src/arch/arm/include/armv7/arch/io.h (renamed from src/arch/arm/include/armv7/arch/arch_io.h) | 7 | ||||
-rw-r--r-- | src/arch/arm64/include/arch/byteorder.h | 21 | ||||
-rw-r--r-- | src/arch/arm64/include/arch/io.h | 94 | ||||
-rw-r--r-- | src/arch/arm64/include/armv8/arch/io.h (renamed from src/arch/arm64/include/armv8/arch/arch_io.h) | 7 | ||||
-rw-r--r-- | src/arch/mips/include/arch/byteorder.h | 21 | ||||
-rw-r--r-- | src/arch/mips/include/arch/io.h | 57 | ||||
-rw-r--r-- | src/arch/riscv/include/arch/byteorder.h | 21 | ||||
-rw-r--r-- | src/arch/x86/boot/smbios.c | 2 | ||||
-rw-r--r-- | src/arch/x86/include/arch/byteorder.h | 21 | ||||
-rw-r--r-- | src/arch/x86/include/arch/cbfs.h | 2 | ||||
-rw-r--r-- | src/arch/x86/include/arch/io.h | 1 |
14 files changed, 17 insertions, 361 deletions
diff --git a/src/arch/arm/include/arch/byteorder.h b/src/arch/arm/include/arch/byteorder.h index 8dc069f486..3478bdb3c2 100644 --- a/src/arch/arm/include/arch/byteorder.h +++ b/src/arch/arm/include/arch/byteorder.h @@ -3,25 +3,4 @@ #define __LITTLE_ENDIAN 1234 -#include <stdint.h> -#include <swab.h> - -#define cpu_to_le64(x) ((uint64_t)(x)) -#define le64_to_cpu(x) ((uint64_t)(x)) -#define cpu_to_le32(x) ((uint32_t)(x)) -#define le32_to_cpu(x) ((uint32_t)(x)) -#define cpu_to_le16(x) ((uint16_t)(x)) -#define le16_to_cpu(x) ((uint16_t)(x)) -#define cpu_to_be64(x) swab64(x) -#define be64_to_cpu(x) swab64(x) -#define cpu_to_be32(x) swab32((x)) -#define be32_to_cpu(x) swab32((x)) -#define cpu_to_be16(x) swab16((x)) -#define be16_to_cpu(x) swab16((x)) - -#define ntohll(x) be64_to_cpu(x) -#define htonll(x) cpu_to_be64(x) -#define ntohl(x) be32_to_cpu(x) -#define htonl(x) cpu_to_be32(x) - #endif /* _BYTEORDER_H */ diff --git a/src/arch/arm/include/arch/io.h b/src/arch/arm/include/arch/io.h deleted file mode 100644 index 51d96b9255..0000000000 --- a/src/arch/arm/include/arch/io.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Originally imported from linux/include/asm-arm/io.h. This file has changed - * substantially since then. - * - * Copyright 2013 Google Inc. - * Copyright (C) 1996-2000 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. - * - * Modifications: - * 08-Apr-2013 G Replaced several macros with inlines for type safety. - * 16-Sep-1996 RMK Inlined the inx/outx functions & optimised for both - * constant addresses and variable addresses. - * 04-Dec-1997 RMK Moved a lot of this stuff to the new architecture - * specific IO header files. - * 27-Mar-1999 PJB Second parameter of memcpy_toio is const.. - * 04-Apr-1999 PJB Added check_signature. - * 12-Dec-1999 RMK More cleanups - * 18-Jun-2000 RMK Removed virt_to_* and friends definitions - */ -#ifndef __ASM_ARM_IO_H -#define __ASM_ARM_IO_H - -#include <arch/byteorder.h> -#include <arch/arch_io.h> -#include <stdint.h> - -/* - * FIXME: These are to avoid breaking existing ARM code. We should eventually - * re-factor all code to specify the data length intended. - */ -#define readb(a) read8(a) -#define writeb(v,a) write8(a,v) -#define readw(a) read16(a) -#define writew(v,a) write16(a,v) -#define readl(a) read32(a) -#define writel(v,a) write32(a,v) - -/* - * Clear and set bits in one shot. These macros can be used to clear and - * set multiple bits in a register using a single call. These macros can - * also be used to set a multiple-bit bit pattern using a mask, by - * specifying the mask in the 'clear' parameter and the new bit pattern - * in the 'set' parameter. - */ - -#define out_arch(type,endian,a,v) write##type(cpu_to_##endian(v),a) -#define in_arch(type,endian,a) endian##_to_cpu(read##type(a)) - -#define out_le32(a,v) out_arch(l,le32,a,v) -#define out_le16(a,v) out_arch(w,le16,a,v) - -#define in_le32(a) in_arch(l,le32,a) -#define in_le16(a) in_arch(w,le16,a) - -#define out_be32(a,v) out_arch(l,be32,a,v) -#define out_be16(a,v) out_arch(w,be16,a,v) - -#define in_be32(a) in_arch(l,be32,a) -#define in_be16(a) in_arch(w,be16,a) - -#define out_8(a,v) writeb(v,a) -#define in_8(a) readb(a) - -#define clrbits(type, addr, clear) \ - out_##type((addr), in_##type(addr) & ~(clear)) - -#define setbits(type, addr, set) \ - out_##type((addr), in_##type(addr) | (set)) - -#define clrsetbits(type, addr, clear, set) \ - out_##type((addr), (in_##type(addr) & ~(clear)) | (set)) - -#define clrbits_be32(addr, clear) clrbits(be32, addr, clear) -#define setbits_be32(addr, set) setbits(be32, addr, set) -#define clrsetbits_be32(addr, clear, set) clrsetbits(be32, addr, clear, set) - -#define clrbits_le32(addr, clear) clrbits(le32, addr, clear) -#define setbits_le32(addr, set) setbits(le32, addr, set) -#define clrsetbits_le32(addr, clear, set) clrsetbits(le32, addr, clear, set) - -#define clrbits_be16(addr, clear) clrbits(be16, addr, clear) -#define setbits_be16(addr, set) setbits(be16, addr, set) -#define clrsetbits_be16(addr, clear, set) clrsetbits(be16, addr, clear, set) - -#define clrbits_le16(addr, clear) clrbits(le16, addr, clear) -#define setbits_le16(addr, set) setbits(le16, addr, set) -#define clrsetbits_le16(addr, clear, set) clrsetbits(le16, addr, clear, set) - -#define clrbits_8(addr, clear) clrbits(8, addr, clear) -#define setbits_8(addr, set) setbits(8, addr, set) -#define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set) - -#endif /* __ASM_ARM_IO_H */ diff --git a/src/arch/arm/include/armv4/arch/arch_io.h b/src/arch/arm/include/armv4/arch/io.h index cf5a9e115e..12af03827b 100644 --- a/src/arch/arm/include/armv4/arch/arch_io.h +++ b/src/arch/arm/include/armv4/arch/io.h @@ -20,9 +20,10 @@ * 12-Dec-1999 RMK More cleanups * 18-Jun-2000 RMK Removed virt_to_* and friends definitions */ -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H +#ifndef __ARCH_IO_H +#define __ARCH_IO_H +#include <endian.h> #include <stdint.h> static inline uint8_t read8(const void *addr) @@ -55,4 +56,4 @@ static inline void write32(void *addr, uint32_t val) *(volatile uint32_t *)addr = val; } -#endif /* __ASM_ARM_ARCH_IO_H */ +#endif /* __ARCH_IO_H */ diff --git a/src/arch/arm/include/armv7/arch/arch_io.h b/src/arch/arm/include/armv7/arch/io.h index 53eafc6967..9d060032e9 100644 --- a/src/arch/arm/include/armv7/arch/arch_io.h +++ b/src/arch/arm/include/armv7/arch/io.h @@ -20,10 +20,11 @@ * 12-Dec-1999 RMK More cleanups * 18-Jun-2000 RMK Removed virt_to_* and friends definitions */ -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H +#ifndef __ARCH_IO_H +#define __ARCH_IO_H #include <arch/cache.h> /* for dmb() */ +#include <endian.h> #include <stdint.h> static inline uint8_t read8(const void *addr) @@ -65,4 +66,4 @@ static inline void write32(void *addr, uint32_t val) dmb(); } -#endif /* __ASM_ARM_ARCH_IO_H */ +#endif /* __ARCH_IO_H */ diff --git a/src/arch/arm64/include/arch/byteorder.h b/src/arch/arm64/include/arch/byteorder.h index 8dc069f486..3478bdb3c2 100644 --- a/src/arch/arm64/include/arch/byteorder.h +++ b/src/arch/arm64/include/arch/byteorder.h @@ -3,25 +3,4 @@ #define __LITTLE_ENDIAN 1234 -#include <stdint.h> -#include <swab.h> - -#define cpu_to_le64(x) ((uint64_t)(x)) -#define le64_to_cpu(x) ((uint64_t)(x)) -#define cpu_to_le32(x) ((uint32_t)(x)) -#define le32_to_cpu(x) ((uint32_t)(x)) -#define cpu_to_le16(x) ((uint16_t)(x)) -#define le16_to_cpu(x) ((uint16_t)(x)) -#define cpu_to_be64(x) swab64(x) -#define be64_to_cpu(x) swab64(x) -#define cpu_to_be32(x) swab32((x)) -#define be32_to_cpu(x) swab32((x)) -#define cpu_to_be16(x) swab16((x)) -#define be16_to_cpu(x) swab16((x)) - -#define ntohll(x) be64_to_cpu(x) -#define htonll(x) cpu_to_be64(x) -#define ntohl(x) be32_to_cpu(x) -#define htonl(x) cpu_to_be32(x) - #endif /* _BYTEORDER_H */ diff --git a/src/arch/arm64/include/arch/io.h b/src/arch/arm64/include/arch/io.h deleted file mode 100644 index 9ec13dcf8b..0000000000 --- a/src/arch/arm64/include/arch/io.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Originally imported from linux/include/asm-arm/io.h. This file has changed - * substantially since then. - * - * Copyright 2013 Google Inc. - * Copyright (C) 1996-2000 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. - * - * Modifications: - * 08-Apr-2013 G Replaced several macros with inlines for type safety. - * 16-Sep-1996 RMK Inlined the inx/outx functions & optimised for both - * constant addresses and variable addresses. - * 04-Dec-1997 RMK Moved a lot of this stuff to the new architecture - * specific IO header files. - * 27-Mar-1999 PJB Second parameter of memcpy_toio is const.. - * 04-Apr-1999 PJB Added check_signature. - * 12-Dec-1999 RMK More cleanups - * 18-Jun-2000 RMK Removed virt_to_* and friends definitions - */ -#ifndef __ASM_ARM64_IO_H -#define __ASM_ARM64_IO_H - -#include <arch/byteorder.h> -#include <arch/arch_io.h> -#include <stdint.h> - -/* - * FIXME: These are to avoid breaking existing ARM code. We should eventually - * re-factor all code to specify the data length intended. - */ -#define readb(a) read8(a) -#define writeb(v,a) write8(a,v) -#define readl(a) read32(a) -#define writel(v,a) write32(a,v) - -/* - * Clear and set bits in one shot. These macros can be used to clear and - * set multiple bits in a register using a single call. These macros can - * also be used to set a multiple-bit bit pattern using a mask, by - * specifying the mask in the 'clear' parameter and the new bit pattern - * in the 'set' parameter. - */ - -#define out_arch(type,endian,a,v) write##type(cpu_to_##endian(v),a) -#define in_arch(type,endian,a) endian##_to_cpu(read##type(a)) - -#define out_le32(a,v) out_arch(l,le32,a,v) -#define out_le16(a,v) out_arch(w,le16,a,v) - -#define in_le32(a) in_arch(l,le32,a) -#define in_le16(a) in_arch(w,le16,a) - -#define out_be32(a,v) out_arch(l,be32,a,v) -#define out_be16(a,v) out_arch(w,be16,a,v) - -#define in_be32(a) in_arch(l,be32,a) -#define in_be16(a) in_arch(w,be16,a) - -#define out_8(a,v) writeb(v,a) -#define in_8(a) readb(a) - -#define clrbits(type, addr, clear) \ - out_##type((addr), in_##type(addr) & ~(clear)) - -#define setbits(type, addr, set) \ - out_##type((addr), in_##type(addr) | (set)) - -#define clrsetbits(type, addr, clear, set) \ - out_##type((addr), (in_##type(addr) & ~(clear)) | (set)) - -#define clrbits_be32(addr, clear) clrbits(be32, addr, clear) -#define setbits_be32(addr, set) setbits(be32, addr, set) -#define clrsetbits_be32(addr, clear, set) clrsetbits(be32, addr, clear, set) - -#define clrbits_le32(addr, clear) clrbits(le32, addr, clear) -#define setbits_le32(addr, set) setbits(le32, addr, set) -#define clrsetbits_le32(addr, clear, set) clrsetbits(le32, addr, clear, set) - -#define clrbits_be16(addr, clear) clrbits(be16, addr, clear) -#define setbits_be16(addr, set) setbits(be16, addr, set) -#define clrsetbits_be16(addr, clear, set) clrsetbits(be16, addr, clear, set) - -#define clrbits_le16(addr, clear) clrbits(le16, addr, clear) -#define setbits_le16(addr, set) setbits(le16, addr, set) -#define clrsetbits_le16(addr, clear, set) clrsetbits(le16, addr, clear, set) - -#define clrbits_8(addr, clear) clrbits(8, addr, clear) -#define setbits_8(addr, set) setbits(8, addr, set) -#define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set) - -#endif /* __ASM_ARM64_IO_H */ diff --git a/src/arch/arm64/include/armv8/arch/arch_io.h b/src/arch/arm64/include/armv8/arch/io.h index 96a15d72a2..bac64c3d18 100644 --- a/src/arch/arm64/include/armv8/arch/arch_io.h +++ b/src/arch/arm64/include/armv8/arch/io.h @@ -20,9 +20,10 @@ * 12-Dec-1999 RMK More cleanups * 18-Jun-2000 RMK Removed virt_to_* and friends definitions */ -#ifndef __ASM_ARM64_ARCH_IO_H -#define __ASM_ARM64_ARCH_IO_H +#ifndef __ARCH_IO_H +#define __ARCH_IO_H +#include <endian.h> #include <stdint.h> #include <arch/barrier.h> #include <arch/lib_helpers.h> @@ -66,4 +67,4 @@ static inline void write32(void *addr, uint32_t val) dmb(); } -#endif /* __ASM_ARM64_ARCH_IO_H */ +#endif /* __ARCH_IO_H */ diff --git a/src/arch/mips/include/arch/byteorder.h b/src/arch/mips/include/arch/byteorder.h index 90c375e691..a70ce82bac 100644 --- a/src/arch/mips/include/arch/byteorder.h +++ b/src/arch/mips/include/arch/byteorder.h @@ -20,29 +20,10 @@ #ifndef __MIPS_ARCH_BYTEORDER_H #define __MIPS_ARCH_BYTEORDER_H -#include <stdint.h> -#include <swab.h> - #ifndef __ORDER_LITTLE_ENDIAN__ #errror "What endian are you!?" #endif -#define cpu_to_le64(x) ((uint64_t)(x)) -#define le64_to_cpu(x) ((uint64_t)(x)) -#define cpu_to_le32(x) ((uint32_t)(x)) -#define le32_to_cpu(x) ((uint32_t)(x)) -#define cpu_to_le16(x) ((uint16_t)(x)) -#define le16_to_cpu(x) ((uint16_t)(x)) -#define cpu_to_be64(x) swab64(x) -#define be64_to_cpu(x) swab64(x) -#define cpu_to_be32(x) swab32((x)) -#define be32_to_cpu(x) swab32((x)) -#define cpu_to_be16(x) swab16((x)) -#define be16_to_cpu(x) swab16((x)) - -#define ntohll(x) be64_to_cpu(x) -#define htonll(x) cpu_to_be64(x) -#define ntohl(x) be32_to_cpu(x) -#define htonl(x) cpu_to_be32(x) +#define __LITTLE_ENDIAN 1234 #endif /* __MIPS_ARCH_BYTEORDER_H */ diff --git a/src/arch/mips/include/arch/io.h b/src/arch/mips/include/arch/io.h index d034b09dc5..1d3d6c4504 100644 --- a/src/arch/mips/include/arch/io.h +++ b/src/arch/mips/include/arch/io.h @@ -26,7 +26,7 @@ #include <types.h> #include <arch/cache.h> -#include <arch/byteorder.h> +#include <endian.h> static inline uint8_t read8(unsigned long addr) { @@ -67,59 +67,4 @@ static inline void write32(unsigned long addr, uint32_t val) asm("sync"); } -/* - * Clear and set bits in one shot. These macros can be used to clear and - * set multiple bits in a register using a single call. These macros can - * also be used to set a multiple-bit bit pattern using a mask, by - * specifying the mask in the 'clear' parameter and the new bit pattern - * in the 'set' parameter. - */ - -#define out_arch(type, endian, a, v) write##type(cpu_to_##endian(v), a) -#define in_arch(type, endian, a) endian##_to_cpu(read##type(a)) - -#define out_le32(a, v) out_arch(l, le32, a, v) -#define out_le16(a, v) out_arch(w, le16, a, v) - -#define in_le32(a) in_arch(l, le32, a) -#define in_le16(a) in_arch(w, le16, a) - -#define out_be32(a, v) out_arch(l, be32, a, v) -#define out_be16(a, v) out_arch(w, be16, a, v) - -#define in_be32(a) in_arch(l, be32, a) -#define in_be16(a) in_arch(w, be16, a) - -#define out_8(a, v) writeb(v, a) -#define in_8(a) readb(a) - -#define clrbits(type, addr, clear) \ - out_##type((addr), in_##type(addr) & ~(clear)) - -#define setbits(type, addr, set) \ - out_##type((addr), in_##type(addr) | (set)) - -#define clrsetbits(type, addr, clear, set) \ - out_##type((addr), (in_##type(addr) & ~(clear)) | (set)) - -#define clrbits_be32(addr, clear) clrbits(be32, addr, clear) -#define setbits_be32(addr, set) setbits(be32, addr, set) -#define clrsetbits_be32(addr, clear, set) clrsetbits(be32, addr, clear, set) - -#define clrbits_le32(addr, clear) clrbits(le32, addr, clear) -#define setbits_le32(addr, set) setbits(le32, addr, set) -#define clrsetbits_le32(addr, clear, set) clrsetbits(le32, addr, clear, set) - -#define clrbits_be16(addr, clear) clrbits(be16, addr, clear) -#define setbits_be16(addr, set) setbits(be16, addr, set) -#define clrsetbits_be16(addr, clear, set) clrsetbits(be16, addr, clear, set) - -#define clrbits_le16(addr, clear) clrbits(le16, addr, clear) -#define setbits_le16(addr, set) setbits(le16, addr, set) -#define clrsetbits_le16(addr, clear, set) clrsetbits(le16, addr, clear, set) - -#define clrbits_8(addr, clear) clrbits(8, addr, clear) -#define setbits_8(addr, set) setbits(8, addr, set) -#define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set) - #endif /* __MIPS_ARCH_IO_H */ diff --git a/src/arch/riscv/include/arch/byteorder.h b/src/arch/riscv/include/arch/byteorder.h index 8dc069f486..3478bdb3c2 100644 --- a/src/arch/riscv/include/arch/byteorder.h +++ b/src/arch/riscv/include/arch/byteorder.h @@ -3,25 +3,4 @@ #define __LITTLE_ENDIAN 1234 -#include <stdint.h> -#include <swab.h> - -#define cpu_to_le64(x) ((uint64_t)(x)) -#define le64_to_cpu(x) ((uint64_t)(x)) -#define cpu_to_le32(x) ((uint32_t)(x)) -#define le32_to_cpu(x) ((uint32_t)(x)) -#define cpu_to_le16(x) ((uint16_t)(x)) -#define le16_to_cpu(x) ((uint16_t)(x)) -#define cpu_to_be64(x) swab64(x) -#define be64_to_cpu(x) swab64(x) -#define cpu_to_be32(x) swab32((x)) -#define be32_to_cpu(x) swab32((x)) -#define cpu_to_be16(x) swab16((x)) -#define be16_to_cpu(x) swab16((x)) - -#define ntohll(x) be64_to_cpu(x) -#define htonll(x) cpu_to_be64(x) -#define ntohl(x) be32_to_cpu(x) -#define htonl(x) cpu_to_be32(x) - #endif /* _BYTEORDER_H */ diff --git a/src/arch/x86/boot/smbios.c b/src/arch/x86/boot/smbios.c index 0ba793f398..c3ac54ab89 100644 --- a/src/arch/x86/boot/smbios.c +++ b/src/arch/x86/boot/smbios.c @@ -28,8 +28,8 @@ #include <device/device.h> #include <arch/cpu.h> #include <cpu/x86/name.h> -#include <arch/byteorder.h> #include <elog.h> +#include <endian.h> #include <memory_info.h> #include <spd.h> #include <cbmem.h> diff --git a/src/arch/x86/include/arch/byteorder.h b/src/arch/x86/include/arch/byteorder.h index 8dc069f486..3478bdb3c2 100644 --- a/src/arch/x86/include/arch/byteorder.h +++ b/src/arch/x86/include/arch/byteorder.h @@ -3,25 +3,4 @@ #define __LITTLE_ENDIAN 1234 -#include <stdint.h> -#include <swab.h> - -#define cpu_to_le64(x) ((uint64_t)(x)) -#define le64_to_cpu(x) ((uint64_t)(x)) -#define cpu_to_le32(x) ((uint32_t)(x)) -#define le32_to_cpu(x) ((uint32_t)(x)) -#define cpu_to_le16(x) ((uint16_t)(x)) -#define le16_to_cpu(x) ((uint16_t)(x)) -#define cpu_to_be64(x) swab64(x) -#define be64_to_cpu(x) swab64(x) -#define cpu_to_be32(x) swab32((x)) -#define be32_to_cpu(x) swab32((x)) -#define cpu_to_be16(x) swab16((x)) -#define be16_to_cpu(x) swab16((x)) - -#define ntohll(x) be64_to_cpu(x) -#define htonll(x) cpu_to_be64(x) -#define ntohl(x) be32_to_cpu(x) -#define htonl(x) cpu_to_be32(x) - #endif /* _BYTEORDER_H */ diff --git a/src/arch/x86/include/arch/cbfs.h b/src/arch/x86/include/arch/cbfs.h index f2aed3b012..4a5a3c2ef0 100644 --- a/src/arch/x86/include/arch/cbfs.h +++ b/src/arch/x86/include/arch/cbfs.h @@ -20,8 +20,8 @@ #ifndef __INCLUDE_ARCH_CBFS__ #define __INCLUDE_ARCH_CBFS__ -#include <arch/byteorder.h> #include <cbfs_serialized.h> +#include <endian.h> #define CBFS_SUBHEADER(_p) ( (void *) ((((uint8_t *) (_p)) + ntohl((_p)->offset))) ) diff --git a/src/arch/x86/include/arch/io.h b/src/arch/x86/include/arch/io.h index 3130f64728..ce9477358a 100644 --- a/src/arch/x86/include/arch/io.h +++ b/src/arch/x86/include/arch/io.h @@ -1,6 +1,7 @@ #ifndef _ASM_IO_H #define _ASM_IO_H +#include <endian.h> #include <stdint.h> #include <rules.h> |