Skip to contentSkip to conversation

mmio-debug

PATCH New J . A . Magallon 1 participant 1 message Feb 23, 2001

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mmio-debug

Hi,

This is a patch that makes the __io_virt_debug use conditional. It is mainly the patch submitted by Jeff Garzik but without the extra configs and a short text in Configure.help.
(plz check help for my english...)

============= patch-mmio-debug

diff -ruN linux-2.4.2-ac1/Documentation/Configure.help linux-2.4.2-ac1-mmio/Documentation/Configure.help
--- linux-2.4.2-ac1/Documentation/Configure.help Thu Feb 22 23:35:34 2001
+++ linux-2.4.2-ac1-mmio/Documentation/Configure.help Fri Feb 23 01:57:52
2001
@@ -15032,6 +15032,14 @@
better 32 MB RAM to avoid excessive linking time. This is only useful for kernel hackers. If unsure, say N.

+Memory mapped I/O debug support
+CONFIG_DEBUG_IOVIRT

+  If you say Y here, all the memory mapped input and output on
+  devices will go through a check to catch access to unmapped
+  ISA addresses, that can still be used by old drivers.
+  If you say N, I/O will be faster and kernel will be a bit smaller,
+  but no check will be done.

+
Magic System Request Key support
CONFIG_MAGIC_SYSRQ
If you say Y here, you will have some control over the system even
diff -ruN linux-2.4.2-ac1/arch/i386/config.in linux-2.4.2-ac1-mmio/arch/i386/config.in

arch/i386/config.in +1 -0
@@ -370,5 +370,6 @@
 comment 'Kernel hacking'
 
 #bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC
+bool 'Memory mapped I/O debugging' CONFIG_DEBUG_IOVIRT
 bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
 endmenu

diff -ruN linux-2.4.2-ac1/arch/i386/defconfig
linux-2.4.2-ac1-mmio/arch/i386/defconfig

arch/i386/defconfig +1 -0
@@ -721,4 +721,5 @@
 #
 # Kernel hacking
 #
+CONFIG_DEBUG_IOVIRT=y
 # CONFIG_MAGIC_SYSRQ is not set

diff -ruN linux-2.4.2-ac1/arch/i386/kernel/i386_ksyms.c linux-2.4.2-ac1-mmio/arch/i386/kernel/i386_ksyms.c
--- linux-2.4.2-ac1/arch/i386/kernel/i386_ksyms.c Thu Feb 22 23:35:34
2001
+++ linux-2.4.2-ac1-mmio/arch/i386/kernel/i386_ksyms.c Fri Feb 23
01:02:44 2001
@@ -60,7 +60,9 @@
EXPORT_SYMBOL(dump_extended_fpu); EXPORT_SYMBOL(__ioremap); EXPORT_SYMBOL(iounmap);
+#ifdef CONFIG_DEBUG_IOVIRT
EXPORT_SYMBOL(__io_virt_debug);
+#endif
EXPORT_SYMBOL(enable_irq); EXPORT_SYMBOL(disable_irq); EXPORT_SYMBOL(disable_irq_nosync);
diff -ruN linux-2.4.2-ac1/arch/i386/lib/Makefile linux-2.4.2-ac1-mmio/arch/i386/lib/Makefile

arch/i386/lib/Makefile +2 -1
@@ -8,10 +8,11 @@
 L_TARGET = lib.a
 
 obj-y = checksum.o old-checksum.o delay.o \
-	usercopy.o getuser.o putuser.o iodebug.o \
+	usercopy.o getuser.o putuser.o \
 	memcpy.o strstr.o
 
 obj-$(CONFIG_X86_USE_3DNOW) += mmx.o
 obj-$(CONFIG_HAVE_DEC_LOCK) += dec_and_lock.o
+obj-$(CONFIG_DEBUG_IOVIRT)  += iodebug.o
 
 include $(TOPDIR)/Rules.make

diff -ruN linux-2.4.2-ac1/include/asm-i386/io.h
linux-2.4.2-ac1-mmio/include/asm-i386/io.h

include/asm-i386/io.h +3 -1
@@ -1,6 +1,8 @@
 #ifndef _ASM_IO_H
 #define _ASM_IO_H
 
+#include <linux/config.h>
+
 /*
  * This file contains the definitions for the x86 IO instructions
  * inb/inw/inl/outb/outw/outl and the "string versions" of the same
@@ -111,7 +113,7 @@
  * Temporary debugging check to catch old code using
  * unmapped ISA addresses. Will be removed in 2.4.
  */
-#if 1
+#if CONFIG_DEBUG_IOVIRT
   extern void *__io_virt_debug(unsigned long x, const char *file, int line);
   extern unsigned long __io_phys_debug(unsigned long x, const char *file, int

line);
#define __io_virt(x) __io_virt_debug((unsigned long)(x), __FILE__, __LINE__)

Signature · 4 lines
J.A. Magallon                                                      $> cd pub
mailto:[email protected]                                          $> more beer

Linux werewolf 2.4.2 #1 SMP Thu Feb 22 11:40:37 CET 2001 i686