Index: uspace/app/msim/Makefile
===================================================================
--- uspace/app/msim/Makefile	(revision 6c942e10a02b225eb8ff89d4c66b0974960f4f4c)
+++ uspace/app/msim/Makefile	(revision af42a2bf32988d827b889020c0e2c9840f8652ce)
@@ -36,10 +36,14 @@
 
 MSIM_HELENOS_MAKEFILE = Makefile.msim.src
-MSIM_HELENOS_PLATFORM_FILES = helenos.c helenos_input.c
+MSIM_HELENOS_PLATFORM_FILES = misc.c input.c
+MSIM_HELENOS_ARCH_DIR = arch/helenos
 MSIM_PATCHED_FILES = \
 	$(MSIM_DIST)/config.h \
 	$(MSIM_DIST)/src/$(MSIM_HELENOS_MAKEFILE) \
-	$(MSIM_DIST)/src/helenos.c \
-	$(MSIM_DIST)/src/helenos_input.c
+	$(MSIM_DIST)/src/$(MSIM_HELENOS_ARCH_DIR)/helenos.h \
+	$(MSIM_DIST)/src/$(MSIM_HELENOS_ARCH_DIR)/misc.c \
+	$(MSIM_DIST)/src/$(MSIM_HELENOS_ARCH_DIR)/input.c
+
+MSIM_EXTRA_SOURCES := $(addprefix $(MSIM_HELENOS_ARCH_DIR)/,$(MSIM_HELENOS_PLATFORM_FILES))
 
 CP = /bin/cp -f
@@ -63,8 +67,11 @@
 	$(CP) $< $@
 
-$(MSIM_DIST)/src/helenos.c: helenos.c | unpack-tarball
+$(MSIM_DIST)/src/$(MSIM_HELENOS_ARCH_DIR)/helenos.h: arch_helenos/helenos.h | unpack-tarball
 	$(CP) $< $@
 
-$(MSIM_DIST)/src/helenos_input.c: helenos_input.c | unpack-tarball
+$(MSIM_DIST)/src/$(MSIM_HELENOS_ARCH_DIR)/misc.c: arch_helenos/misc.c | unpack-tarball
+	$(CP) $< $@
+
+$(MSIM_DIST)/src/$(MSIM_HELENOS_ARCH_DIR)/input.c: arch_helenos/input.c | unpack-tarball
 	$(CP) $< $@
 
@@ -79,5 +86,5 @@
 	) | make -f - | grep 'SOURCES' >Makefile.sources
 	sed \
-		-e 's:io/input.c:$(MSIM_HELENOS_PLATFORM_FILES):' \
+		-e 's:io/input.c:$(MSIM_EXTRA_SOURCES):' \
 		-e 's:debug/gdb.c::' \
 		-e 's:arch/posix/stdin.c::' \
@@ -90,2 +97,3 @@
 unpack-tarball: $(MSIM_TARBALL)
 	tar xjf $(MSIM_TARBALL)
+	mkdir -p $(MSIM_DIST)/src/$(MSIM_HELENOS_ARCH_DIR)
