ALPHA: support graphics on non-zero PCI domains
This code replaces earlier and incomplete handling of graphics on non-zero PCI domains (aka hoses or peer PCI buses). An option (CONFIG_VGA_HOSE) is set TRUE if configuring a GENERIC kernel, or a kernel for MARVEL, TITAN, or TSUNAMI machines, as these are the machines whose SRM consoles are capable of configuring and handling graphics options on non-zero hoses. All other machines have the option set FALSE. A routine, "find_console_vga_hose()", is used to find the graphics device which the machine's firmware believes is the console device, and it sets a global (pci_vga_hose) for later use in managing access to the device. This is called in "init_arch" on TITAN and TSUNAMI machines; MARVEL machines use a custom version of this routine because of extra complexity. A routine, "locate_and_init_vga()", is used to find the graphics device and set a global (pci_vga_hose) for later use in managing access to the device, in the case where "find_console_vga_hose" has failed. Various adjustments are made to the ioremap and ioportmap routines for detecting and translating "legacy" VGA register and memory references to the real PCI domain. [akpm@linux-foundation.org: don't statically init bss] [akpm@linux-foundation.org: build fix] Signed-off-by:Jay Estabrook <jay.estabrook@hp.com> Signed-off-by:
Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Richard Henderson <rth@twiddle.net> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
Showing
- arch/alpha/Kconfig 16 additions, 0 deletionsarch/alpha/Kconfig
- arch/alpha/kernel/console.c 48 additions, 22 deletionsarch/alpha/kernel/console.c
- arch/alpha/kernel/core_marvel.c 17 additions, 26 deletionsarch/alpha/kernel/core_marvel.c
- arch/alpha/kernel/core_titan.c 30 additions, 40 deletionsarch/alpha/kernel/core_titan.c
- arch/alpha/kernel/core_tsunami.c 24 additions, 0 deletionsarch/alpha/kernel/core_tsunami.c
- arch/alpha/kernel/proto.h 9 additions, 0 deletionsarch/alpha/kernel/proto.h
- arch/alpha/kernel/sys_dp264.c 10 additions, 1 deletionarch/alpha/kernel/sys_dp264.c
- arch/alpha/kernel/sys_marvel.c 1 addition, 3 deletionsarch/alpha/kernel/sys_marvel.c
- arch/alpha/kernel/sys_titan.c 0 additions, 2 deletionsarch/alpha/kernel/sys_titan.c
- include/asm-alpha/core_titan.h 1 addition, 6 deletionsinclude/asm-alpha/core_titan.h
- include/asm-alpha/core_tsunami.h 3 additions, 12 deletionsinclude/asm-alpha/core_tsunami.h
- include/asm-alpha/vga.h 31 additions, 0 deletionsinclude/asm-alpha/vga.h
Loading
Please register or sign in to comment