public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Marcin Juszkiewicz" <marcin.juszkiewicz@linaro.org>
To: Yuquan Wang <wangyuquan1236@phytium.com.cn>, devel@edk2.groups.io
Subject: Re: [edk2-devel] [PATCH edk2-platforms v2 3/3] Platform/SbsaQemu: handle systems without GIC ITS
Date: Tue, 4 Jul 2023 09:36:11 +0200	[thread overview]
Message-ID: <e8a9812b-6c29-ec0d-223a-1551e04ce17c@linaro.org> (raw)
In-Reply-To: <13866.1688455240129052785@groups.io>

W dniu 4.07.2023 o 09:20, Yuquan Wang pisze:

> Sorry to disturb you but I would like to consult you a little question 
> about this patch because of my lack of engineering experience:
> 
> Q: It seems like that the third patch will delete Iort.aslc file and 
> moving the creation of IORT into SbsaQemuAcpiDxe driver, so the firmware 
> can dynamically create a suitable MADT & IORT ?

Yes.

> By the way, dose this means part of Shashi's code in the first patch 
> (add GIC ITS support) will be covered/removed?

This series is work in progress. Shashi wrote GIC ITS code over year ago 
but it was waiting for versioning of the platform.

His code works if QEMU has GIC ITS support built-in. But had address 
hardcoded.

I added export of GIC ITS address into DeviceTree exported by QEMU. Then 
TF-A exports it. EDK2 uses SMC call to get address from TF-A and 
initialize GIC ITS properly. I added code for it to Shashi's patch so it 
can be tested how it is supposed to work on platform with GIC ITS present.

Then I started working on getting EDK2 working on system where GIC ITS 
is not present (like QEMU 8.0.0 release). On such platform we cannot 
export ITS node in neither MADT nor IORT because there is no (virtual) 
hardware for it.

I lack skills to handle .aslc files so moved creation of tables to C 
code and added some checks so ITS nodes are created only when there is 
ITS hardware present.

QEMU HEAD (with GIC ITS) boots fine to Linux and complex PCI Express 
setups work (my test config has PCIe switch, PCIe-to-PCI bridge, PCIe 
root ports and extra PCIe root complex).

The problem is with QEMU 8.0.0 (no GIC ITS) where I get some kernel 
complaints about interrupts. And this is what I am working on right now.

https://github.com/hrw/fork-edk2-platforms/commits/submit/0628-its has 
my work-in-progress tree.

  reply	other threads:[~2023-07-04  7:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-29 16:41 [PATCH edk2-platforms v2 0/3] Platform/QemuSbsa: add GIC ITS Marcin Juszkiewicz
2023-06-29 16:41 ` [PATCH edk2-platforms v2 1/3] Platform/SbsaQemu: add GIC ITS support Marcin Juszkiewicz
2023-06-29 16:41 ` [PATCH edk2-platforms v2 2/3] Platform/QemuSbsa: add dynamic PcdSmmuBase Marcin Juszkiewicz
2023-06-29 16:41 ` [PATCH edk2-platforms v2 3/3] Platform/SbsaQemu: handle systems without GIC ITS Marcin Juszkiewicz
2023-07-04  7:20   ` [edk2-devel] " Yuquan Wang
2023-07-04  7:36     ` Marcin Juszkiewicz [this message]
2023-07-04  8:13       ` Yuquan Wang

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=e8a9812b-6c29-ec0d-223a-1551e04ce17c@linaro.org \
    --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