Subject: [RFC/PATCH 0/8] Overhaul of virt IRQ configuration. / Kill ppc64_interrupt_controller.

From: Michal Ostrowski <[email-masked]>
Date: Mon, 29 May 2006 16:41:02 -0400

The following set of patches is aimed at killing the
ppc64_interrupt_controller global variable, and similarly that various
global variables used to tweak the parameters of virtual IRQ re-mapping.
Instead each platform can use a single function to configure IRQ
re-mapping in "init_early()".

Platforms can choose the default configuration (which is to
say identity mappings of IRQ vectors 0..511) or specify their own
configuration:  an offset (for ISA vectors), the range that is to be
identity mapped and the range of vectors that may be arbitrarily
re-mapper.

This allows us to remove the special-casing based on
ppc64_interrupt_controller in virt_irq_create_mapping(). 

Subsequently most uses of ppc64_interrupt_controller are on
configuration paths where we can typically obtain comparable information
by alternate means.

In the end, only pSeries-specific code must be aware of the choice of
PIC and it will check to see if an MPIC has been initialized (and if
not, assume XICS). (Thus no platforms beyond pSeries are affected.)

This code has been tested on pSeries LPAR, G5, and Maple.  I'll be
re-testing it on a Power3 with MPIC shortly once a system for testing
becomes available again.

-- 
Michal Ostrowski <[email-masked]>