In general, I like this project and would give it a +1.  I have only one 
concern:

         o Remove hard coded device path of legacy input/output devices
           from consconfig_dacf module. For example, replace the hard coded
           device path of legacy keyboard "/isa/i8042 at 1,60/keyboard at 0" 
with
           the actual one "/pci at 0,0/isa at 1f/i8042 at 1,60/keyboard at 0".


I'm confused, where does this path exist?  On my particular system, the 
only references I see to i8042 devices in /etc/dacf.conf are:

# Devices directly supporting the keyboard API need no device-specific 
module,
# but do need to be linked to the console stream.
#
driver-minorname="mouse8042:internal_mouse" consconfig_dacf:ms_config 
post-attach - pushmod="vuid3ps2"
driver-minorname="mouse8042:internal_mouse" consconfig_dacf:ms_config 
pre-detach - pushmod="vuid3ps2"


If I'm reading this properly, it triggers based on minor node name, and 
not on physical path. 

I would be cautious about hardcoding any physical paths anywhere -- 
you'd have to be 100% certain that the physical path was guaranteed to 
always be the same.

If you don't hard code the physical path, then I'll grant a +1.

    -- Garrett

Jerry Gilliam wrote:
> I am sponsoring the following case on behalf of Judy Chen and
> Wesley Shao as a fast-track, with timeout February 5, 2009.
> The project desires micro/patch binding.
>
>
>
> 1. Introduction
>    1.1. Project/Component Working Name:
>         Remove /isa pseudo node for x86
>    1.2. Name of Document Author/Supplier:
>         Judy Chen
>    1.3. Date of This Document:
>       13 November, 2008
>
> 4. Technical Description
>
>    4.1. Background
>
>       The current Solaris x86 OS hard codes all ISA (non-self identi-
>       fying) devices under /isa pseudo node. It has the following
>       deficiencies:
>
>       o It does not reflect the actual hardware topology.
>
>       o It does not allow ISA devices that are capable of bus mastering
>         (including 1st-party and 3rd-party DMA) to work correctly on
>         virtualization platforms. To be exact, the Intel VT-d technology
>         provides DMA remapping hardware that requires ISA DMA devices'
>         PCI ID (bus, device, and function numbers) to be provided at
>         DMA mapping request time. Since ISA device's parent is directly
>         under root, such PCI ID cannot be determined by the DMA
>         implementation code. The previous Intel IOMMU project
>         (PSARC/2008/560) worked around this by doing handshakes via global    
>         variables. 3rd parties, in this case Intel, won't be able to
>         provide a DDI compliant device driver. The bus mastering capable
>         ISA devices that are supported by Solaris include:
>             ecpp(7D): parallel port
>             fdc(7D) : floppy disk controller
>             pcn(7D) : AMD PCnet-ISA ethernet controller
>
>         o The Resource Allocator (RA), part of the current DDI Hotplug
>         Framework project (PSARC/2008/181), needs to maintain certain
>         PCI/ISA resources (memory/IO address space) consistently. While
>         ISA devices are not under pci/isa hardware node, RA project
>         would have to provide a separate set of code and interface to
>         manage this disparity.
>
>    4.2. Proposal
>
>          This project proposes to remove /isa pseudo node and move ISA
>        devices under LPC/ISA bridge on x86 platforms. The detailed changes
>        are listed as below.
>
>          o Remove /isa pseudo node. Attach isa driver with LPC/ISA bridge
>          and as a result, move ISA devices' nodes under pci/isa hardware
>          node.
>
>          o Add below properties to pci/isa node according to IEEE1275
>          standard.
>                "device_type", "ranges"
>
>          o Remove hard coded device path of legacy input/output devices
>          from consconfig_dacf module. For example, replace the hard coded
>          device path of legacy keyboard "/isa/i8042 at 1,60/keyboard at 0" 
> with
>          the actual one "/pci at 0,0/isa at 1f/i8042 at 1,60/keyboard at 0".
>   
>          o Remove the dependency to /used-resources from pci_autoconfig
>          module.
>
>          Currently, the pseudo node /used-resources is used to represent
>        ISA resources. The ISA resources include memory/IO address spaces,
>        interrupts and DMA channels. /used-resouces is created by ACPI
>        when ACPI enumerates ISA devices. It is used by two modules:
>
>          - pci_autoconfig: to setup memory/io address spaces available for
>          PCI bus.
>
>          - busra: to setup resource map for memory/io address spaces and
>          interrupts available for ISA bus.
>
>        This project will represent the ISA memory/IO address space with
>        standard "ranges" property of pci/isa hardware node. And leave
>        busra the consumer of /used-resources. Once the dependency between
>        busra and /used-resources is addressed by the DDI Hotplug Framework
>        project, /used-resources can then be removed for good.
>
>     4.3  Benefits
>
>       o A proper parent-child relationship permits allocation of the
>         ISA resources such as DMA and interrupts in the context of
>         the system's PCI resources.
>
>       o The current iommu implementation can be simplified.
>
>       o The ioapic interrupts can get a cleaner implementation
>          as it evolves to support more complex platforms.
>
>       o The hotplug framework can manage a hierarchical resource map.
>
>
> 6. Resources and Schedule
>
>    6.4. Steering Committee requested information
>         6.4.1. Consolidation C-team Name:  ON
>    6.5. ARC review type:  FastTrack
>    6.6. ARC Exposure:  Open
>
>   


Reply via email to