Wesley Shao wrote:
> The hard coding is done in i86pc/io/consplat.c, which is worse.
>
> The new code does not do physical path hard coding.

Ah, ok, didn't see that.  So +1 it is then. :-)

    -- Garrett
>
> Wes
>
> Garrett D'Amore wrote:
>> 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