From sacadmin Thu Jan 29 09:30:31 2009
Received: from tethys.sfbay.sun.com (tethys.SFBay.Sun.COM [129.146.226.92])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n0THUUmD024688;
	Thu, 29 Jan 2009 09:30:30 -0800 (PST)
Received: from tethys.sfbay.sun.com (localhost [127.0.0.1])
	by tethys.sfbay.sun.com (8.14.3+Sun/8.14.3) with ESMTP id n0THP94J000091;
	Thu, 29 Jan 2009 09:25:10 -0800 (PST)
Received: (from jg@localhost)
	by tethys.sfbay.sun.com (8.14.3+Sun/8.14.3/Submit) id n0THP9ha000087;
	Thu, 29 Jan 2009 09:25:09 -0800 (PST)
Date: Thu, 29 Jan 2009 09:25:09 -0800 (PST)
From: Jerry Gilliam <jg@tethys.sfbay.sun.com>
Message-Id: <200901291725.n0THP9ha000087@tethys.sfbay.sun.com>
To: PSARC-record@sac.sfbay.sun.com
Subject: Removal of ISA Pseudo Node [PSARC/2009/056 FastTrack timeout 02/05/2009]
Status: RO
Content-Length: 553


Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 Removal of ISA Pseudo Node
    1.2. Name of Document Author/Supplier:
	 Author:  Judy Chen
    1.3  Date of This Document:
	29 January, 2009
4. Technical Description
    See the case directory for more detail

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


From jg@jurassic.sfbay.Sun.COM Thu Jan 29 09:42:31 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n0THgUDe025048
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 29 Jan 2009 09:42:30 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n0THgR1t056759;
	Thu, 29 Jan 2009 10:42:28 -0700 (MST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KE800J13UISTH00@nwk-avmta-2.sfbay.sun.com>; Thu,
 29 Jan 2009 09:42:28 -0800 (PST)
Received: from jurassic.eng.sun.com ([129.146.228.50])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KE800H1YUIRZZ30@nwk-avmta-2.sfbay.sun.com>; Thu,
 29 Jan 2009 09:42:27 -0800 (PST)
Received: from tethys (tethys.SFBay.Sun.COM [129.146.226.92])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with SMTP id n0THgRs6134601; Thu,
 29 Jan 2009 09:42:27 -0800 (PST)
Date: Thu, 29 Jan 2009 09:37:07 -0800 (PST)
From: Jerry Gilliam <jg@jurassic.sfbay.Sun.COM>
Subject: Removal of ISA Pseudo Node [PSARC/2009/056 02/05/2009]
To: PSARC-ext@sun.com
Cc: Judy.Chen@sun.com, Wesley.Shao@sun.com, pci-core@sun.com
Reply-to: Jerry Gilliam <jg@jurassic.sfbay.Sun.COM>
Message-id: <200901291742.n0THgRs6134601@jurassic.eng.sun.com>
MIME-version: 1.0
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_98 SunOS 5.11 sun4u sparc
Content-type: TEXT/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-MD5: /ZVeD9hrYQGUGgDbW7rSBw==
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 4083



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@1,60/keyboard@0" with
	   the actual one "/pci@0,0/isa@1f/i8042@1,60/keyboard@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


From gdamore@sun.com Thu Jan 29 10:54:37 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n0TIsboj026832
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 29 Jan 2009 10:54:37 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n0TIsa6g035293;
	Thu, 29 Jan 2009 11:54:36 -0700 (MST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KE800L1RXV0XL00@brm-avmta-1.central.sun.com>; Thu,
 29 Jan 2009 11:54:36 -0700 (MST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KE800AOOXUZM5D0@brm-avmta-1.central.sun.com>; Thu,
 29 Jan 2009 11:54:35 -0700 (MST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n0TIsZQ8014005;
 Thu, 29 Jan 2009 10:54:35 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0KE800201V0YKL00@fe-sfbay-10.sun.com> (original mail from gdamore@sun.com)
 ; Thu, 29 Jan 2009 10:54:35 -0800 (PST)
Received: from [192.168.251.11] ([76.93.15.33])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0KE800L5LXUPKAA0@fe-sfbay-10.sun.com>; Thu,
 29 Jan 2009 10:54:25 -0800 (PST)
Date: Thu, 29 Jan 2009 10:54:24 -0800
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: Removal of ISA Pseudo Node [PSARC/2009/056 02/05/2009]
In-reply-to: <200901291742.n0THgRs6134601@jurassic.eng.sun.com>
Sender: Garrett.Damore@sun.com
To: Jerry Gilliam <jg@jurassic.sfbay.Sun.COM>
Cc: PSARC-ext@sun.com, Judy.Chen@sun.com, Wesley.Shao@sun.com,
        pci-core@sun.com
Message-id: <4981FB60.5090908@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200901291742.n0THgRs6134601@jurassic.eng.sun.com>
User-Agent: Thunderbird 2.0.0.18 (X11/20081201)
Status: RO
Content-Length: 5470

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@1,60/keyboard@0" with
	   the actual one "/pci@0,0/isa@1f/i8042@1,60/keyboard@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@1,60/keyboard@0" with
> 	   the actual one "/pci@0,0/isa@1f/i8042@1,60/keyboard@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
>
>   


From Wesley.Shao@sun.com Thu Jan 29 11:53:36 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n0TJrZwS029208
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 29 Jan 2009 11:53:36 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n0TJrYfL008328;
	Thu, 29 Jan 2009 12:53:35 -0700 (MST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KE9004070LAXR00@brm-avmta-1.central.sun.com>; Thu,
 29 Jan 2009 12:53:34 -0700 (MST)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KE9000570L9SS30@brm-avmta-1.central.sun.com>; Thu,
 29 Jan 2009 12:53:33 -0700 (MST)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n0TJrWBi018622;
 Thu, 29 Jan 2009 11:53:32 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0KE900D01051I800@fe-sfbay-09.sun.com>
 (original mail from Wesley.Shao@Sun.COM); Thu, 29 Jan 2009 11:53:32 -0800 (PST)
Received: from [129.146.96.108] by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0KE900I2M0L0XT40@fe-sfbay-09.sun.com>; Thu,
 29 Jan 2009 11:53:24 -0800 (PST)
Date: Thu, 29 Jan 2009 11:53:07 -0800
From: Wesley Shao <Wesley.Shao@sun.com>
Subject: Re: Removal of ISA Pseudo Node [PSARC/2009/056 02/05/2009]
In-reply-to: <4981FB60.5090908@sun.com>
Sender: Wesley.Shao@sun.com
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: Jerry Gilliam <jg@jurassic.sfbay.Sun.COM>, PSARC-ext@sun.com,
        Judy.Chen@sun.com, pci-core@sun.com
Message-id: <49820923.6090203@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200901291742.n0THgRs6134601@jurassic.eng.sun.com>
 <4981FB60.5090908@sun.com>
User-Agent: Thunderbird 2.0.0.20pre (X11/20090101)
Status: RO
Content-Length: 5954

The hard coding is done in i86pc/io/consplat.c, which is worse.

The new code does not do physical path hard coding.

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@1,60/keyboard@0" with
>        the actual one "/pci@0,0/isa@1f/i8042@1,60/keyboard@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@1,60/keyboard@0" with
>>        the actual one "/pci@0,0/isa@1f/i8042@1,60/keyboard@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
>>
>>   
>

From gdamore@sun.com Thu Jan 29 12:13:36 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n0TKDZMl018166
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 29 Jan 2009 12:13:36 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n0TKDZlS016168;
	Thu, 29 Jan 2009 13:13:35 -0700 (MST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KE9005091INJQ00@nwk-avmta-2.sfbay.sun.com>; Thu,
 29 Jan 2009 12:13:35 -0800 (PST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KE900HDP1INZZF0@nwk-avmta-2.sfbay.sun.com>; Thu,
 29 Jan 2009 12:13:35 -0800 (PST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n0TKDZXt024283;
 Thu, 29 Jan 2009 12:13:35 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0KE900M011DNGU00@fe-sfbay-10.sun.com> (original mail from gdamore@sun.com)
 ; Thu, 29 Jan 2009 12:13:35 -0800 (PST)
Received: from [192.168.251.11] ([76.93.15.33])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0KE900MJ21IBTSE0@fe-sfbay-10.sun.com>; Thu,
 29 Jan 2009 12:13:23 -0800 (PST)
Date: Thu, 29 Jan 2009 12:13:22 -0800
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: Removal of ISA Pseudo Node [PSARC/2009/056 02/05/2009]
In-reply-to: <49820923.6090203@sun.com>
Sender: Garrett.Damore@sun.com
To: Wesley Shao <Wesley.Shao@sun.com>
Cc: Jerry Gilliam <jg@jurassic.sfbay.Sun.COM>, PSARC-ext@sun.com,
        Judy.Chen@sun.com, pci-core@sun.com
Message-id: <49820DE2.1060203@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200901291742.n0THgRs6134601@jurassic.eng.sun.com>
 <4981FB60.5090908@sun.com> <49820923.6090203@sun.com>
User-Agent: Thunderbird 2.0.0.18 (X11/20081201)
Status: RO
Content-Length: 6215

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@1,60/keyboard@0" with
>>        the actual one "/pci@0,0/isa@1f/i8042@1,60/keyboard@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@1,60/keyboard@0" with
>>>        the actual one "/pci@0,0/isa@1f/i8042@1,60/keyboard@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
>>>
>>>   
>>


From jg@jurassic.sfbay.Sun.COM Mon Feb  9 18:33:27 2009
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n1A2XR76003271
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 9 Feb 2009 18:33:27 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n1A2XKVC021155;
	Mon, 9 Feb 2009 18:33:24 -0800 (PST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KET0081DWFODI00@brm-avmta-1.central.sun.com>; Mon,
 09 Feb 2009 19:33:24 -0700 (MST)
Received: from jurassic.eng.sun.com ([129.146.228.50])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KET00472WFO4MF0@brm-avmta-1.central.sun.com>; Mon,
 09 Feb 2009 19:33:24 -0700 (MST)
Received: from tethys (tethys.SFBay.Sun.COM [129.146.226.92])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with SMTP id n1A2XNmC470798; Mon,
 09 Feb 2009 18:33:23 -0800 (PST)
Date: Mon, 09 Feb 2009 18:27:58 -0800 (PST)
From: Jerry Gilliam <jg@jurassic.sfbay.Sun.COM>
Subject: Re: Removal of ISA Pseudo Node [PSARC/2009/056 02/05/2009]
To: Judy.Chen@sun.com, Wesley.Shao@sun.com, pci-core@sun.com
Cc: PSARC-ext@sun.com
Reply-to: Jerry Gilliam <jg@jurassic.sfbay.Sun.COM>
Message-id: <200902100233.n1A2XNmC470798@jurassic.eng.sun.com>
MIME-version: 1.0
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_98 SunOS 5.11 sun4u sparc
Content-type: TEXT/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-MD5: Qp8OLnlFnglyIDe0oFQ/eA==
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 104


The timer on this fast-track has expired with no further
comment, so this case is now approved.


-jg


