[PATCH v4 08/10] lib: auxially files for auto-generated asm-generic files of libos
these files works as stubs in order to transparently run the other kernel part (e.g., net/) on libos environment. Signed-off-by: Hajime Tazaki --- arch/lib/include/asm/Kbuild | 57 +++ arch/lib/include/asm/atomic.h | 50 ++ arch/lib/include/asm/barrier.h| 8 + arch/lib/include/asm/bitsperlong.h| 16 ++ arch/lib/include/asm/current.h| 7 + arch/lib/include/asm/elf.h| 10 ++ arch/lib/include/asm/hardirq.h| 8 + arch/lib/include/asm/page.h | 14 + arch/lib/include/asm/pgtable.h| 30 ++ arch/lib/include/asm/processor.h | 19 arch/lib/include/asm/ptrace.h | 4 +++ arch/lib/include/asm/segment.h| 6 arch/lib/include/asm/sembuf.h | 4 +++ arch/lib/include/asm/shmbuf.h | 4 +++ arch/lib/include/asm/shmparam.h | 4 +++ arch/lib/include/asm/sigcontext.h | 6 arch/lib/include/asm/stat.h | 4 +++ arch/lib/include/asm/statfs.h | 4 +++ arch/lib/include/asm/swab.h | 7 + arch/lib/include/asm/thread_info.h| 36 ++ arch/lib/include/asm/uaccess.h| 14 + arch/lib/include/asm/unistd.h | 4 +++ arch/lib/include/uapi/asm/byteorder.h | 6 23 files changed, 322 insertions(+) create mode 100644 arch/lib/include/asm/Kbuild create mode 100644 arch/lib/include/asm/atomic.h create mode 100644 arch/lib/include/asm/barrier.h create mode 100644 arch/lib/include/asm/bitsperlong.h create mode 100644 arch/lib/include/asm/current.h create mode 100644 arch/lib/include/asm/elf.h create mode 100644 arch/lib/include/asm/hardirq.h create mode 100644 arch/lib/include/asm/page.h create mode 100644 arch/lib/include/asm/pgtable.h create mode 100644 arch/lib/include/asm/processor.h create mode 100644 arch/lib/include/asm/ptrace.h create mode 100644 arch/lib/include/asm/segment.h create mode 100644 arch/lib/include/asm/sembuf.h create mode 100644 arch/lib/include/asm/shmbuf.h create mode 100644 arch/lib/include/asm/shmparam.h create mode 100644 arch/lib/include/asm/sigcontext.h create mode 100644 arch/lib/include/asm/stat.h create mode 100644 arch/lib/include/asm/statfs.h create mode 100644 arch/lib/include/asm/swab.h create mode 100644 arch/lib/include/asm/thread_info.h create mode 100644 arch/lib/include/asm/uaccess.h create mode 100644 arch/lib/include/asm/unistd.h create mode 100644 arch/lib/include/uapi/asm/byteorder.h diff --git a/arch/lib/include/asm/Kbuild b/arch/lib/include/asm/Kbuild new file mode 100644 index 000..c647b1c --- /dev/null +++ b/arch/lib/include/asm/Kbuild @@ -0,0 +1,57 @@ +generic-y += auxvec.h +generic-y += bitops.h +generic-y += bug.h +generic-y += cache.h +generic-y += cacheflush.h +generic-y += checksum.h +generic-y += cputime.h +generic-y += cmpxchg.h +generic-y += delay.h +generic-y += device.h +generic-y += div64.h +generic-y += dma.h +generic-y += exec.h +generic-y += emergency-restart.h +generic-y += errno.h +generic-y += fcntl.h +generic-y += ftrace.h +generic-y += io.h +generic-y += ioctl.h +generic-y += ioctls.h +generic-y += ipcbuf.h +generic-y += irq.h +generic-y += irqflags.h +generic-y += irq_regs.h +generic-y += kdebug.h +generic-y += kmap_types.h +generic-y += linkage.h +generic-y += local.h +generic-y += mcs_spinlock.h +generic-y += mman.h +generic-y += mmu.h +generic-y += mmu_context.h +generic-y += module.h +generic-y += mutex.h +generic-y += param.h +generic-y += pci.h +generic-y += percpu.h +generic-y += poll.h +generic-y += posix_types.h +generic-y += preempt.h +generic-y += resource.h +generic-y += scatterlist.h +generic-y += sections.h +generic-y += setup.h +generic-y += signal.h +generic-y += siginfo.h +generic-y += socket.h +generic-y += sockios.h +generic-y += string.h +generic-y += termbits.h +generic-y += termios.h +generic-y += timex.h +generic-y += tlbflush.h +generic-y += types.h +generic-y += topology.h +generic-y += trace_clock.h +generic-y += unaligned.h diff --git a/arch/lib/include/asm/atomic.h b/arch/lib/include/asm/atomic.h new file mode 100644 index 000..41a49285 --- /dev/null +++ b/arch/lib/include/asm/atomic.h @@ -0,0 +1,50 @@ +#ifndef _ASM_SIM_ATOMIC_H +#define _ASM_SIM_ATOMIC_H + +#include + +#if !defined(CONFIG_64BIT) +typedef struct { + volatile long long counter; +} atomic64_t; +#endif + +#define ATOMIC64_INIT(i) { (i) } + +#define atomic64_read(v)(*(volatile long *)&(v)->counter) +void atomic64_add(long i, atomic64_t *v); +static inline void atomic64_sub(long i, atomic64_t *v) +{ + v->counter -= i; +} +static inline void atomic64_inc(atomic64_t *v) +{ + v->counter++; +} +int atomic64_sub_and_test(long i, atomic64_t *v); +#define atomic64_dec(v)atomic64_sub(1LL, (v)) +int atomic64_dec_and_test(atomic64_t *v); +int atomic64_inc_and_test(atomic64_t
[PATCH v4 08/10] lib: auxially files for auto-generated asm-generic files of libos
these files works as stubs in order to transparently run the other kernel part (e.g., net/) on libos environment. Signed-off-by: Hajime Tazaki taz...@sfc.wide.ad.jp --- arch/lib/include/asm/Kbuild | 57 +++ arch/lib/include/asm/atomic.h | 50 ++ arch/lib/include/asm/barrier.h| 8 + arch/lib/include/asm/bitsperlong.h| 16 ++ arch/lib/include/asm/current.h| 7 + arch/lib/include/asm/elf.h| 10 ++ arch/lib/include/asm/hardirq.h| 8 + arch/lib/include/asm/page.h | 14 + arch/lib/include/asm/pgtable.h| 30 ++ arch/lib/include/asm/processor.h | 19 arch/lib/include/asm/ptrace.h | 4 +++ arch/lib/include/asm/segment.h| 6 arch/lib/include/asm/sembuf.h | 4 +++ arch/lib/include/asm/shmbuf.h | 4 +++ arch/lib/include/asm/shmparam.h | 4 +++ arch/lib/include/asm/sigcontext.h | 6 arch/lib/include/asm/stat.h | 4 +++ arch/lib/include/asm/statfs.h | 4 +++ arch/lib/include/asm/swab.h | 7 + arch/lib/include/asm/thread_info.h| 36 ++ arch/lib/include/asm/uaccess.h| 14 + arch/lib/include/asm/unistd.h | 4 +++ arch/lib/include/uapi/asm/byteorder.h | 6 23 files changed, 322 insertions(+) create mode 100644 arch/lib/include/asm/Kbuild create mode 100644 arch/lib/include/asm/atomic.h create mode 100644 arch/lib/include/asm/barrier.h create mode 100644 arch/lib/include/asm/bitsperlong.h create mode 100644 arch/lib/include/asm/current.h create mode 100644 arch/lib/include/asm/elf.h create mode 100644 arch/lib/include/asm/hardirq.h create mode 100644 arch/lib/include/asm/page.h create mode 100644 arch/lib/include/asm/pgtable.h create mode 100644 arch/lib/include/asm/processor.h create mode 100644 arch/lib/include/asm/ptrace.h create mode 100644 arch/lib/include/asm/segment.h create mode 100644 arch/lib/include/asm/sembuf.h create mode 100644 arch/lib/include/asm/shmbuf.h create mode 100644 arch/lib/include/asm/shmparam.h create mode 100644 arch/lib/include/asm/sigcontext.h create mode 100644 arch/lib/include/asm/stat.h create mode 100644 arch/lib/include/asm/statfs.h create mode 100644 arch/lib/include/asm/swab.h create mode 100644 arch/lib/include/asm/thread_info.h create mode 100644 arch/lib/include/asm/uaccess.h create mode 100644 arch/lib/include/asm/unistd.h create mode 100644 arch/lib/include/uapi/asm/byteorder.h diff --git a/arch/lib/include/asm/Kbuild b/arch/lib/include/asm/Kbuild new file mode 100644 index 000..c647b1c --- /dev/null +++ b/arch/lib/include/asm/Kbuild @@ -0,0 +1,57 @@ +generic-y += auxvec.h +generic-y += bitops.h +generic-y += bug.h +generic-y += cache.h +generic-y += cacheflush.h +generic-y += checksum.h +generic-y += cputime.h +generic-y += cmpxchg.h +generic-y += delay.h +generic-y += device.h +generic-y += div64.h +generic-y += dma.h +generic-y += exec.h +generic-y += emergency-restart.h +generic-y += errno.h +generic-y += fcntl.h +generic-y += ftrace.h +generic-y += io.h +generic-y += ioctl.h +generic-y += ioctls.h +generic-y += ipcbuf.h +generic-y += irq.h +generic-y += irqflags.h +generic-y += irq_regs.h +generic-y += kdebug.h +generic-y += kmap_types.h +generic-y += linkage.h +generic-y += local.h +generic-y += mcs_spinlock.h +generic-y += mman.h +generic-y += mmu.h +generic-y += mmu_context.h +generic-y += module.h +generic-y += mutex.h +generic-y += param.h +generic-y += pci.h +generic-y += percpu.h +generic-y += poll.h +generic-y += posix_types.h +generic-y += preempt.h +generic-y += resource.h +generic-y += scatterlist.h +generic-y += sections.h +generic-y += setup.h +generic-y += signal.h +generic-y += siginfo.h +generic-y += socket.h +generic-y += sockios.h +generic-y += string.h +generic-y += termbits.h +generic-y += termios.h +generic-y += timex.h +generic-y += tlbflush.h +generic-y += types.h +generic-y += topology.h +generic-y += trace_clock.h +generic-y += unaligned.h diff --git a/arch/lib/include/asm/atomic.h b/arch/lib/include/asm/atomic.h new file mode 100644 index 000..41a49285 --- /dev/null +++ b/arch/lib/include/asm/atomic.h @@ -0,0 +1,50 @@ +#ifndef _ASM_SIM_ATOMIC_H +#define _ASM_SIM_ATOMIC_H + +#include linux/types.h + +#if !defined(CONFIG_64BIT) +typedef struct { + volatile long long counter; +} atomic64_t; +#endif + +#define ATOMIC64_INIT(i) { (i) } + +#define atomic64_read(v)(*(volatile long *)(v)-counter) +void atomic64_add(long i, atomic64_t *v); +static inline void atomic64_sub(long i, atomic64_t *v) +{ + v-counter -= i; +} +static inline void atomic64_inc(atomic64_t *v) +{ + v-counter++; +} +int atomic64_sub_and_test(long i, atomic64_t *v); +#define atomic64_dec(v)atomic64_sub(1LL, (v)) +int atomic64_dec_and_test(atomic64_t *v); +int