public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] IsaBus driver's usage
@ 2020-05-28  7:58 Tiger Liu(BJ-RD)
  2020-05-28  8:27 ` Philippe Mathieu-Daudé
  2020-05-29  7:07 ` Nate DeSimone
  0 siblings, 2 replies; 5+ messages in thread
From: Tiger Liu(BJ-RD) @ 2020-05-28  7:58 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 323 bytes --]

Hi, expert:
I have a question about IsaBus driver.

There is a isa bus driver in MdeModulePkg\Bus\Isa\IsaBusDxe.
But i find nobody use it anymore.

Based on current edk2-platform samples, they just use SioDxe driver plus Ps2Keyboard driver, not use IsaBus driver anymore.

So when to use IsaBus driver?

Thanks

[-- Attachment #2: Type: text/html, Size: 367 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [edk2-devel] IsaBus driver's usage
  2020-05-28  7:58 [edk2-devel] IsaBus driver's usage Tiger Liu(BJ-RD)
@ 2020-05-28  8:27 ` Philippe Mathieu-Daudé
  2020-05-29 16:16   ` Agyeman, Prince
  2020-05-29  7:07 ` Nate DeSimone
  1 sibling, 1 reply; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-28  8:27 UTC (permalink / raw)
  To: devel, tigerliu, Agyeman Prince

+Agyeman Prince

On 5/28/20 9:58 AM, Tiger Liu(BJ-RD) wrote:
> Hi, expert:
> I have a question about IsaBus driver.
> 
> There is a isa bus driver in MdeModulePkg\Bus\Isa\IsaBusDxe.
> But i find nobody use it anymore.
> 
> Based on current edk2-platform samples, they just use SioDxe driver plus
> Ps2Keyboard driver, not use IsaBus driver anymore.
> 
> So when to use IsaBus driver?

The Intel Simics platform maybe?


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [edk2-devel] IsaBus driver's usage
  2020-05-28  7:58 [edk2-devel] IsaBus driver's usage Tiger Liu(BJ-RD)
  2020-05-28  8:27 ` Philippe Mathieu-Daudé
@ 2020-05-29  7:07 ` Nate DeSimone
  1 sibling, 0 replies; 5+ messages in thread
From: Nate DeSimone @ 2020-05-29  7:07 UTC (permalink / raw)
  To: devel@edk2.groups.io, tigerliu@zhaoxin.com

[-- Attachment #1: Type: text/plain, Size: 2673 bytes --]

Hi Tiger,

I believe you are assuming that IsaBusDxe and SioDxe do the same thing, that is not the case. These two drivers are actually very different they do very different things.

Consider a 15 year old PC. Most PC’s from that era had an ICH (the older terminology for PCH) with both parallel PCI and LPC controllers. A consequence of this design is legacy PCI supported subtractive decoding… which allowed OEMs to build systems with a PCI-to-ISA bridge device installed on the PCI bus… making it possible to build motherboards with ISA slots. This introduced one difficulty however, the LPC controller in the PCH is also a PCI-to-ISA bridge device, so you ended up having 2 PCI-to-ISA bridges in the system! Lets say your LPC bus has a Super I/O chip with a COM port, what happens if the user plugs a ISA serial card into an ISA slot? Does I/O port 0x3F8 get routed to the LPC controller or to the PCI controller? That is what IsaBusDxe is for, it arbitrates between multiple PCI-to-ISA bridges.

About 10 years ago, the parallel PCI bus was removed, however at the same time a “Subtractive Decode Agent” was added to the PCH that allowed a single PCIe root port to be designated as being capable of subtractive decode. This allowed OEMs to build systems with a PCIe-to-PCI bridge… connected to a PCI-to-ISA bridge and still technically build systems with ISA slots. Starting with Sky Lake however, the subtractive decode agent was removed, which finally broke compatibility with the 1981 IBM PC. After Sky Lake, there can only be one PCI-to-ISA bridge in the system, the LPC controller. So there hasn’t really been a need for the arbitration driver anymore.

SioDxe on the other hand is a generic Super I/O driver. Most new PCs today still have vestigial remnants of the Super I/O as part of their EC (embedded controller.) Specifically, most ECs support both the PS/2 and serial COM ports that were once part of Super I/O chips. Most ECs use PS/2 as the interface for the scan matrix keyboard on laptops. SioDxe provides the protocols that allow PciSioSerialDxe and Ps2KeyboardDxe to use these EC functions.

Thanks,
Nate

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Tiger Liu(BJ-RD)
Sent: Thursday, May 28, 2020 12:58 AM
To: devel@edk2.groups.io
Subject: [edk2-devel] IsaBus driver's usage

Hi, expert:
I have a question about IsaBus driver.

There is a isa bus driver in MdeModulePkg\Bus\Isa\IsaBusDxe.
But i find nobody use it anymore.

Based on current edk2-platform samples, they just use SioDxe driver plus Ps2Keyboard driver, not use IsaBus driver anymore.

So when to use IsaBus driver?

Thanks


[-- Attachment #2: Type: text/html, Size: 5808 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [edk2-devel] IsaBus driver's usage
  2020-05-28  8:27 ` Philippe Mathieu-Daudé
@ 2020-05-29 16:16   ` Agyeman, Prince
  0 siblings, 0 replies; 5+ messages in thread
From: Agyeman, Prince @ 2020-05-29 16:16 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, devel@edk2.groups.io,
	tigerliu@zhaoxin.com, Wu, Hao A, Ni, Ray

+ Ray and Hao who are the MdeModulePkg/Bus/ maintainers



-----Original Message-----
From: Philippe Mathieu-Daudé <philmd@redhat.com> 
Sent: Thursday, May 28, 2020 1:28 AM
To: devel@edk2.groups.io; tigerliu@zhaoxin.com; Agyeman, Prince <prince.agyeman@intel.com>
Subject: Re: [edk2-devel] IsaBus driver's usage

+Agyeman Prince

On 5/28/20 9:58 AM, Tiger Liu(BJ-RD) wrote:
> Hi, expert:
> I have a question about IsaBus driver.
> 
> There is a isa bus driver in MdeModulePkg\Bus\Isa\IsaBusDxe.
> But i find nobody use it anymore.
> 
> Based on current edk2-platform samples, they just use SioDxe driver 
> plus Ps2Keyboard driver, not use IsaBus driver anymore.
> 
> So when to use IsaBus driver?

The Intel Simics platform maybe?


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [edk2-devel] IsaBus driver's usage
@ 2020-06-08  7:19 Tiger Liu(BJ-RD)
  0 siblings, 0 replies; 5+ messages in thread
From: Tiger Liu(BJ-RD) @ 2020-06-08  7:19 UTC (permalink / raw)
  To: devel@edk2.groups.io, nathaniel.l.desimone@intel.com

[-- Attachment #1: Type: text/plain, Size: 3468 bytes --]

Hi Nate:
Got it.

Thanks
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Nate DeSimone
发送时间: 2020年5月29日 15:08
收件人: devel@edk2.groups.io; Tiger Liu(BJ-RD) <TigerLiu@zhaoxin.com>
主题: Re: [edk2-devel] IsaBus driver's usage

Hi Tiger,

I believe you are assuming that IsaBusDxe and SioDxe do the same thing, that is not the case. These two drivers are actually very different they do very different things.

Consider a 15 year old PC. Most PC’s from that era had an ICH (the older terminology for PCH) with both parallel PCI and LPC controllers. A consequence of this design is legacy PCI supported subtractive decoding… which allowed OEMs to build systems with a PCI-to-ISA bridge device installed on the PCI bus… making it possible to build motherboards with ISA slots. This introduced one difficulty however, the LPC controller in the PCH is also a PCI-to-ISA bridge device, so you ended up having 2 PCI-to-ISA bridges in the system! Lets say your LPC bus has a Super I/O chip with a COM port, what happens if the user plugs a ISA serial card into an ISA slot? Does I/O port 0x3F8 get routed to the LPC controller or to the PCI controller? That is what IsaBusDxe is for, it arbitrates between multiple PCI-to-ISA bridges.

About 10 years ago, the parallel PCI bus was removed, however at the same time a “Subtractive Decode Agent” was added to the PCH that allowed a single PCIe root port to be designated as being capable of subtractive decode. This allowed OEMs to build systems with a PCIe-to-PCI bridge… connected to a PCI-to-ISA bridge and still technically build systems with ISA slots. Starting with Sky Lake however, the subtractive decode agent was removed, which finally broke compatibility with the 1981 IBM PC. After Sky Lake, there can only be one PCI-to-ISA bridge in the system, the LPC controller. So there hasn’t really been a need for the arbitration driver anymore.

SioDxe on the other hand is a generic Super I/O driver. Most new PCs today still have vestigial remnants of the Super I/O as part of their EC (embedded controller.) Specifically, most ECs support both the PS/2 and serial COM ports that were once part of Super I/O chips. Most ECs use PS/2 as the interface for the scan matrix keyboard on laptops. SioDxe provides the protocols that allow PciSioSerialDxe and Ps2KeyboardDxe to use these EC functions.

Thanks,
Nate

From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Tiger Liu(BJ-RD)
Sent: Thursday, May 28, 2020 12:58 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Subject: [edk2-devel] IsaBus driver's usage

Hi, expert:
I have a question about IsaBus driver.

There is a isa bus driver in MdeModulePkg\Bus\Isa\IsaBusDxe.
But i find nobody use it anymore.

Based on current edk2-platform samples, they just use SioDxe driver plus Ps2Keyboard driver, not use IsaBus driver anymore.

So when to use IsaBus driver?

Thanks



保密声明:
本邮件含有保密或专有信息,仅供指定收件人使用。严禁对本邮件或其内容做任何未经授权的查阅、使用、复制或转发。
CONFIDENTIAL NOTE:
This email contains confidential or legally privileged information and is for the sole use of its intended recipient. Any unauthorized review, use, copying or forwarding of this email or the content of this email is strictly prohibited.

[-- Attachment #2: Type: text/html, Size: 9333 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-06-08  7:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-28  7:58 [edk2-devel] IsaBus driver's usage Tiger Liu(BJ-RD)
2020-05-28  8:27 ` Philippe Mathieu-Daudé
2020-05-29 16:16   ` Agyeman, Prince
2020-05-29  7:07 ` Nate DeSimone
  -- strict thread matches above, loose matches on Subject: below --
2020-06-08  7:19 Tiger Liu(BJ-RD)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox