From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by mx.groups.io with SMTP id smtpd.web11.53602.1688456174894365950 for ; Tue, 04 Jul 2023 00:36:15 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@linaro.org header.s=google header.b=Yptdc4w2; spf=pass (domain: linaro.org, ip: 209.85.167.50, mailfrom: marcin.juszkiewicz@linaro.org) Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-4fb5bcb9a28so8132142e87.3 for ; Tue, 04 Jul 2023 00:36:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1688456173; x=1691048173; h=content-transfer-encoding:in-reply-to:organization:from :content-language:references:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=JLM2G3B3R7IACJINi3f/T3RNCGbp2VRuo8SLk0btC20=; b=Yptdc4w2pPj/yQMrIHfdcw6dhsMIc5HDkGTBrz5QUVfLHyROaA5rNvV/7xHxxfAEup GQjO5ABGDWFTjM16m1TTgX/qnddPXcc9MCkdXs5a/UV0TMKvb+0iSZ1vXri1/Zw671O3 mDz17Ez3B2qN7/wiX92n+/jDR6Sa1WCQETJWjZmevkUMIlQGYBXIjoWhXpUeeb3j4lJB iBoj+C2f3x+lr7ZFcHfFEcz0DuRH/r0x5f8Legpb+Qf0z6AK1Duf/Bo2HywZxzsg0Q0A 5S10XRBFtskStDXzjA1O6+F7igDr6hD9RNSJjcGWHA9aN8PCwNYyj2DKLWih0cHYuQsC TAYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688456173; x=1691048173; h=content-transfer-encoding:in-reply-to:organization:from :content-language:references:to:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JLM2G3B3R7IACJINi3f/T3RNCGbp2VRuo8SLk0btC20=; b=EBP9f5k3nQiHBhChkqbrkb5ju8ch/22Ff2eljjNumyIHK0ub+l31/rC/WpU9qYgHx0 sQ1MNvLPqK/McTfb9sqGi8HWM6pZnfC+0mE6JMfCtfUCKEsnQ+HeboaU9gdE4SBT7zIW oVccnXnEDgxwYDJnDDEXv2np9h5pXSpce+qW6OxqrJmskn8Pq1iL7KHiw4zO+PLd8jh+ 3GeZpkY1tYcF+pD45Qtt9Y28mRYDfXyE1W9bp2VRFNW2ZUB1WSUfYKWckebWsd8baSCa FmansE2msIa0PTBAu7OCHSD7OLZeI5xLUlV7atBegEfDoWb6pWgQHY99GTVfBaV/O9VU AkPA== X-Gm-Message-State: ABy/qLbVu1DTdUw2Fgigs95az+AYeAQwXK3lGPhafca3q1DDN9IU46r+ q28iksjjAELTDtRsb8Zt4onCsa6yWQwn3iEIo9CdYg== X-Google-Smtp-Source: APBJJlGz+O4CtxVffGe2P2duaXtaK5Ssvy0o85ATO28mWZXEy5n84tRJszGJHBWYjwgDFNrZWRApQw== X-Received: by 2002:a19:6408:0:b0:4fb:752c:3240 with SMTP id y8-20020a196408000000b004fb752c3240mr8289547lfb.68.1688456172827; Tue, 04 Jul 2023 00:36:12 -0700 (PDT) Return-Path: Received: from [192.168.200.206] (83.21.151.197.ipv4.supernova.orange.pl. [83.21.151.197]) by smtp.gmail.com with ESMTPSA id i20-20020a056512007400b004fbb2080185sm1228305lfo.213.2023.07.04.00.36.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 04 Jul 2023 00:36:12 -0700 (PDT) Message-ID: Date: Tue, 4 Jul 2023 09:36:11 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [edk2-devel] [PATCH edk2-platforms v2 3/3] Platform/SbsaQemu: handle systems without GIC ITS To: Yuquan Wang , devel@edk2.groups.io References: <20230629164106.744289-4-marcin.juszkiewicz@linaro.org> <13866.1688455240129052785@groups.io> From: "Marcin Juszkiewicz" Organization: Linaro In-Reply-To: <13866.1688455240129052785@groups.io> Content-Language: pl-PL, en-GB, en-HK Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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.