lkml.org 
[lkml]   [2005]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] Reserve only needed regions for PC timers on i386 and x86_64
Alan Cox wrote:

>On Llu, 2005-02-07 at 09:29, Charles-Edouard Ruault wrote:
>
>
>>- Why is the generic timer using this address ? isn't it reserving a too
>>wide portion of IO ports ? Should it be modified for this board ?
>>
>>
>
>It just reserved the entire chip space since way back when.
>
>
>
>>- If there's a good reason for the timer to request this address, is
>>there a clean way to share it with the timer ?
>>
>>
>
>Submit a small patch to Linus/Andrew to make the generic code only
>reserve the ports it should. It's just a historical oversight
>
>
>
Linus, Andrew,
As suggested by Alan, here's a small patch against kernel 2.4.29 to
split the IO addresses reserved for the PC timer into two regions
instead of a large one.
It mimics what has been done in kernel 2.6.
Instead of reserving 0x40 through 0x5f it reserves only what the two
timers need, i.e 0x40-0x43 and 0x50-0x53.
It patches both i386 and x86_64 architecture.

Please CC me in replies since i did not subscribe to the list.

--
Charles-Edouard Ruault
Idtect SA
115 rue Reaumur - 75002, Paris, France
Tel: +33-1-55-34-76-65
Fax: +33-1-55-34-76-75
Web: http://www.idtect.com

--- linux/arch/i386/kernel/setup.c.orig Fri Feb 18 18:46:55 2005
+++ linux/arch/i386/kernel/setup.c Mon Feb 21 11:19:45 2005
@@ -354,7 +354,8 @@
struct resource standard_io_resources[] = {
{ "dma1", 0x00, 0x1f, IORESOURCE_BUSY },
{ "pic1", 0x20, 0x3f, IORESOURCE_BUSY },
- { "timer", 0x40, 0x5f, IORESOURCE_BUSY },
+ { "timer0", 0x40, 0x43, IORESOURCE_BUSY },
+ { "timer1", 0x50, 0x53, IORESOURCE_BUSY },
{ "keyboard", 0x60, 0x6f, IORESOURCE_BUSY },
{ "dma page reg", 0x80, 0x8f, IORESOURCE_BUSY },
{ "pic2", 0xa0, 0xbf, IORESOURCE_BUSY },
--- linux/arch/x86_64/kernel/setup.c.orig Mon Feb 21 11:56:11 2005
+++ linux/arch/x86_64/kernel/setup.c Mon Feb 21 11:54:41 2005
@@ -93,7 +93,8 @@
struct resource standard_io_resources[] = {
{ "dma1", 0x00, 0x1f, IORESOURCE_BUSY },
{ "pic1", 0x20, 0x3f, IORESOURCE_BUSY },
- { "timer", 0x40, 0x5f, IORESOURCE_BUSY },
+ { "timer0", 0x40, 0x43, IORESOURCE_BUSY },
+ { "timer1", 0x50, 0x53, IORESOURCE_BUSY },
{ "keyboard", 0x60, 0x6f, IORESOURCE_BUSY },
{ "dma page reg", 0x80, 0x8f, IORESOURCE_BUSY },
{ "pic2", 0xa0, 0xbf, IORESOURCE_BUSY },
\
 
 \ /
  Last update: 2005-03-22 14:10    [from the cache]
©2003-2011 Jasper Spaans