Index: arch/ia32/Makefile.inc
===================================================================
--- arch/ia32/Makefile.inc	(revision b07a8384c8bea740060aadf5554e0ec79727b3cc)
+++ arch/ia32/Makefile.inc	(revision bd2933a884ca94963959419756a26fac79a3b8ea)
@@ -41,5 +41,4 @@
 	src/arch/context.s \
 	src/arch/debug/panic.s \
-	src/arch/cpuid.s \
 	src/arch/delay.s \
 	src/arch/asm.S \
Index: arch/ia32/include/cpuid.h
===================================================================
--- arch/ia32/include/cpuid.h	(revision b07a8384c8bea740060aadf5554e0ec79727b3cc)
+++ arch/ia32/include/cpuid.h	(revision bd2933a884ca94963959419756a26fac79a3b8ea)
@@ -39,19 +39,43 @@
 } __attribute__ ((packed));
 
-extern int has_cpuid(void);
+static inline __u32 has_cpuid(void)
+{
+	__u32 val, ret;
+	
+	__asm__ volatile (
+		"pushf\n"               /* read flags */
+		"popl %0\n"
+		"movl %0, %1\n"
+		
+		"btcl $21, %1\n"        /* swap the ID bit */
+		
+		"pushl %1\n"            /* propagate the change into flags */
+		"popf\n"
+		"pushf\n"
+		"popl %1\n"
+		
+		"andl $(1 << 21), %0\n" /* interrested only in ID bit */
+		"andl $(1 << 21), %1\n"
+		"xorl %1, %0\n"
+		: "=r" (ret), "=r" (val)
+	);
+	
+	return ret;
+}
 
 static inline void cpuid(__u32 cmd, struct cpu_info *info)
 {
-        __asm__ volatile (
-                "movl %4, %%eax\n"
-                "cpuid\n"
-                "movl %%eax,%0\n"
-                "movl %%ebx,%1\n"
-                "movl %%ecx,%2\n"
-                "movl %%edx,%3\n"
-                : "=m" (info->cpuid_eax), "=m" (info->cpuid_ebx), "=m" (info->cpuid_ecx), "=m" (info->cpuid_edx)
-                : "m" (cmd)
-                : "eax", "ebx", "ecx", "edx"
-        );
+	__asm__ volatile (
+		"movl %4, %%eax\n"
+		"cpuid\n"
+		
+		"movl %%eax, %0\n"
+		"movl %%ebx, %1\n"
+		"movl %%ecx, %2\n"
+		"movl %%edx, %3\n"
+		: "=m" (info->cpuid_eax), "=m" (info->cpuid_ebx), "=m" (info->cpuid_ecx), "=m" (info->cpuid_edx)
+		: "m" (cmd)
+		: "eax", "ebx", "ecx", "edx"
+	);
 }
 
Index: ch/ia32/src/cpuid.s
===================================================================
--- arch/ia32/src/cpuid.s	(revision b07a8384c8bea740060aadf5554e0ec79727b3cc)
+++ 	(revision )
@@ -1,50 +1,0 @@
-#
-# Copyright (C) 2001-2004 Jakub Jermar
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-#   notice, this list of conditions and the following disclaimer.
-# - Redistributions in binary form must reproduce the above copyright
-#   notice, this list of conditions and the following disclaimer in the
-#   documentation and/or other materials provided with the distribution.
-# - The name of the author may not be used to endorse or promote products
-#   derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-.text
-
-.global has_cpuid
-
-
-## Determine CPUID support
-#
-# Return 0 in EAX if CPUID is not supported, 1 if supported.
-#
-has_cpuid:
-	pushf			# store flags
-	popl %eax		# read flags
-	movl %eax,%edx		# copy flags
-	btcl $21,%edx		# swap the ID bit
-	pushl %edx
-	popf			# propagate the change into flags
-	pushf
-	popl %edx		# read flags	
-	andl $(1<<21),%eax	# interested only in ID bit
-	andl $(1<<21),%edx
-	xorl %edx,%eax		# 0 if not supported, 1 if supported
-	ret
Index: contrib/conf/dot.bochsrc
===================================================================
--- contrib/conf/dot.bochsrc	(revision b07a8384c8bea740060aadf5554e0ec79727b3cc)
+++ contrib/conf/dot.bochsrc	(revision bd2933a884ca94963959419756a26fac79a3b8ea)
@@ -131,5 +131,5 @@
 # supported on Windows 95 and 98.
 #=======================================================================
-floppya: 1_44=SPARTAN/image.bin, status=inserted
+floppya: 1_44=image.bin, status=inserted
 #floppya: 1_44=/dev/fd0, status=inserted
 
