From nobody Tue May 14 19:42:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+66765+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+66765+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1604002885; cv=none; d=zohomail.com; s=zohoarc; b=inuPEsXzDyZ+gxetCpY0rqS8bhto9TVjpBiB4qQYHb+UO5w818hYUgdHs7LYRfW0S9SgqO3RQrEQvc3ka5WwNL5rQnglavZL0vFjYdxfShvnXjNTgt2/DJDioRcafu1Pwynal8jOcAjHTUW3rXVzaBvU2jB+/xauMIVM2wG35gU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604002885; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=G+C4M471NU28XbzPzQRbW8ws7UTU+2jits9MGWz/St4=; b=c8UuBuQefgJszUtFRHur6v+s06tr93wEZHlvi8qJZY4TSzD6Mk2HmXA4YVKBCwdUDtZ1tUvPYLkbr35IG0VTl+KJ22XVhc3ulEE3Nn8zdxnOv9FsBL482JFLu9c8w0QJ8NSQjRZvtZzBMHl1CCJcaTMIscla/1R/7K2IPez9v7A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+66765+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1604002885330868.3345969986243; Thu, 29 Oct 2020 13:21:25 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id IBifYY1788612xwPfUILf0Xl; Thu, 29 Oct 2020 13:21:25 -0700 X-Received: from mail-qk1-f194.google.com (mail-qk1-f194.google.com [209.85.222.194]) by mx.groups.io with SMTP id smtpd.web12.3216.1604002884458481326 for ; Thu, 29 Oct 2020 13:21:24 -0700 X-Received: by mail-qk1-f194.google.com with SMTP id x20so3120616qkn.1 for ; Thu, 29 Oct 2020 13:21:24 -0700 (PDT) X-Gm-Message-State: pfhFDjyG2DyakUyMAWqwVZ3tx1787277AA= X-Google-Smtp-Source: ABdhPJysslj8WW67vFVSRHXq65KzzQjmfe9mUhm5NRaKgJFNSQPuw+2nRGb7YaoeldWtl9F42PzHwg== X-Received: by 2002:a37:5f42:: with SMTP id t63mr5856168qkb.449.1604002883631; Thu, 29 Oct 2020 13:21:23 -0700 (PDT) X-Received: from localhost.localdomain ([142.114.143.244]) by smtp.googlemail.com with ESMTPSA id q3sm1667353qkf.24.2020.10.29.13.21.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2020 13:21:23 -0700 (PDT) From: "Shashi Mallela" To: leif@nuviainc.com, ard.biesheuvel@arm.com, graeme@nuviainc.com Cc: devel@edk2.groups.io Subject: [edk2-devel] [PATCH v3 1/1] Silicon/Qemu/Sbsa: Add SBSA-wdt entry to GTDT Date: Thu, 29 Oct 2020 16:21:21 -0400 Message-Id: <20201029202121.26710-2-shashi.mallela@linaro.org> In-Reply-To: <20201029202121.26710-1-shashi.mallela@linaro.org> References: <20201029202121.26710-1-shashi.mallela@linaro.org> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,shashi.mallela@linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1604002885; bh=sNKu5gT961vrnHLJNAJ2agm0PR2q9khHCJbGiI5/ck0=; h=Cc:Date:From:Reply-To:Subject:To; b=YBQfOekf1YG8Ta9Ok8TJYqb7cjNYyA133E6gA3hOH90Egf4gMbXLsq7Q46oebLtRSLJ ClLqsanwXxjJzzwrdaP3mR90UU6qF7iLI22sabjvAnspORhzccXKgHZGEm5Hk+cdRjRXM WuXi+rYI+49MAcoUob9IODYWNqRmod6bEGY= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" SBSA generic watchdog timer structure entry has been added to GTDT table as per SBSAv6.0. This enables acpi detection of wdt in qemu sbsa platform Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Graeme Gregory Signed-off-by: Shashi Mallela --- Silicon/Qemu/SbsaQemu/AcpiTables/Gtdt.aslc | 87 ++++++++++++++------ 1 file changed, 62 insertions(+), 25 deletions(-) diff --git a/Silicon/Qemu/SbsaQemu/AcpiTables/Gtdt.aslc b/Silicon/Qemu/Sbsa= Qemu/AcpiTables/Gtdt.aslc index d16778e01a5c..1713c203766e 100644 --- a/Silicon/Qemu/SbsaQemu/AcpiTables/Gtdt.aslc +++ b/Silicon/Qemu/SbsaQemu/AcpiTables/Gtdt.aslc @@ -24,42 +24,79 @@ #define SYSTEM_TIMER_BASE_ADDRESS 0xFFFFFFFFFFFFFFFF #endif =20 -#define GTDT_TIMER_EDGE_TRIGGERED EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INT= ERRUPT_MODE +#define GTDT_TIMER_EDGE_TRIGGERED EFI_ACPI_6_3_GTDT_TIMER_FLAG_TIMER_INT= ERRUPT_MODE #define GTDT_TIMER_LEVEL_TRIGGERED 0 -#define GTDT_TIMER_ACTIVE_LOW EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INT= ERRUPT_POLARITY +#define GTDT_TIMER_ACTIVE_LOW EFI_ACPI_6_3_GTDT_TIMER_FLAG_TIMER_INT= ERRUPT_POLARITY #define GTDT_TIMER_ACTIVE_HIGH 0 =20 #define GTDT_GTIMER_FLAGS (GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LE= VEL_TRIGGERED) =20 +#define SBSA_PLATFORM_WATCHDOG_COUNT 1 +#define SBSA_PLATFORM_TIMER_COUNT (SBSA_PLATFORM_WATCHDOG_COUNT) + +#define SBSAQEMU_WDT_REFRESH_FRAME_BASE 0x50010000 +#define SBSAQEMU_WDT_CONTROL_FRAME_BASE 0x50011000 +#define SBSAQEMU_WDT_IRQ 44 + +#define GTDT_WDTIMER_EDGE_TRIGGERED EFI_ACPI_6_3_GTDT_SBSA_GENERIC_WATCH= DOG_FLAG_TIMER_INTERRUPT_MODE +#define GTDT_WDTIMER_LEVEL_TRIGGERED 0 +#define GTDT_WDTIMER_ACTIVE_LOW EFI_ACPI_6_3_GTDT_SBSA_GENERIC_WATCH= DOG_FLAG_TIMER_INTERRUPT_POLARITY +#define GTDT_WDTIMER_ACTIVE_HIGH 0 + +#define GTDT_WDTIMER_FLAGS (GTDT_WDTIMER_ACTIVE_HIGH | GTDT_WDTI= MER_LEVEL_TRIGGERED) + +#define EFI_ACPI_6_3_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT( \ + RefreshFramePhysicalAddress, ControlFramePhysicalAddress, \ + WatchdogTimerGSIV, WatchdogTimerFlags) \ + { \ + EFI_ACPI_6_3_GTDT_SBSA_GENERIC_WATCHDOG, \ + sizeof(EFI_ACPI_6_3_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE), \ + EFI_ACPI_RESERVED_WORD, \ + RefreshFramePhysicalAddress, \ + ControlFramePhysicalAddress, \ + WatchdogTimerGSIV, \ + WatchdogTimerFlags \ + } + #pragma pack (1) =20 typedef struct { - EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE Gtdt; - } GENERIC_TIMER_DESCRIPTION_TABLE; + EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE Gtdt; + EFI_ACPI_6_3_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE Gwdt; + } GENERIC_TIMER_DESCRIPTION_TABLES; =20 #pragma pack () =20 - GENERIC_TIMER_DESCRIPTION_TABLE Gtdt =3D { - { - SBSAQEMU_ACPI_HEADER( - EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE, - GENERIC_TIMER_DESCRIPTION_TABLE, - EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION - ), - SYSTEM_TIMER_BASE_ADDRESS, // UINT64 PhysicalAdd= ress - 0, // UINT32 Reserved - FixedPcdGet32 (PcdArmArchTimerSecIntrNum), // UINT32 SecurePL1Ti= merGSIV - GTDT_GTIMER_FLAGS, // UINT32 SecurePL1Ti= merFlags - FixedPcdGet32 (PcdArmArchTimerIntrNum), // UINT32 NonSecurePL= 1TimerGSIV - GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL= 1TimerFlags - FixedPcdGet32 (PcdArmArchTimerVirtIntrNum), // UINT32 VirtualTime= rGSIV - GTDT_GTIMER_FLAGS, // UINT32 VirtualTime= rFlags - FixedPcdGet32 (PcdArmArchTimerHypIntrNum), // UINT32 NonSecurePL= 2TimerGSIV - GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL= 2TimerFlags - 0xFFFFFFFFFFFFFFFF, // UINT64 CntReadBase= PhysicalAddress - 0, // UINT32 PlatformTim= erCount - 0 - }, + GENERIC_TIMER_DESCRIPTION_TABLES Gtdt =3D { + { + SBSAQEMU_ACPI_HEADER( + EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE, + GENERIC_TIMER_DESCRIPTION_TABLES, + EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION + ), + SYSTEM_TIMER_BASE_ADDRESS, // UINT64 PhysicalAddre= ss + 0, // UINT32 Reserved + FixedPcdGet32 (PcdArmArchTimerSecIntrNum), // UINT32 SecurePL1Time= rGSIV + GTDT_GTIMER_FLAGS, // UINT32 SecurePL1Time= rFlags + FixedPcdGet32 (PcdArmArchTimerIntrNum), // UINT32 NonSecurePL1T= imerGSIV + GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL1T= imerFlags + FixedPcdGet32 (PcdArmArchTimerVirtIntrNum), // UINT32 VirtualTimerG= SIV + GTDT_GTIMER_FLAGS, // UINT32 VirtualTimerF= lags + FixedPcdGet32 (PcdArmArchTimerHypIntrNum), // UINT32 NonSecurePL2T= imerGSIV + GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL2T= imerFlags + 0xFFFFFFFFFFFFFFFF, // UINT64 CntReadBasePh= ysicalAddress + SBSA_PLATFORM_TIMER_COUNT, // UINT32 PlatformTime= rCount + sizeof(EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE), + // UINT32 PlatformTimer= Offset + 0, // UINT32 VirtualPL2Tim= erGSIV + 0 // UINT32 VirtualPL2Tim= erFlags + }, + EFI_ACPI_6_3_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT( + SBSAQEMU_WDT_REFRESH_FRAME_BASE, + SBSAQEMU_WDT_CONTROL_FRAME_BASE, + SBSAQEMU_WDT_IRQ, + GTDT_WDTIMER_FLAGS + ) }; =20 // Reference the table being generated to prevent the optimizer from remov= ing the --=20 2.18.4 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#66765): https://edk2.groups.io/g/devel/message/66765 Mute This Topic: https://groups.io/mt/77896902/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-