Please let me know if you have any topics for the TianoCore Community Meeting
this month.
Mike
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116424): https://edk2.groups.io/g/devel/message/116424
Mute This Topic:
According to UEFI 2.10 spec 3.3 Globally Defined Variables section,
add devAuthBoot GlobalVariable.
Cc: Michael D Kinney
Cc: Liming Gao
Cc: Zhiguang Liu
Cc: Jiewen Yao
Signed-off-by: Wenxing Hou
---
MdePkg/Include/Guid/GlobalVariable.h | 8 +++-
Yes that is correct.
Regards,
Nickle
> -Original Message-
> From: devel@edk2.groups.io On Behalf Of Chang, Abner
> via groups.io
> Sent: Wednesday, March 6, 2024 1:51 PM
> To: Nickle Wang ; devel@edk2.groups.io
> Cc: Igor Kulchytskyy ; Nick Ramirez
> Subject: Re: [edk2-devel]
Thanks for your feedback, Igor!
I will create a patch and remove RedfishLib in RedfishClientPkg.
Regards,
Nickle
From: Igor Kulchytskyy
Sent: Wednesday, March 6, 2024 1:50 AM
To: Nickle Wang ; Mike Maslenkin
; devel@edk2.groups.io
Cc: Abner Chang
Subject: RE: [EXTERNAL] RE: [edk2-devel]
[AMD Official Use Only - General]
Looks good to me.
Reviewed-by: Abner Chang
> -Original Message-
> From: Nickle Wang
> Sent: Monday, March 4, 2024 9:27 PM
> To: devel@edk2.groups.io
> Cc: Chang, Abner ; Igor Kulchytskyy
> ; Nick Ramirez
> Subject: [edk2-redfish-client][PATCH 2/3]
>
[AMD Official Use Only - General]
Hi Nickle, I think we have to merge this patch with 2/3. Otherwise, the build
will be failed on the commit of 2/3, right?
Thanks
Abner
> -Original Message-
> From: Nickle Wang
> Sent: Monday, March 4, 2024 9:27 PM
> To: devel@edk2.groups.io
> Cc:
[AMD Official Use Only - General]
> -Original Message-
> From: Nickle Wang
> Sent: Monday, March 4, 2024 9:27 PM
> To: devel@edk2.groups.io
> Cc: Chang, Abner ; Igor Kulchytskyy
> ; Nick Ramirez
> Subject: [edk2-redfish-client][PATCH 1/3] RedfishClientPkg: introduce Redfish
> resource
Add support for
TCG PC Client Platform Firmware Profile Specification 1.06.
Cc: Michael D Kinney
Cc: Liming Gao
Cc: Zhiguang Liu
Cc: Jiewen Yao
Signed-off-by: Wenxing Hou
---
MdePkg/Include/IndustryStandard/Spdm.h| 4 +-
.../IndustryStandard/UefiTcgPlatform.h| 186
According to UEFI 2.10 spec
32.8.2 UEFI Device Signature Variable GUID and Variable Name section,
add gEfiDeviceSignatureDatabaseGuid to dec.
Cc: Michael D Kinney
Cc: Liming Gao
Cc: Zhiguang Liu
Cc: Jiewen Yao
Signed-off-by: Wenxing Hou
---
MdePkg/MdePkg.dec | 8 +++-
1 file changed, 7
According to UEFI 2.10 spec
32.8.2 UEFI Device Signature Variable GUID and Variable Name section,
add signature database for device authentication.
Cc: Michael D Kinney
Cc: Liming Gao
Cc: Zhiguang Liu
Cc: Jiewen Yao
Signed-off-by: Wenxing Hou
---
MdePkg/Include/Guid/DeviceAuthentication.h |
According to UEFI 2.10 spec
32.8.2 UEFI Device Signature Variable GUID and Variable Name section,
add signature database for device authentication and
add add gEfiDeviceSignatureDatabaseGuid to dec.
Cc: Michael D Kinney
Cc: Liming Gao
Cc: Zhiguang Liu
Cc: Jiewen Yao
Signed-off-by: Wenxing Hou
*Reminder: TianoCore Bug Triage - APAC / NAMO*
*When:*
Tuesday, March 5, 2024
6:30pm to 7:30pm
(UTC-08:00) America/Los Angeles
*Where:*
SCT spec: https://bugzilla.tianocore.org/show_bug.cgi?id=4374
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4419
-Implement MemoryOverwriteRequestControlLock Locked with
Key State test cases
-Add remaining Assertions 32 - 49 from SCT spec
-Add Test Case to
SCT spec: https://bugzilla.tianocore.org/show_bug.cgi?id=4374
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4419
-Implement MemoryOverwriteRequestControlLock Locked No Key
State test cases
-Add Assertions 21 - 31 from SCT spec
-Add Test Case to MemoryOverwriteRequestFunctionTest
Cc: G
SCT spec: https://bugzilla.tianocore.org/show_bug.cgi?id=4374
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4419
-Implement MemoryOverwriteRequestControlLockSetVariable test
cases
-Add Assertions 7 through 16 from SCT spec
-Add Test Case to MemoryOverwriteRequestFunctionTest
Cc: G
SCT spec: https://bugzilla.tianocore.org/show_bug.cgi?id=4374
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4419
-Implement MemoryOverwriteRequestControlLock Unlocked State
test cases
-Add Assertions 17, 18, 19, and 20 from SCT spec
-Add Test Case to MemoryOverwriteRequestFunctionTest
SCT spec: https://bugzilla.tianocore.org/show_bug.cgi?id=4374
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4419
-Implement MemoryOverwriteRequestControlSetVariable test cases
-Add Assertions 5 and 6 from SCT spec
-Add Test Case to MemoryOverwriteRequestFunctionTest
Cc: G Edhaya Chandran
From: "Abhi.Singh"
SCT spec: https://bugzilla.tianocore.org/show_bug.cgi?id=4374
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4419
-Implement initial test infrastructure for all test cases
including updates to: CommonGenFramework.sh, UEFI_SCT.dsc,
and Category.ini.
-Add Guid.c and
Updates after feedback from Heinrich
-updated deprecated useage of HandleProtocol() to OpenProtocol().
-added checks for unexpected values for Step and CheckpointStep values.
-added check if system fails to cold reset, returns EFI_DEVICE_ERROR.
-cast Attributes to (UINTN) when passing to
Reviewed-by: Igor Kulchytskyy
Whole patch reviewed
Regards,
Igor
-Original Message-
From: Nickle Wang
Sent: Thursday, February 29, 2024 3:53 AM
To: devel@edk2.groups.io
Cc: Abner Chang ; Igor Kulchytskyy
Subject: [EXTERNAL] [edk2-redfish-client][PATCH 00/13] use Redfish HTTP protocol
Hi Nickle,
Sorry, for late response.
AMI does not use RedfishLib in RedfishClientPkg, but library in RedfishPkg used.
Thank you,
Igor
From: Nickle Wang
Sent: Thursday, February 29, 2024 8:24 PM
To: Mike Maslenkin ; devel@edk2.groups.io; Igor
Kulchytskyy
Cc: Abner Chang
Subject: [EXTERNAL]
Reviewed-by: G Edhaya Chandran
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116403): https://edk2.groups.io/g/devel/message/116403
Mute This Topic: https://groups.io/mt/103625307/21656
Group Owner: devel+ow...@edk2.groups.io
Reviewed-by: G Edhaya Chandran
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116402): https://edk2.groups.io/g/devel/message/116402
Mute This Topic: https://groups.io/mt/103625306/21656
Group Owner: devel+ow...@edk2.groups.io
Reviewed-by: G Edhaya Chandran
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116401): https://edk2.groups.io/g/devel/message/116401
Mute This Topic: https://groups.io/mt/103625303/21656
Group Owner: devel+ow...@edk2.groups.io
Reviewed-by: G Edhaya Chandran
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116400): https://edk2.groups.io/g/devel/message/116400
Mute This Topic: https://groups.io/mt/103625301/21656
Group Owner: devel+ow...@edk2.groups.io
Reviewed-by: G Edhaya Chandran
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116399): https://edk2.groups.io/g/devel/message/116399
Mute This Topic: https://groups.io/mt/103625304/21656
Group Owner: devel+ow...@edk2.groups.io
Reviewed-by: G Edhaya Chandran
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116398): https://edk2.groups.io/g/devel/message/116398
Mute This Topic: https://groups.io/mt/103625305/21656
Group Owner: devel+ow...@edk2.groups.io
Hi Stuart,
Thank you for the contribution on TCG2 protocol. They significantly improve the
coverage of edk2-test.
Reviewed-by: G Edhaya Chandran
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116397):
On 12/15/23 8:30 AM, Heinrich Schuchardt wrote:
On 12/15/23 00:39, Stuart Yoder wrote:
From: Joseph Hemann
Please, provide commit messages.
This is fixed in v2 of the patch series. (Sent Jan 9)
Thanks,
Stuart
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to
On 3/5/24 13:44, Oliver Steffen wrote:
> The root cause is of course not addressed by this, but it might also be
> hard to solve. One would have to identify obsolete network/hardware
> settings somehow, but there is no way to tell if a certain NIC/MAC
> might come back at a later point or not.
Hi Pierre,
Thanks for reaching out, my patches are non-disruptive (wont impact
existing ARM code base).
I think lets review and integrate to main branch.
Thanks
AbduL
On 05-03-2024 19:33, Pierre Gondois wrote:
Caution: This message originated from an External Source. Use proper
On Tue, Mar 05, 2024 at 01:01:26PM +0100, Laszlo Ersek wrote:
> declares a bogus
> ProcessLibraryConstructorList() for the SG2042Pkg SEC module. Rely on
> AutoGen for (properly) declaring ProcessLibraryConstructorList(). Remove
> the correct, but superfluous, declaration as well.
>
>
On Tue, Mar 05, 2024 at 12:38:37PM +0100, Laszlo Ersek wrote:
> declares a bogus
> ProcessLibraryConstructorList() for the OvmfPkg/RiscVVirt SEC module. Rely
> on AutoGen for (properly) declaring ProcessLibraryConstructorList().
> Remove the correct, but superfluous, declaration as well.
>
>
Hello Adblu,
Thanks for the patches.
As the staging branch will see a lot of code changes,
it would be not integrate new objects in the next weeks.
Would it be possible to delay a bit the integration of your patches ?
Regards,
Pierre
On 3/5/24 12:09, Attar, AbdulLateef (Abdul Lateef) wrote:
Hi Laszlo,
If the SPEC and BaseTools are ready, then then that's fine with me.
Reviewed-by: Chao Li
Thanks,
Chao
On 2024/3/5 20:01, Laszlo Ersek wrote:
declares a bogus
ProcessLibraryConstructorList() for LoongArchQemuPkg's SEC module. Rely on
AutoGen for (properly) declaring
On Tue, 5 Mar 2024 at 12:39, Laszlo Ersek wrote:
>
> Rely on AutoGen for declaring ProcessLibraryConstructorList().
>
> Build-tested with:
>
> build -a AARCH64 -b DEBUG \
> -m ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf \
> -p ArmPlatformPkg/ArmPlatformPkg.dsc -t GCC5
>
> build -a
On Tue, 5 Mar 2024 at 12:39, Laszlo Ersek wrote:
>
> Rely on AutoGen for declaring ProcessLibraryConstructorList().
>
> Build-tested with:
>
> build -a AARCH64 -b DEBUG \
> -m ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf \
> -p ArmVirtPkg/ArmVirtKvmTool.dsc -t GCC5
>
> Cc: Ard
On Tue, 5 Mar 2024 at 13:01, Laszlo Ersek wrote:
>
> Rely on AutoGen for declaring ProcessLibraryConstructorList().
>
> Build-tested with:
>
> build -a ARM -b DEBUG \
> -m Platform/BeagleBoard/BeagleBoardPkg/PrePi/PeiUniCore.inf \
> -p
Quoting Laszlo Ersek (2024-03-05 08:33:57)
> On 3/5/24 01:40, gaoliming via groups.io wrote:
> > Oliver:
> > If there is no enough space, Variable driver will reclaim flash and
> > reserve the enough space at boot time.
>
> What if the flash is genuinely fully occupied by *live* non-volatile
>
For OvmfPkg, reviewed-by: Jiewen Yao
> -Original Message-
> From: Laszlo Ersek
> Sent: Tuesday, March 5, 2024 7:39 PM
> To: edk2-devel-groups-io
> Cc: Warkentin, Andrei ; Andrew Fish
> ; Ard Biesheuvel ; S, Ashraf Ali
> ; Feng, Bob C ; West, Catharine
> ; Chiu, Chasel ; Duggapu,
>
OK, I'll give it a try.
Thanks,
Chao
On 2024/3/5 20:09, Laszlo Ersek wrote:
On 3/5/24 12:50, Chao Li wrote:
Hi Laszlo,
OK, I see, let's me try. And I have another question:
Where should the low-level library be placed? Under the
UefiCpuPkg/Library and as the same folder as CpuMmuLib?
In my
On 3/5/24 12:50, Chao Li wrote:
> Hi Laszlo,
>
> OK, I see, let's me try. And I have another question:
>
> Where should the low-level library be placed? Under the
> UefiCpuPkg/Library and as the same folder as CpuMmuLib?
In my opinion:
Under UefiCpuPkg/Library -- yes.
In the same folder as
declares a bogus
ProcessLibraryConstructorList() for the SG2042Pkg SEC module. Rely on
AutoGen for (properly) declaring ProcessLibraryConstructorList(). Remove
the correct, but superfluous, declaration as well.
Build-tested with:
build -a RISCV64 -b DEBUG -m
declares a bogus
ProcessLibraryConstructorList() for SimicsOpenBoardPkg's SEC module. Rely
on AutoGen for (properly) declaring ProcessLibraryConstructorList().
Update the call.
Build-tested with:
- appending the following directories to PACKAGES_PATH:
Drivers
Features/Intel
declares a bogus
ProcessLibraryConstructorList() for LoongArchQemuPkg's SEC module. Rely on
AutoGen for (properly) declaring ProcessLibraryConstructorList(). Update
the call.
Build-tested with:
build -a LOONGARCH64 -b DEBUG \
-m Platform/Loongson/LoongArchQemuPkg/Sec/SecMain.inf \
-p
Rely on AutoGen for declaring ProcessLibraryConstructorList().
Build-tested with:
build -a ARM -b DEBUG \
-m Platform/BeagleBoard/BeagleBoardPkg/PrePi/PeiUniCore.inf \
-p Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc -t GCC5
Cc: Ard Biesheuvel
Cc: Leif Lindholm
Ref:
Bugzilla:
- https://bugzilla.tianocore.org/show_bug.cgi?id=990
This patch series puts the recent BaseTools feature to use in which
AutoGen generates the ProcessLibraryConstructorList() declaration in
"AutoGen.h" for such non-library SEC modules whose INF_VERSION is at
least 1.30. The BaseTools
Hi Laszlo,
OK, I see, let's me try. And I have another question:
Where should the low-level library be placed? Under the
UefiCpuPkg/Library and as the same folder as CpuMmuLib?
Thanks,
Chao
On 2024/3/5 17:26, Laszlo Ersek wrote:
Hello Chao,
On 3/4/24 04:39, Chao Li wrote:
Hi Laszlo,
OK.
Rely on AutoGen for declaring ProcessLibraryConstructorList().
Build-tested with:
python UefiPayloadPkg/UniversalPayloadBuild.py -a X64 -b DEBUG -t GCC5
python UefiPayloadPkg/UniversalPayloadBuild.py -a X64 -b DEBUG -f \
-t GCC5
build -a X64 -b DEBUG -p
Rely on AutoGen for declaring ProcessLibraryConstructorList().
Build-tested with:
build -a X64 -b DEBUG -m UefiCpuPkg/SecCore/SecCore.inf \
-p UefiCpuPkg/UefiCpuPkg.dsc -t GCC5
build -a X64 -b DEBUG -m UefiCpuPkg/SecCore/SecCoreNative.inf \
-p UefiCpuPkg/UefiCpuPkg.dsc -t GCC5
Cc:
Rely on AutoGen for declaring ProcessLibraryConstructorList().
Build-tested with:
build -a X64 -b DEBUG -m IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf \
-p IntelFsp2Pkg/IntelFsp2Pkg.dsc -t GCC5
build -a X64 -b DEBUG -m IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf \
-p
Rely on AutoGen for declaring ProcessLibraryConstructorList().
Build-tested with:
build -a X64 -b DEBUG -m EmulatorPkg/Sec/Sec.inf \
-p EmulatorPkg/EmulatorPkg.dsc -t GCC5
Cc: Andrew Fish
Cc: Ray Ni
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=990
Signed-off-by: Laszlo Ersek
---
declares a bogus
ProcessLibraryConstructorList() for the OvmfPkg/RiscVVirt SEC module. Rely
on AutoGen for (properly) declaring ProcessLibraryConstructorList().
Remove the correct, but superfluous, declaration as well.
Build-tested with:
build -a RISCV64 -b DEBUG -m
Rely on AutoGen for declaring ProcessLibraryConstructorList().
Build-tested with:
build -a AARCH64 -b DEBUG \
-m ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf \
-p ArmVirtPkg/ArmVirtKvmTool.dsc -t GCC5
Cc: Ard Biesheuvel
Cc: Gerd Hoffmann
Cc: Leif Lindholm
Cc: Sami Mujawar
Rely on AutoGen for declaring ProcessLibraryConstructorList().
Build-tested with:
build -a AARCH64 -b DEBUG \
-m ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf \
-p ArmPlatformPkg/ArmPlatformPkg.dsc -t GCC5
build -a AARCH64 -b DEBUG \
-m
declares a bogus
ProcessLibraryConstructorList() for IntelTdx's SEC module. Rely on AutoGen
for (properly) declaring ProcessLibraryConstructorList(). Update the call.
Build-tested with:
build -a X64 -b DEBUG -m OvmfPkg/IntelTdx/Sec/SecMain.inf \
-p OvmfPkg/IntelTdx/IntelTdxX64.dsc -t GCC5
declares a bogus
ProcessLibraryConstructorList() for OVMF's SEC module. Rely on AutoGen for
(properly) declaring ProcessLibraryConstructorList(). Update the call.
Build-tested with:
build -a X64 -b DEBUG -m OvmfPkg/Sec/SecMain.inf \
-p OvmfPkg/OvmfPkgX64.dsc -t GCC5
Cc: Ard Biesheuvel
Bugzillas:
- https://bugzilla.tianocore.org/show_bug.cgi?id=990
- https://bugzilla.tianocore.org/show_bug.cgi?id=991
- https://bugzilla.tianocore.org/show_bug.cgi?id=4643
CI:
- https://github.com/tianocore/edk2/pull/5442
Branch:
-
The edk2-basetools commit that corresponds to edk2 commit bac9c74080cf
("BaseTools/AutoGen: declare ProcessLibraryConstructorList() for SEC
modules", 2024-02-29) is 5b7161de22ee ("BaseTools/AutoGen: declare
ProcessLibraryConstructorList() for SEC modules", 2024-03-04); it is part
of tag v0.1.51.
From: Abdul Lateef Attar
Adds HPET parse to the UefiShellAcpiViewCommandLib library.
Cc: Zhichao Gao
Cc: Pierre Gondois
Signed-off-by: Abdul Lateef Attar
---
.../UefiShellAcpiViewCommandLib/AcpiParser.h | 17 ++
.../Parsers/Hpet/HpetParser.c | 221 ++
From: Abdul Lateef Attar
Adds WSMT parse to the UefiShellAcpiViewCommandLib library.
Cc: Zhichao Gao
Cc: Pierre Gondois
Signed-off-by: Abdul Lateef Attar
---
.../UefiShellAcpiViewCommandLib/AcpiParser.h | 17
.../Parsers/Wsmt/WsmtParser.c | 89 +++
From: Abdul Lateef Attar
Adds HPET and WSMT parser for acpiview.
Cc: Zhichao Gao
Cc: Pierre Gondois
Abdul Lateef Attar (2):
ShellPkg/Acpiview: Adds HPET parser
ShellPkg/Acpiview: Adds ACPI WSMT Table parser
.../UefiShellAcpiViewCommandLib/AcpiParser.h | 34 +++
Hi Sami, Sunil,
Yesterday I submitted few patches on main branch; I'll port those
changes to this staging branch.
Currently from AMD X64 perspective I'm working on ACPI tables, once that
is done, then will move to smbios tables.
Thanks
AbduL
On 05-03-2024 16:22, Sunil V L wrote:
Hi Sunil,
Thank you for the feedback.
> +
> +The CM_OBJECT_ID type is used to identify the Configuration Manager
> + objects.
> +
> +## Description of Configuration Manager Object ID
> +
> +| 31 30 29 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
> 15 | 14 | 13 | 12 | 11 | 10
Hi Sami,
On Mon, Mar 04, 2024 at 04:46:15PM +, Sami Mujawar wrote:
> This series is an initial proposal for introducing an Arch Common
> namespace. Based on the mailing list discussions, further patch
> series to move the configuration manager objects to the Arch
> Common namespace and the
On Mon, Mar 04, 2024 at 04:46:16PM +, Sami Mujawar wrote:
> Introduce an Arch Common Namespace so that the common
> architectural objects can be defined under this namespace
> in the Configuration manager. Also rearrange the namespace
> IDs so that the Arch Common Namespace has a value of 0x1,
Hi Pierre,
The staging branches have been created at:
https://github.com/tianocore/edk2-staging/tree/dynamictables-reorg
https://github.com/tianocore/edk2-platforms/tree/devel-dynamictables-reorg
It would be good to have feedback from other stakeholders for this patch series.
Regards,
Sami
Hello Chao,
On 3/4/24 04:39, Chao Li wrote:
> Hi Laszlo,
>
> OK.
>
> When I discussed the CpuMmuLib API as a public API with Ray in the early
> days, the API recommended by Ray should be the patch 13 in this series,
> which only contains set/get memory region attribute, but in the first
>
On 3/4/24 12:37, joeyli via groups.io wrote:
> Hi,
>
> On Wed, Feb 07, 2024 at 04:02:52PM +0800, joeyli via groups.io wrote:
>> On Wed, Feb 07, 2024 at 03:55:49PM +0800, joeyli wrote:
>>> Hi Laszlo,
>>>
>>> First, thanks for your review!
>>>
>>> On Mon, Feb 05, 2024 at 05:41:25PM +0100, Laszlo
Hello Sami,
The patches look good to me:
Reviewed-by: Pierre Gondois
Shall we proceed to create the staging branch ?
Regards,
Pierre
On 3/4/24 17:46, Sami Mujawar wrote:
This series is an initial proposal for introducing an Arch Common
namespace. Based on the mailing list discussions,
70 matches
Mail list logo