[IA64-SGI] pcdp: add PCDP pci interface support
Resend 2 with changes per Bjorn Helgaas comments. Changes from original: + Change globals to vga_console_iobase/vga_console_membase and make them unconditional. + Address style-related comments. Patch to extend the PCDP vga setup code to support PCI io/mem translations for the legacy vga ioport and ram spaces on architectures (e.g. altix) which need them. Summary of the changes: drivers/firmware/pcdp.c drivers/firmware/pcdp.h ----------------------- + add declaration for the spec-defined PCI interface struct (pcdp_if_pci) as well as support macros. + extend setup_vga_console() to know about pcdp_if_pci and add a couple of globals to hold the io and mem translation offsets if present. arch/ia64/kernel/setup.c ------------------------ + tweek early_console_setup() to allow multiple early console setup routines to be called. include/asm-ia64/vga.h ---------------------- + make VGA_MAP_MEM vga_console_membase aware Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
@@ -72,6 +72,8 @@ DEFINE_PER_CPU(unsigned long, ia64_phys_stacked_size_p8);
|
||||
unsigned long ia64_cycles_per_usec;
|
||||
struct ia64_boot_param *ia64_boot_param;
|
||||
struct screen_info screen_info;
|
||||
unsigned long vga_console_iobase;
|
||||
unsigned long vga_console_membase;
|
||||
|
||||
unsigned long ia64_max_cacheline_size;
|
||||
unsigned long ia64_iobase; /* virtual address for I/O accesses */
|
||||
@@ -273,23 +275,25 @@ io_port_init (void)
|
||||
static inline int __init
|
||||
early_console_setup (char *cmdline)
|
||||
{
|
||||
int earlycons = 0;
|
||||
|
||||
#ifdef CONFIG_SERIAL_SGI_L1_CONSOLE
|
||||
{
|
||||
extern int sn_serial_console_early_setup(void);
|
||||
if (!sn_serial_console_early_setup())
|
||||
return 0;
|
||||
earlycons++;
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_EFI_PCDP
|
||||
if (!efi_setup_pcdp_console(cmdline))
|
||||
return 0;
|
||||
earlycons++;
|
||||
#endif
|
||||
#ifdef CONFIG_SERIAL_8250_CONSOLE
|
||||
if (!early_serial_console_init(cmdline))
|
||||
return 0;
|
||||
earlycons++;
|
||||
#endif
|
||||
|
||||
return -1;
|
||||
return (earlycons) ? 0 : -1;
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
Reference in New Issue
Block a user