Re: [PATCH] x86: Reserve legacy VGA MMIO area for x86_64 as well as x86_32

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Yinghai
Date: Friday, April 9, 2010 - 12:55 pm

update version for test

Subject: [PATCH] x86: reserve [0xa0000, 0x100000] in e820

Update e820 at first, and later put them resource tree.
But give pci BAR chance to claim the range, before assign unassigned resources.

In case some system doesn't have VGA, and use [0xa0000, ..] for mmio of some
other pci devices.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: Andy Isaacson <adi@hexapodia.org>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>

---
 arch/x86/include/asm/setup.h |    1 -
 arch/x86/kernel/e820.c       |    2 +-
 arch/x86/kernel/head32.c     |    1 -
 arch/x86/kernel/setup.c      |   19 +------------------
 4 files changed, 2 insertions(+), 21 deletions(-)

Index: linux-2.6/arch/x86/include/asm/setup.h
===================================================================
--- linux-2.6.orig/arch/x86/include/asm/setup.h
+++ linux-2.6/arch/x86/include/asm/setup.h
@@ -44,7 +44,6 @@ static inline void visws_early_detect(vo
 extern unsigned long saved_video_mode;
 
 extern void reserve_standard_io_resources(void);
-extern void i386_reserve_resources(void);
 extern void setup_default_timer_irq(void);
 
 #ifdef CONFIG_X86_MRST
Index: linux-2.6/arch/x86/kernel/e820.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/e820.c
+++ linux-2.6/arch/x86/kernel/e820.c
@@ -1094,7 +1094,7 @@ void __init e820_reserve_resources(void)
 		 * pci device BAR resource and insert them later in
 		 * pcibios_resource_survey()
 		 */
-		if (e820.map[i].type != E820_RESERVED || res->start < (1ULL<<20)) {
+		if (e820.map[i].type != E820_RESERVED) {
 			res->flags |= IORESOURCE_BUSY;
 			insert_resource(&iomem_resource, res);
 		}
Index: linux-2.6/arch/x86/kernel/head32.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/head32.c
+++ linux-2.6/arch/x86/kernel/head32.c
@@ -22,7 +22,6 @@ static void __init i386_default_early_se
 {
 	/* Initilize 32bit specific setup functions */
 	x86_init.resources.probe_roms = probe_roms;
-	x86_init.resources.reserve_resources = i386_reserve_resources;
 	x86_init.mpparse.setup_ioapic_ids = setup_ioapic_ids_from_mpc;
 
 	reserve_ebda_region();
Index: linux-2.6/arch/x86/kernel/setup.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/setup.c
+++ linux-2.6/arch/x86/kernel/setup.c
@@ -693,7 +693,7 @@ static void __init trim_bios_range(void)
 	 * area (640->1Mb) as ram even though it is not.
 	 * take them out.
 	 */
-	e820_remove_range(BIOS_BEGIN, BIOS_END - BIOS_BEGIN, E820_RAM, 1);
+	e820_add_region(BIOS_BEGIN, BIOS_END - BIOS_BEGIN, E820_RESERVED);
 	sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map);
 }
 
@@ -1052,20 +1052,3 @@ void __init setup_arch(char **cmdline_p)
 
 	mcheck_init();
 }
-
-#ifdef CONFIG_X86_32
-
-static struct resource video_ram_resource = {
-	.name	= "Video RAM area",
-	.start	= 0xa0000,
-	.end	= 0xbffff,
-	.flags	= IORESOURCE_BUSY | IORESOURCE_MEM
-};
-
-void __init i386_reserve_resources(void)
-{
-	request_resource(&iomem_resource, &video_ram_resource);
-	reserve_standard_io_resources();
-}
-
-#endif /* CONFIG_X86_32 */
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH] x86: Reserve legacy VGA MMIO area for x86_64 a ..., Yinghai, (Fri Apr 9, 12:55 pm)
Re: [PATCH] x86: Reserve legacy VGA MMIO area for x86_64 a ..., yinghai.lu@oracle.com, (Mon Apr 12, 12:55 pm)
[PATCH 3/3] x86,pci,acpi: Handle invalid _CRS, Yinghai, (Tue Apr 20, 10:35 pm)
Re: [PATCH 3/3] x86,pci,acpi: Handle invalid _CRS, Bjorn Helgaas, (Wed Apr 21, 8:21 am)
Re: [PATCH 3/3] x86,pci,acpi: Handle invalid _CRS, Yinghai Lu, (Wed Apr 21, 9:45 am)
Re: [PATCH 3/3] x86,pci,acpi: Handle invalid _CRS, Bjorn Helgaas, (Wed Apr 21, 9:59 am)
Re: [PATCH 3/3] x86,pci,acpi: Handle invalid _CRS, H. Peter Anvin, (Wed Apr 21, 3:33 pm)
Re: [PATCH 3/3] x86,pci,acpi: Handle invalid _CRS, Bjorn Helgaas, (Wed Apr 21, 4:04 pm)
Re: [PATCH 3/3] x86,pci,acpi: Handle invalid _CRS, H. Peter Anvin, (Wed Apr 21, 4:10 pm)
Re: [PATCH 3/3] x86,pci,acpi: Handle invalid _CRS, H. Peter Anvin, (Wed Apr 21, 5:02 pm)
[PATCH -v5] reserve a0000 - 0x10000, Yinghai, (Mon Apr 26, 3:04 pm)
[PATCH -v5 2/3] x86: Remove probe_roms for 32bit, Yinghai, (Mon Apr 26, 3:04 pm)