x86: move reserve_standard_io_resource to setup.c
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
f81be876ea
commit
ce97c40e28
@ -468,4 +468,36 @@ void __init reserve_crashkernel(void)
|
|||||||
void __init reserve_crashkernel(void)
|
void __init reserve_crashkernel(void)
|
||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
static struct resource standard_io_resources[] = {
|
||||||
|
{ .name = "dma1", .start = 0x00, .end = 0x1f,
|
||||||
|
.flags = IORESOURCE_BUSY | IORESOURCE_IO },
|
||||||
|
{ .name = "pic1", .start = 0x20, .end = 0x21,
|
||||||
|
.flags = IORESOURCE_BUSY | IORESOURCE_IO },
|
||||||
|
{ .name = "timer0", .start = 0x40, .end = 0x43,
|
||||||
|
.flags = IORESOURCE_BUSY | IORESOURCE_IO },
|
||||||
|
{ .name = "timer1", .start = 0x50, .end = 0x53,
|
||||||
|
.flags = IORESOURCE_BUSY | IORESOURCE_IO },
|
||||||
|
{ .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 },
|
||||||
|
{ .name = "pic2", .start = 0xa0, .end = 0xa1,
|
||||||
|
.flags = IORESOURCE_BUSY | IORESOURCE_IO },
|
||||||
|
{ .name = "dma2", .start = 0xc0, .end = 0xdf,
|
||||||
|
.flags = IORESOURCE_BUSY | IORESOURCE_IO },
|
||||||
|
{ .name = "fpu", .start = 0xf0, .end = 0xff,
|
||||||
|
.flags = IORESOURCE_BUSY | IORESOURCE_IO }
|
||||||
|
};
|
||||||
|
|
||||||
|
void __init reserve_standard_io_resources(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* request I/O space for devices used on all i[345]86 PCs */
|
||||||
|
for (i = 0; i < ARRAY_SIZE(standard_io_resources); i++)
|
||||||
|
request_resource(&ioport_resource, &standard_io_resources[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -108,58 +108,6 @@ static struct resource video_ram_resource = {
|
|||||||
.flags = IORESOURCE_BUSY | IORESOURCE_MEM
|
.flags = IORESOURCE_BUSY | IORESOURCE_MEM
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct resource standard_io_resources[] = { {
|
|
||||||
.name = "dma1",
|
|
||||||
.start = 0x0000,
|
|
||||||
.end = 0x001f,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "pic1",
|
|
||||||
.start = 0x0020,
|
|
||||||
.end = 0x0021,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "timer0",
|
|
||||||
.start = 0x0040,
|
|
||||||
.end = 0x0043,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "timer1",
|
|
||||||
.start = 0x0050,
|
|
||||||
.end = 0x0053,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "keyboard",
|
|
||||||
.start = 0x0060,
|
|
||||||
.end = 0x0060,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "keyboard",
|
|
||||||
.start = 0x0064,
|
|
||||||
.end = 0x0064,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "dma page reg",
|
|
||||||
.start = 0x0080,
|
|
||||||
.end = 0x008f,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "pic2",
|
|
||||||
.start = 0x00a0,
|
|
||||||
.end = 0x00a1,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "dma2",
|
|
||||||
.start = 0x00c0,
|
|
||||||
.end = 0x00df,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
}, {
|
|
||||||
.name = "fpu",
|
|
||||||
.start = 0x00f0,
|
|
||||||
.end = 0x00ff,
|
|
||||||
.flags = IORESOURCE_BUSY | IORESOURCE_IO
|
|
||||||
} };
|
|
||||||
|
|
||||||
/* cpu data as detected by the assembly code in head.S */
|
/* cpu data as detected by the assembly code in head.S */
|
||||||
struct cpuinfo_x86 new_cpu_data __cpuinitdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
|
struct cpuinfo_x86 new_cpu_data __cpuinitdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
|
||||||
/* common cpu data for all cpus */
|
/* common cpu data for all cpus */
|
||||||
@ -614,7 +562,6 @@ static void set_mca_bus(int x) { }
|
|||||||
*/
|
*/
|
||||||
void __init setup_arch(char **cmdline_p)
|
void __init setup_arch(char **cmdline_p)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
unsigned long max_low_pfn;
|
unsigned long max_low_pfn;
|
||||||
|
|
||||||
memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
|
memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
|
||||||
@ -824,9 +771,7 @@ void __init setup_arch(char **cmdline_p)
|
|||||||
e820_mark_nosave_regions(max_low_pfn);
|
e820_mark_nosave_regions(max_low_pfn);
|
||||||
|
|
||||||
request_resource(&iomem_resource, &video_ram_resource);
|
request_resource(&iomem_resource, &video_ram_resource);
|
||||||
/* request I/O space for devices used on all i[345]86 PCs */
|
reserve_standard_io_resources();
|
||||||
for (i = 0; i < ARRAY_SIZE(standard_io_resources); i++)
|
|
||||||
request_resource(&ioport_resource, &standard_io_resources[i]);
|
|
||||||
|
|
||||||
e820_setup_gap();
|
e820_setup_gap();
|
||||||
|
|
||||||
|
@ -38,6 +38,8 @@ void reserve_crashkernel(void);
|
|||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
#include <asm/bootparam.h>
|
#include <asm/bootparam.h>
|
||||||
|
|
||||||
|
void reserve_standard_io_resources(void);
|
||||||
|
|
||||||
#ifndef _SETUP
|
#ifndef _SETUP
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user