public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Andrew Fish" <afish@apple.com>
To: edk2-devel-groups-io <devel@edk2.groups.io>,
	Mike Kinney <michael.d.kinney@intel.com>
Cc: Michael Brown <mcb30@ipxe.org>,
	"Loh, Tien Hock" <tien.hock.loh@intel.com>,
	"thloh85@gmail.com" <thloh85@gmail.com>,
	Leif Lindholm <leif@nuviainc.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>
Subject: Re: [edk2-devel] [PATCH V5 1/1] EmbeddedPkg: DwMmcHcDxe: Add support for Designware SDMMC driver
Date: Tue, 27 Apr 2021 17:52:27 -0700	[thread overview]
Message-ID: <E67625B1-F814-47AF-8AB8-DE1023A1DE79@apple.com> (raw)
In-Reply-To: <CO1PR11MB4929B85143B82A9E5B2BD908D2409@CO1PR11MB4929.namprd11.prod.outlook.com>

Also remember we were working on Itanic (Itanium) so we were thinking this had to scale to mainframe and super computer. 

We also tried to undo the PC 1980 hardware assumptions that were factored into PC BIOS. We might have tended too over abstract a little. We targeted binary compatibility, so its not like we can cheat if we get the abstraction wrong and just add a bunch of #ifdef architecture X to the code like some monolithic OS codebase. 

Thanks,

Andrew Fish

> On Apr 27, 2021, at 5:06 PM, Michael D Kinney <michael.d.kinney@intel.com> wrote:
> 
> Michael,
> 
> Another feature the current design supports is PCI rebalancing.  Meaning the PCI resource assignment can change 
> during the boot.  The PCI Bus Driver does not support doing a rebalance today, but the PCI I/O Protocol was
> designed so the UEFI Driver that consumes the PCI I/O Protocol never needs to know the current resource 
> assignments.
> 
> Mike
> 
>> -----Original Message-----
>> From: Andrew Fish <afish@apple.com>
>> Sent: Tuesday, April 27, 2021 4:46 PM
>> To: Michael Brown <mcb30@ipxe.org>
>> Cc: edk2-devel-groups-io <devel@edk2.groups.io>; Loh, Tien Hock <tien.hock.loh@intel.com>; Kinney, Michael D
>> <michael.d.kinney@intel.com>; thloh85@gmail.com; Leif Lindholm <leif@nuviainc.com>; Ard Biesheuvel
>> <ardb+tianocore@kernel.org>
>> Subject: Re: [edk2-devel] [PATCH V5 1/1] EmbeddedPkg: DwMmcHcDxe: Add support for Designware SDMMC driver
>> 
>> 
>> 
>>> On Apr 27, 2021, at 2:40 PM, Michael Brown <mcb30@ipxe.org> wrote:
>>> 
>>> On 27/04/2021 18:31, Andrew Fish via groups.io wrote:
>>>> One trick people have pulled in the past is to write a driver that produces a “fake” PCI IO Protocol. The “fake” PCI IO
>> driver abstracts how the MMIO device shows up on the platform. This works well if the MMIO device is really the same IP
>> block as a PCI device. This usually maps to the PCI BAR being the same thing as the magic MMIO range. The “fake” PCI IO
>> Protocol also abstracts platform specific DMA rules from the generic driver.
>>> 
>>> Slightly off-topic, but I've always been curious about this: given that the entire purpose of PCI BARs is to allow for
>> the use of straightforward MMIO operations, in which standard CPU read/write instructions can be used to access device
>> registers with zero overhead and no possible error conditions, why do the EFI_PCI_IO_PROTOCOL.Mem.Read (and related)
>> abstractions exist?  They seem to add a lot of complexity for negative benefit, and I'd be interested to know if there was
>> some reason why the design was chosen.
>>> 
>> 
>> Michael,
>> 
>> Assuming physical address == non-catchable memory region is not always true. For example on Itainium you had to flip bit
>> 63 in physical mode to do a non-cached transaction. There are also some high end servers that have different physical
>> address ranges for PCI v.s DRAM.
>> 
>> Basically we were paranoid about portability. That and we really don’t want #ifdef in the code for different
>> architectures.
>> 
>> Thanks,
>> 
>> Andrew Fish
>> 
>>> Thanks,
>>> 
>>> Michael
> 
> 
> 
> 
> 
> 


      reply	other threads:[~2021-04-28  0:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20210322032439.9312-1-tien.hock.loh@intel.com>
2021-03-22  3:24 ` [PATCH V5 1/1] EmbeddedPkg: DwMmcHcDxe: Add support for Designware SDMMC driver Loh, Tien Hock
2021-03-30  4:36   ` Loh, Tien Hock
2021-04-16  5:34     ` Loh, Tien Hock
2021-04-26 17:53   ` Michael D Kinney
2021-04-27  9:08     ` Loh, Tien Hock
2021-04-27 10:27       ` Loh, Tien Hock
2021-04-27 17:31       ` [edk2-devel] " Andrew Fish
2021-04-27 19:31         ` Michael D Kinney
2021-04-28 13:03           ` Ard Biesheuvel
2021-04-28 14:58             ` Andrew Fish
2021-04-29  0:33               ` Loh, Tien Hock
2021-04-27 21:40         ` Michael Brown
2021-04-27 23:45           ` Andrew Fish
2021-04-28  0:06             ` Michael D Kinney
2021-04-28  0:52               ` Andrew Fish [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E67625B1-F814-47AF-8AB8-DE1023A1DE79@apple.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox