[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] x86: restrict keyboard io ports reservation to make ipmi driver work
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1216975349 -3600 # Node ID 6d9e4b02bba47b9bf4d62ac46a0d4f7827542b80 # Parent 57ccd252e855b3aa941efcd7c797bb38dccf50bf x86: restrict keyboard io ports reservation to make ipmi driver work Straightforward port of http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9096bd7a66efbe406910365c5206a32eed3875af Quoting its commit message: x86: restrict keyboard io ports reservation to make ipmi driver work On some of our (single board computer) boards (x86) we are using an IPMI controller that uses I/O ports 0x62 and 0x66 for a KCS (keyboard controller style) IPMI system interface. Trying to load the openipmi driver fails, because the ports (0x62/0x66) are reserved for keyboard. keyboard reserves the full range 0x60-0x6F while it doesn't need to. Reserve only ports 0x60 and 0x64 for the legacy PS/2 i8042 keyboad controller instead of 0x60-0x6F to allow the openipmi driver to work. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: H. Peter Anvin <hpa@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> --- arch/i386/kernel/setup-xen.c | 7 ++++++- arch/i386/kernel/setup.c | 7 ++++++- arch/x86_64/kernel/setup-xen.c | 4 +++- arch/x86_64/kernel/setup.c | 4 +++- 4 files changed, 18 insertions(+), 4 deletions(-) diff -r 57ccd252e855 -r 6d9e4b02bba4 arch/i386/kernel/setup-xen.c --- a/arch/i386/kernel/setup-xen.c Thu Jul 24 14:16:04 2008 +0100 +++ b/arch/i386/kernel/setup-xen.c Fri Jul 25 09:42:29 2008 +0100 @@ -283,7 +283,12 @@ static struct resource standard_io_resou }, { .name = "keyboard", .start = 0x0060, - .end = 0x006f, + .end = 0x0060, + .flags = IORESOURCE_BUSY | IORESOURCE_IO +}, { + .name = "keyboard", + .start = 0x0064, + .end = 0x0064, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, { .name = "dma page reg", diff -r 57ccd252e855 -r 6d9e4b02bba4 arch/i386/kernel/setup.c --- a/arch/i386/kernel/setup.c Thu Jul 24 14:16:04 2008 +0100 +++ b/arch/i386/kernel/setup.c Fri Jul 25 09:42:29 2008 +0100 @@ -261,7 +261,12 @@ static struct resource standard_io_resou }, { .name = "keyboard", .start = 0x0060, - .end = 0x006f, + .end = 0x0060, + .flags = IORESOURCE_BUSY | IORESOURCE_IO +}, { + .name = "keyboard", + .start = 0x0064, + .end = 0x0064, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, { .name = "dma page reg", diff -r 57ccd252e855 -r 6d9e4b02bba4 arch/x86_64/kernel/setup-xen.c --- a/arch/x86_64/kernel/setup-xen.c Thu Jul 24 14:16:04 2008 +0100 +++ b/arch/x86_64/kernel/setup-xen.c Fri Jul 25 09:42:29 2008 +0100 @@ -169,7 +169,9 @@ struct resource standard_io_resources[] .flags = IORESOURCE_BUSY | IORESOURCE_IO }, { .name = "timer1", .start = 0x50, .end = 0x53, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, - { .name = "keyboard", .start = 0x60, .end = 0x6f, + { .name = "keyboard", .start = 0x60, .end = 0x60, + .flags = IORESOURCE_BUSY | IORESOURCE_IO }, + { .name = "keyboard", .start = 0x64, .end = 0x64, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, { .name = "dma page reg", .start = 0x80, .end = 0x8f, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, diff -r 57ccd252e855 -r 6d9e4b02bba4 arch/x86_64/kernel/setup.c --- a/arch/x86_64/kernel/setup.c Thu Jul 24 14:16:04 2008 +0100 +++ b/arch/x86_64/kernel/setup.c Fri Jul 25 09:42:29 2008 +0100 @@ -122,7 +122,9 @@ struct resource standard_io_resources[] .flags = IORESOURCE_BUSY | IORESOURCE_IO }, { .name = "timer1", .start = 0x50, .end = 0x53, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, - { .name = "keyboard", .start = 0x60, .end = 0x6f, + { .name = "keyboard", .start = 0x60, .end = 0x60, + .flags = IORESOURCE_BUSY | IORESOURCE_IO }, + { .name = "keyboard", .start = 0x64, .end = 0x64, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, { .name = "dma page reg", .start = 0x80, .end = 0x8f, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |