aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2011-08-18 20:06:39 +0100
committerRichard Weinberger <richard@nod.at>2011-11-02 14:15:05 +0100
commit5c48b108ecbf6505d929e64d50dace13ac2bdf34 (patch)
tree016904f84fbe05aa301c5cdfe712d90f6bb828fe
parent7bbe7204e93734fe79d8aac3e08a7cb4624b5004 (diff)
um: take arch/um/sys-x86 to arch/x86/um
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
-rw-r--r--arch/um/Makefile22
-rw-r--r--arch/um/os-Linux/Makefile2
-rw-r--r--arch/um/scripts/Makefile.rules5
-rw-r--r--arch/x86/Makefile.um (renamed from arch/um/Makefile-x86)2
-rw-r--r--arch/x86/um/Kconfig (renamed from arch/um/Kconfig.x86)0
-rw-r--r--arch/x86/um/Makefile (renamed from arch/um/sys-x86/Makefile)16
-rw-r--r--arch/x86/um/asm/arch_hweight.h (renamed from arch/um/sys-x86/asm/arch_hweight.h)0
-rw-r--r--arch/x86/um/asm/archparam.h (renamed from arch/um/sys-x86/asm/archparam.h)0
-rw-r--r--arch/x86/um/asm/checksum.h (renamed from arch/um/sys-x86/asm/checksum.h)0
-rw-r--r--arch/x86/um/asm/checksum_32.h (renamed from arch/um/sys-x86/asm/checksum_32.h)0
-rw-r--r--arch/x86/um/asm/checksum_64.h (renamed from arch/um/sys-x86/asm/checksum_64.h)0
-rw-r--r--arch/x86/um/asm/elf.h (renamed from arch/um/sys-x86/asm/elf.h)0
-rw-r--r--arch/x86/um/asm/module.h (renamed from arch/um/sys-x86/asm/module.h)0
-rw-r--r--arch/x86/um/asm/processor.h (renamed from arch/um/sys-x86/asm/processor.h)0
-rw-r--r--arch/x86/um/asm/processor_32.h (renamed from arch/um/sys-x86/asm/processor_32.h)0
-rw-r--r--arch/x86/um/asm/processor_64.h (renamed from arch/um/sys-x86/asm/processor_64.h)0
-rw-r--r--arch/x86/um/asm/ptrace.h (renamed from arch/um/sys-x86/asm/ptrace.h)0
-rw-r--r--arch/x86/um/asm/ptrace_32.h (renamed from arch/um/sys-x86/asm/ptrace_32.h)0
-rw-r--r--arch/x86/um/asm/ptrace_64.h (renamed from arch/um/sys-x86/asm/ptrace_64.h)0
-rw-r--r--arch/x86/um/asm/system.h (renamed from arch/um/sys-x86/asm/system.h)0
-rw-r--r--arch/x86/um/asm/vm-flags.h (renamed from arch/um/sys-x86/asm/vm-flags.h)0
-rw-r--r--arch/x86/um/bug.c (renamed from arch/um/sys-x86/bug.c)0
-rw-r--r--arch/x86/um/bugs_32.c (renamed from arch/um/sys-x86/bugs_32.c)0
-rw-r--r--arch/x86/um/bugs_64.c (renamed from arch/um/sys-x86/bugs_64.c)0
-rw-r--r--arch/x86/um/checksum_32.S (renamed from arch/um/sys-x86/checksum_32.S)0
-rw-r--r--arch/x86/um/delay_32.c (renamed from arch/um/sys-x86/delay_32.c)0
-rw-r--r--arch/x86/um/delay_64.c (renamed from arch/um/sys-x86/delay_64.c)0
-rw-r--r--arch/x86/um/elfcore.c (renamed from arch/um/sys-x86/elfcore.c)0
-rw-r--r--arch/x86/um/fault.c (renamed from arch/um/sys-x86/fault.c)0
-rw-r--r--arch/x86/um/ksyms.c (renamed from arch/um/sys-x86/ksyms.c)0
-rw-r--r--arch/x86/um/ldt.c (renamed from arch/um/sys-x86/ldt.c)0
-rw-r--r--arch/x86/um/mem_32.c (renamed from arch/um/sys-x86/mem_32.c)0
-rw-r--r--arch/x86/um/mem_64.c (renamed from arch/um/sys-x86/mem_64.c)0
-rw-r--r--arch/x86/um/os-Linux/Makefile (renamed from arch/um/os-Linux/sys-x86/Makefile)0
-rw-r--r--arch/x86/um/os-Linux/mcontext.c (renamed from arch/um/os-Linux/sys-x86/mcontext.c)0
-rw-r--r--arch/x86/um/os-Linux/prctl.c (renamed from arch/um/os-Linux/sys-x86/prctl.c)0
-rw-r--r--arch/x86/um/os-Linux/registers.c (renamed from arch/um/os-Linux/sys-x86/registers.c)0
-rw-r--r--arch/x86/um/os-Linux/task_size.c (renamed from arch/um/os-Linux/sys-x86/task_size.c)0
-rw-r--r--arch/x86/um/os-Linux/tls.c (renamed from arch/um/os-Linux/sys-x86/tls.c)0
-rw-r--r--arch/x86/um/ptrace_32.c (renamed from arch/um/sys-x86/ptrace_32.c)0
-rw-r--r--arch/x86/um/ptrace_64.c (renamed from arch/um/sys-x86/ptrace_64.c)0
-rw-r--r--arch/x86/um/ptrace_user.c (renamed from arch/um/sys-x86/ptrace_user.c)0
-rw-r--r--arch/x86/um/setjmp_32.S (renamed from arch/um/sys-x86/setjmp_32.S)0
-rw-r--r--arch/x86/um/setjmp_64.S (renamed from arch/um/sys-x86/setjmp_64.S)0
-rw-r--r--arch/x86/um/shared/sysdep/archsetjmp.h (renamed from arch/um/sys-x86/shared/sysdep/archsetjmp.h)0
-rw-r--r--arch/x86/um/shared/sysdep/archsetjmp_32.h (renamed from arch/um/sys-x86/shared/sysdep/archsetjmp_32.h)0
-rw-r--r--arch/x86/um/shared/sysdep/archsetjmp_64.h (renamed from arch/um/sys-x86/shared/sysdep/archsetjmp_64.h)0
-rw-r--r--arch/x86/um/shared/sysdep/faultinfo.h (renamed from arch/um/sys-x86/shared/sysdep/faultinfo.h)0
-rw-r--r--arch/x86/um/shared/sysdep/faultinfo_32.h (renamed from arch/um/sys-x86/shared/sysdep/faultinfo_32.h)0
-rw-r--r--arch/x86/um/shared/sysdep/faultinfo_64.h (renamed from arch/um/sys-x86/shared/sysdep/faultinfo_64.h)0
-rw-r--r--arch/x86/um/shared/sysdep/host_ldt.h (renamed from arch/um/sys-x86/shared/sysdep/host_ldt.h)0
-rw-r--r--arch/x86/um/shared/sysdep/host_ldt_32.h (renamed from arch/um/sys-x86/shared/sysdep/host_ldt_32.h)0
-rw-r--r--arch/x86/um/shared/sysdep/host_ldt_64.h (renamed from arch/um/sys-x86/shared/sysdep/host_ldt_64.h)0
-rw-r--r--arch/x86/um/shared/sysdep/kernel-offsets.h (renamed from arch/um/sys-x86/shared/sysdep/kernel-offsets.h)0
-rw-r--r--arch/x86/um/shared/sysdep/mcontext.h (renamed from arch/um/sys-x86/shared/sysdep/mcontext.h)0
-rw-r--r--arch/x86/um/shared/sysdep/ptrace.h (renamed from arch/um/sys-x86/shared/sysdep/ptrace.h)0
-rw-r--r--arch/x86/um/shared/sysdep/ptrace_32.h (renamed from arch/um/sys-x86/shared/sysdep/ptrace_32.h)0
-rw-r--r--arch/x86/um/shared/sysdep/ptrace_64.h (renamed from arch/um/sys-x86/shared/sysdep/ptrace_64.h)0
-rw-r--r--arch/x86/um/shared/sysdep/ptrace_user.h (renamed from arch/um/sys-x86/shared/sysdep/ptrace_user.h)0
-rw-r--r--arch/x86/um/shared/sysdep/ptrace_user_32.h (renamed from arch/um/sys-x86/shared/sysdep/ptrace_user_32.h)0
-rw-r--r--arch/x86/um/shared/sysdep/ptrace_user_64.h (renamed from arch/um/sys-x86/shared/sysdep/ptrace_user_64.h)0
-rw-r--r--arch/x86/um/shared/sysdep/skas_ptrace.h (renamed from arch/um/sys-x86/shared/sysdep/skas_ptrace.h)0
-rw-r--r--arch/x86/um/shared/sysdep/stub.h (renamed from arch/um/sys-x86/shared/sysdep/stub.h)0
-rw-r--r--arch/x86/um/shared/sysdep/stub_32.h (renamed from arch/um/sys-x86/shared/sysdep/stub_32.h)0
-rw-r--r--arch/x86/um/shared/sysdep/stub_64.h (renamed from arch/um/sys-x86/shared/sysdep/stub_64.h)0
-rw-r--r--arch/x86/um/shared/sysdep/syscalls.h (renamed from arch/um/sys-x86/shared/sysdep/syscalls.h)0
-rw-r--r--arch/x86/um/shared/sysdep/syscalls_32.h (renamed from arch/um/sys-x86/shared/sysdep/syscalls_32.h)0
-rw-r--r--arch/x86/um/shared/sysdep/syscalls_64.h (renamed from arch/um/sys-x86/shared/sysdep/syscalls_64.h)0
-rw-r--r--arch/x86/um/shared/sysdep/tls.h (renamed from arch/um/sys-x86/shared/sysdep/tls.h)0
-rw-r--r--arch/x86/um/shared/sysdep/tls_32.h (renamed from arch/um/sys-x86/shared/sysdep/tls_32.h)0
-rw-r--r--arch/x86/um/shared/sysdep/tls_64.h (renamed from arch/um/sys-x86/shared/sysdep/tls_64.h)0
-rw-r--r--arch/x86/um/signal_32.c (renamed from arch/um/sys-x86/signal_32.c)0
-rw-r--r--arch/x86/um/signal_64.c (renamed from arch/um/sys-x86/signal_64.c)0
-rw-r--r--arch/x86/um/stub_32.S (renamed from arch/um/sys-x86/stub_32.S)0
-rw-r--r--arch/x86/um/stub_64.S (renamed from arch/um/sys-x86/stub_64.S)0
-rw-r--r--arch/x86/um/stub_segv.c (renamed from arch/um/sys-x86/stub_segv.c)0
-rw-r--r--arch/x86/um/sys_call_table_32.S (renamed from arch/um/sys-x86/sys_call_table_32.S)0
-rw-r--r--arch/x86/um/sys_call_table_64.c (renamed from arch/um/sys-x86/sys_call_table_64.c)0
-rw-r--r--arch/x86/um/syscalls_32.c (renamed from arch/um/sys-x86/syscalls_32.c)0
-rw-r--r--arch/x86/um/syscalls_64.c (renamed from arch/um/sys-x86/syscalls_64.c)0
-rw-r--r--arch/x86/um/sysrq_32.c (renamed from arch/um/sys-x86/sysrq_32.c)0
-rw-r--r--arch/x86/um/sysrq_64.c (renamed from arch/um/sys-x86/sysrq_64.c)0
-rw-r--r--arch/x86/um/tls_32.c (renamed from arch/um/sys-x86/tls_32.c)0
-rw-r--r--arch/x86/um/tls_64.c (renamed from arch/um/sys-x86/tls_64.c)0
-rw-r--r--arch/x86/um/user-offsets.c (renamed from arch/um/sys-x86/user-offsets.c)0
-rw-r--r--arch/x86/um/vdso/Makefile (renamed from arch/um/sys-x86/vdso/Makefile)0
-rw-r--r--arch/x86/um/vdso/checkundef.sh (renamed from arch/um/sys-x86/vdso/checkundef.sh)0
-rw-r--r--arch/x86/um/vdso/um_vdso.c (renamed from arch/um/sys-x86/vdso/um_vdso.c)0
-rw-r--r--arch/x86/um/vdso/vdso-layout.lds.S (renamed from arch/um/sys-x86/vdso/vdso-layout.lds.S)0
-rw-r--r--arch/x86/um/vdso/vdso-note.S (renamed from arch/um/sys-x86/vdso/vdso-note.S)0
-rw-r--r--arch/x86/um/vdso/vdso.S (renamed from arch/um/sys-x86/vdso/vdso.S)2
-rw-r--r--arch/x86/um/vdso/vdso.lds.S (renamed from arch/um/sys-x86/vdso/vdso.lds.S)0
-rw-r--r--arch/x86/um/vdso/vma.c (renamed from arch/um/sys-x86/vdso/vma.c)0
93 files changed, 24 insertions, 25 deletions
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 7492ee5837c..7730af6ec13 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -30,13 +30,17 @@ ifeq ($(SUBARCH),x86_64)
HEADER_ARCH := x86
endif
+HOST_DIR := arch/$(HEADER_ARCH)
+
include $(srctree)/$(ARCH_DIR)/Makefile-skas
-include $(srctree)/$(ARCH_DIR)/Makefile-$(HEADER_ARCH)
+include $(srctree)/$(HOST_DIR)/Makefile.um
+
+core-y += $(HOST_DIR)/um/
SHARED_HEADERS := $(ARCH_DIR)/include/shared
ARCH_INCLUDE := -I$(srctree)/$(SHARED_HEADERS)
-ARCH_INCLUDE += -I$(srctree)/$(ARCH_DIR)/sys-$(HEADER_ARCH)/shared
-KBUILD_CPPFLAGS += -I$(srctree)/$(ARCH_DIR)/sys-$(HEADER_ARCH)
+ARCH_INCLUDE += -I$(srctree)/$(HOST_DIR)/um/shared
+KBUILD_CPPFLAGS += -I$(srctree)/$(HOST_DIR)/um
# -Dvmap=kernel_vmap prevents anything from referencing the libpcap.o symbol so
# named - it's a common symbol in libpcap, so we get a binary which crashes.
@@ -60,7 +64,7 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\
#This will adjust *FLAGS accordingly to the platform.
include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
-KBUILD_CPPFLAGS += -I$(srctree)/arch/$(HEADER_ARCH)/include
+KBUILD_CPPFLAGS += -I$(srctree)/$(HOST_DIR)/include
# -Derrno=kernel_errno - This turns all kernel references to errno into
# kernel_errno to separate them from the libc errno. This allows -fno-common
@@ -90,7 +94,7 @@ define archhelp
echo ' find in the kernel root.'
endef
-KBUILD_KCONFIG := arch/um/Kconfig.$(HEADER_ARCH)
+KBUILD_KCONFIG := $(HOST_DIR)/um/Kconfig
archprepare: include/generated/user_constants.h
@@ -131,8 +135,8 @@ archclean:
# Generated files
-$(ARCH_DIR)/sys-$(HEADER_ARCH)/user-offsets.s: FORCE
- $(Q)$(MAKE) $(build)=$(ARCH_DIR)/sys-$(HEADER_ARCH) $@
+$(HOST_DIR)/um/user-offsets.s: FORCE
+ $(Q)$(MAKE) $(build)=$(HOST_DIR)/um $@
define filechk_gen-asm-offsets
(set -e; \
@@ -147,7 +151,7 @@ define filechk_gen-asm-offsets
echo ""; )
endef
-include/generated/user_constants.h: $(ARCH_DIR)/sys-$(HEADER_ARCH)/user-offsets.s
+include/generated/user_constants.h: $(HOST_DIR)/um/user-offsets.s
$(call filechk,gen-asm-offsets)
-export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH
+export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS DEV_NULL_PATH
diff --git a/arch/um/os-Linux/Makefile b/arch/um/os-Linux/Makefile
index 7879e76e998..015d0005766 100644
--- a/arch/um/os-Linux/Makefile
+++ b/arch/um/os-Linux/Makefile
@@ -5,7 +5,7 @@
obj-y = aio.o execvp.o file.o helper.o irq.o main.o mem.o process.o \
registers.o sigio.o signal.o start_up.o time.o tty.o \
- umid.o tls.o user_syms.o util.o drivers/ sys-$(HEADER_ARCH)/ skas/
+ umid.o tls.o user_syms.o util.o drivers/ skas/
obj-$(CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA) += elf_aux.o
diff --git a/arch/um/scripts/Makefile.rules b/arch/um/scripts/Makefile.rules
index 3a7efb017a7..2eb2843b063 100644
--- a/arch/um/scripts/Makefile.rules
+++ b/arch/um/scripts/Makefile.rules
@@ -25,8 +25,3 @@ $(UNPROFILE_OBJS) : CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ \
define unprofile
$(patsubst -pg,,$(patsubst -fprofile-arcs -ftest-coverage,,$(1)))
endef
-
-ifdef subarch-obj-y
-obj-y += subarch.o
-subarch-y = $(addprefix ../../$(HEADER_ARCH)/,$(subarch-obj-y))
-endif
diff --git a/arch/um/Makefile-x86 b/arch/x86/Makefile.um
index 68fbd1b7c9f..36ddec6a41c 100644
--- a/arch/um/Makefile-x86
+++ b/arch/x86/Makefile.um
@@ -1,4 +1,4 @@
-core-y += arch/um/sys-x86/ arch/x86/crypto/
+core-y += arch/x86/crypto/
ifeq ($(CONFIG_X86_32),y)
START := 0x8048000
diff --git a/arch/um/Kconfig.x86 b/arch/x86/um/Kconfig
index 21bebe63df6..21bebe63df6 100644
--- a/arch/um/Kconfig.x86
+++ b/arch/x86/um/Kconfig
diff --git a/arch/um/sys-x86/Makefile b/arch/x86/um/Makefile
index 81ab3484a43..df419896693 100644
--- a/arch/um/sys-x86/Makefile
+++ b/arch/x86/um/Makefile
@@ -11,28 +11,28 @@ endif
obj-y = bug.o bugs_$(BITS).o delay_$(BITS).o fault.o ksyms.o ldt.o \
ptrace_$(BITS).o ptrace_user.o setjmp_$(BITS).o signal_$(BITS).o \
stub_$(BITS).o stub_segv.o syscalls_$(BITS).o \
- sys_call_table_$(BITS).o sysrq_$(BITS).o tls_$(BITS).o mem_$(BITS).o
+ sys_call_table_$(BITS).o sysrq_$(BITS).o tls_$(BITS).o \
+ mem_$(BITS).o subarch.o os-$(OS)/
ifeq ($(CONFIG_X86_32),y)
obj-y += checksum_32.o
obj-$(CONFIG_BINFMT_ELF) += elfcore.o
-subarch-obj-y = lib/string_32.o lib/atomic64_32.o lib/atomic64_cx8_32.o
-subarch-obj-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += lib/rwsem.o
-subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem_32.o
-subarch-obj-$(CONFIG_MODULES) += kernel/module.o
+subarch-y = ../lib/string_32.o ../lib/atomic64_32.o ../lib/atomic64_cx8_32.o
+subarch-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += ../lib/rwsem.o
+subarch-$(CONFIG_HIGHMEM) += ../mm/highmem_32.o
else
obj-y += vdso/
-subarch-obj-y = lib/csum-partial_64.o lib/memcpy_64.o lib/thunk_64.o \
- lib/rwsem.o
+subarch-y = ../lib/csum-partial_64.o ../lib/memcpy_64.o ../lib/thunk_64.o \
+ ../lib/rwsem.o
endif
-subarch-obj-$(CONFIG_MODULES) += kernel/module.o
+subarch-$(CONFIG_MODULES) += ../kernel/module.o
USER_OBJS := bugs_$(BITS).o ptrace_user.o fault.o
diff --git a/arch/um/sys-x86/asm/arch_hweight.h b/arch/x86/um/asm/arch_hweight.h
index c656cf443f4..c656cf443f4 100644
--- a/arch/um/sys-x86/asm/arch_hweight.h
+++ b/arch/x86/um/asm/arch_hweight.h
diff --git a/arch/um/sys-x86/asm/archparam.h b/arch/x86/um/asm/archparam.h
index c17cf68dda0..c17cf68dda0 100644
--- a/arch/um/sys-x86/asm/archparam.h
+++ b/arch/x86/um/asm/archparam.h
diff --git a/arch/um/sys-x86/asm/checksum.h b/arch/x86/um/asm/checksum.h
index b6efe2381b5..b6efe2381b5 100644
--- a/arch/um/sys-x86/asm/checksum.h
+++ b/arch/x86/um/asm/checksum.h
diff --git a/arch/um/sys-x86/asm/checksum_32.h b/arch/x86/um/asm/checksum_32.h
index caab74252e2..caab74252e2 100644
--- a/arch/um/sys-x86/asm/checksum_32.h
+++ b/arch/x86/um/asm/checksum_32.h
diff --git a/arch/um/sys-x86/asm/checksum_64.h b/arch/x86/um/asm/checksum_64.h
index a5be9031ea8..a5be9031ea8 100644
--- a/arch/um/sys-x86/asm/checksum_64.h
+++ b/arch/x86/um/asm/checksum_64.h
diff --git a/arch/um/sys-x86/asm/elf.h b/arch/x86/um/asm/elf.h
index f3b0633b69a..f3b0633b69a 100644
--- a/arch/um/sys-x86/asm/elf.h
+++ b/arch/x86/um/asm/elf.h
diff --git a/arch/um/sys-x86/asm/module.h b/arch/x86/um/asm/module.h
index 61af80e932e..61af80e932e 100644
--- a/arch/um/sys-x86/asm/module.h
+++ b/arch/x86/um/asm/module.h
diff --git a/arch/um/sys-x86/asm/processor.h b/arch/x86/um/asm/processor.h
index d3ac1cecf0f..d3ac1cecf0f 100644
--- a/arch/um/sys-x86/asm/processor.h
+++ b/arch/x86/um/asm/processor.h
diff --git a/arch/um/sys-x86/asm/processor_32.h b/arch/x86/um/asm/processor_32.h
index ae0d189aafc..ae0d189aafc 100644
--- a/arch/um/sys-x86/asm/processor_32.h
+++ b/arch/x86/um/asm/processor_32.h
diff --git a/arch/um/sys-x86/asm/processor_64.h b/arch/x86/um/asm/processor_64.h
index 6db812b24f4..6db812b24f4 100644
--- a/arch/um/sys-x86/asm/processor_64.h
+++ b/arch/x86/um/asm/processor_64.h
diff --git a/arch/um/sys-x86/asm/ptrace.h b/arch/x86/um/asm/ptrace.h
index c8aca8c501b..c8aca8c501b 100644
--- a/arch/um/sys-x86/asm/ptrace.h
+++ b/arch/x86/um/asm/ptrace.h
diff --git a/arch/um/sys-x86/asm/ptrace_32.h b/arch/x86/um/asm/ptrace_32.h
index 5d2a5911253..5d2a5911253 100644
--- a/arch/um/sys-x86/asm/ptrace_32.h
+++ b/arch/x86/um/asm/ptrace_32.h
diff --git a/arch/um/sys-x86/asm/ptrace_64.h b/arch/x86/um/asm/ptrace_64.h
index 83d8c473b90..83d8c473b90 100644
--- a/arch/um/sys-x86/asm/ptrace_64.h
+++ b/arch/x86/um/asm/ptrace_64.h
diff --git a/arch/um/sys-x86/asm/system.h b/arch/x86/um/asm/system.h
index a89113bc74f..a89113bc74f 100644
--- a/arch/um/sys-x86/asm/system.h
+++ b/arch/x86/um/asm/system.h
diff --git a/arch/um/sys-x86/asm/vm-flags.h b/arch/x86/um/asm/vm-flags.h
index 7c297e9e241..7c297e9e241 100644
--- a/