aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig.debug
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-30 07:30:05 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:30:05 -0500
commit6e7c402590b75b6b45138792445ee0f0315a8473 (patch)
tree94db814d496502932ab55acc560a728925f87540 /arch/x86/Kconfig.debug
parentb02aae9cf52956dfe1bec73f77f81a3d05d3902b (diff)
x86: various changes and cleanups to in_p/out_p delay details
various changes to the in_p/out_p delay details: - add the io_delay=none method - make each method selectable from the kernel config - simplify the delay code a bit by getting rid of an indirect function call - add the /proc/sys/kernel/io_delay_type sysctl - change 'io_delay=standard|alternate' to io_delay=0x80 and io_delay=0xed - make the io delay config not depend on CONFIG_DEBUG_KERNEL Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: "David P. Reed" <dpreed@reed.com>
Diffstat (limited to 'arch/x86/Kconfig.debug')
-rw-r--r--arch/x86/Kconfig.debug79
1 files changed, 72 insertions, 7 deletions
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 40aba670fb37..77eda46f97b8 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -112,13 +112,78 @@ config IOMMU_LEAK
112 Add a simple leak tracer to the IOMMU code. This is useful when you 112 Add a simple leak tracer to the IOMMU code. This is useful when you
113 are debugging a buggy device driver that leaks IOMMU mappings. 113 are debugging a buggy device driver that leaks IOMMU mappings.
114 114
115config UDELAY_IO_DELAY 115#
116 bool "Delay I/O through udelay instead of outb" 116# IO delay types:
117 depends on DEBUG_KERNEL 117#
118
119config IO_DELAY_TYPE_0X80
120 int
121 default "0"
122
123config IO_DELAY_TYPE_0XED
124 int
125 default "1"
126
127config IO_DELAY_TYPE_UDELAY
128 int
129 default "2"
130
131config IO_DELAY_TYPE_NONE
132 int
133 default "3"
134
135choice
136 prompt "IO delay type"
137 default IO_DELAY_0X80
138
139config IO_DELAY_0X80
140 bool "port 0x80 based port-IO delay [recommended]"
141 help
142 This is the traditional Linux IO delay used for in/out_p.
143 It is the most tested hence safest selection here.
144
145config IO_DELAY_0XED
146 bool "port 0xed based port-IO delay"
147 help
148 Use port 0xed as the IO delay. This frees up port 0x80 which is
149 often used as a hardware-debug port.
150
151config IO_DELAY_UDELAY
152 bool "udelay based port-IO delay"
153 help
154 Use udelay(2) as the IO delay method. This provides the delay
155 while not having any side-effect on the IO port space.
156
157config IO_DELAY_NONE
158 bool "no port-IO delay"
118 help 159 help
119 Make inb_p/outb_p use udelay() based delays by default. Please note 160 No port-IO delay. Will break on old boxes that require port-IO
120 that udelay() does not have the same bus-level side-effects that 161 delay for certain operations. Should work on most new machines.
121 the normal outb based delay does meaning this could cause drivers 162
122 to change behaviour and/or bugs to surface. 163endchoice
164
165if IO_DELAY_0X80
166config DEFAULT_IO_DELAY_TYPE
167 int
168 default IO_DELAY_TYPE_0X80
169endif
170
171if IO_DELAY_0XED
172config DEFAULT_IO_DELAY_TYPE
173 int
174 default IO_DELAY_TYPE_0XED
175endif
176
177if IO_DELAY_UDELAY
178config DEFAULT_IO_DELAY_TYPE
179 int
180 default IO_DELAY_TYPE_UDELAY
181endif
182
183if IO_DELAY_NONE
184config DEFAULT_IO_DELAY_TYPE
185 int
186 default IO_DELAY_TYPE_NONE
187endif
123 188
124endmenu 189endmenu