From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) by mx.groups.io with SMTP id smtpd.web09.76.1627752085239876801 for ; Sat, 31 Jul 2021 10:21:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@posteo.de header.s=2017 header.b=bjK72B7A; spf=pass (domain: posteo.de, ip: 185.67.36.66, mailfrom: mhaeuser@posteo.de) Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 59A2F240104 for ; Sat, 31 Jul 2021 19:21:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1627752082; bh=im4ZEfB1ef14DBNjklKHHtI5CpB+Tnpz0Q+KGacrwVQ=; h=To:Cc:From:Subject:Date:From; b=bjK72B7AXZ5zt5R5bE5vBDLxma6lTwhM/yg8n/y/49gLRlLnvhn6ApQreF3JOAMVj i0PVfCFL10kJqComVBXM8i2efduTF564IO1LPFFy7gZbI2t2QRIZEdRgnZHvYuth6o +T151bUQb+TpChJcr9kVxvWQdUSHsM4hkqu4zugc98b+vav/DHPWHP+Sm8v0O1fIKO XcYbBmb1e3ZGhciAliwOeaBzN70nJe0MEuoqlQlYxxRxJT6LGIG9K6/dswrBUwVnb6 sTIY6ViZIT4oH9PibxNWbT739Tw8DDsSgDnAgBWB5RZge9zm54btz+hlmr7tMEOPZa 6jw84sLWmLGcw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4GcWJd1cQBz6tmJ; Sat, 31 Jul 2021 19:21:21 +0200 (CEST) To: "devel@edk2.groups.io" Cc: Hao A Wu From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= Subject: SLDP: Usage of PE library context by debugger? Message-ID: <20b13677-098e-6105-bbd6-c708321f839a@posteo.de> Date: Sat, 31 Jul 2021 17:21:20 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Good day everyone, While refining the port of SourceLevelDebugPkg to my newly proposed PeCoffLib rework (RFC upcoming), I noticed that the address of the PE Image context is written to DR2 [1]. Because the UDK and Intel System Studio debugging tools are closed source, I cannot verify what happens to this value. Does the host read the library context and retrieve data from it? If not, why is its address written to DR2? If so, this would mean the new PeCoffLib implementation breaks the existing debugging tools. The following questions would arise: 1) Which data are retrieved from the context structure? For GDB, I think only the Image address and symbol file path are required (to load the symbols), while PDB is saved in DR1 already. 2) Are there any plans to provide detailed documentation of the host/client communication protocol? 3) Are there any plans to provide an open source debugger, or at least the EDK II communication protocol portion? Thank you for your time! Best regards, Marvin [1] https://github.com/tianocore/edk2/blob/610bcc69ed3d1e8c016332a1862465d41d95dd6c/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLib.c#L126