<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	「Step to UEFI (76） &#8212;&#8211;Dump ACPI DSDT」的评论	</title>
	<atom:link href="https://www.lab-z.com/studsdt/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.lab-z.com/studsdt/</link>
	<description></description>
	<lastBuildDate>Mon, 26 Aug 2019 00:53:01 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>
		评论者：liuyun		</title>
		<link>https://www.lab-z.com/studsdt/#comment-64528</link>

		<dc:creator><![CDATA[liuyun]]></dc:creator>
		<pubDate>Mon, 26 Aug 2019 00:53:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-64528</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.lab-z.com/studsdt/#comment-64393&quot;&gt;ziv2013&lt;/a&gt;。

你好，因为我是在uefi中想添加acpi的支持，看了好几天代码，没有找到这个aml字节码是怎么添加到dsdt表中的。因为内核获取的时候是通过fadt获取到dsdt的指针，再来获取aml的，像您说的，load到内存后，内核如何知道这个数据在什么地方的 ？]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/studsdt/#comment-64393">ziv2013</a>。</p>
<p>你好，因为我是在uefi中想添加acpi的支持，看了好几天代码，没有找到这个aml字节码是怎么添加到dsdt表中的。因为内核获取的时候是通过fadt获取到dsdt的指针，再来获取aml的，像您说的，load到内存后，内核如何知道这个数据在什么地方的 ？</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：ziv2013		</title>
		<link>https://www.lab-z.com/studsdt/#comment-64393</link>

		<dc:creator><![CDATA[ziv2013]]></dc:creator>
		<pubDate>Sun, 25 Aug 2019 03:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-64393</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.lab-z.com/studsdt/#comment-64245&quot;&gt;liuyun&lt;/a&gt;。

我记得大约是编译成一个 ffs 然后用的时候load到内存的，你可以追一下代码看看。]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/studsdt/#comment-64245">liuyun</a>。</p>
<p>我记得大约是编译成一个 ffs 然后用的时候load到内存的，你可以追一下代码看看。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：liuyun		</title>
		<link>https://www.lab-z.com/studsdt/#comment-64245</link>

		<dc:creator><![CDATA[liuyun]]></dc:creator>
		<pubDate>Sat, 24 Aug 2019 02:11:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-64245</guid>

					<description><![CDATA[你好，我想问一下的是包含DefinitionBlock的asl文件，被编译器编译成aml文件，这种文件是如何人填入到dsdt表中的？？]]></description>
			<content:encoded><![CDATA[<p>你好，我想问一下的是包含DefinitionBlock的asl文件，被编译器编译成aml文件，这种文件是如何人填入到dsdt表中的？？</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：sssky307		</title>
		<link>https://www.lab-z.com/studsdt/#comment-35680</link>

		<dc:creator><![CDATA[sssky307]]></dc:creator>
		<pubDate>Thu, 03 Aug 2017 03:24:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-35680</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.lab-z.com/studsdt/#comment-35679&quot;&gt;sssky307&lt;/a&gt;。

怎么粘贴就变成乱码了？，,，sorry.]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/studsdt/#comment-35679">sssky307</a>。</p>
<p>怎么粘贴就变成乱码了？，,，sorry.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：sssky307		</title>
		<link>https://www.lab-z.com/studsdt/#comment-35679</link>

		<dc:creator><![CDATA[sssky307]]></dc:creator>
		<pubDate>Thu, 03 Aug 2017 03:21:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-35679</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.lab-z.com/studsdt/#comment-19477&quot;&gt;ziv2013&lt;/a&gt;。

是的，看MdePkg关于printlib的说明，在MdePkg.chm中搜索Printlib：
%s,The argument is a pointer to a Unicode string. This does not follow ANSI C.

部分可以简化一下，分享：
#include 
#include 

#include 
//EfiGetSystemConfigurationTable (IN EFI_GUID *TableGuid, OUT VOID **Table)
//AsciiPrint

#include   
//global gST gBS

#include  
//CopyMem (OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
//ZeroMem (OUT VOID *Buffer, IN UINTN Length)

#include  
//gEfiAcpi10TableGuid,gEfiAcpi20TableGuid

#include 
//EFI_ACPI_DESCRIPTION_HEADER
#include  
//EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER

EFI_STATUS
EFIAPI
UefiMain (
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE  *SystemTable
  )
{
	EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER* RSDP;
        EFI_ACPI_DESCRIPTION_HEADER* RSDT;
	CHAR8 SignatureStr[20];

	UINTN entry_counts=SystemTable-&#062;NumberOfTableEntries;
	Print(L&quot;number of entries:%u\n&quot;,entry_counts);
	for(UINTN i=0;iConfigurationTable[i].VendorGuid));
	}
	
	if(EFI_SUCCESS==EfiGetSystemConfigurationTable(&#038;gEfiAcpi10TableGuid,(VOID **)&#038;RSDP))
	{
		Print(L&quot;ACPI 1.0 Table find.\n&quot;);
		ZeroMem(SignatureStr,sizeof(SignatureStr));
		CopyMem(SignatureStr,&#038;(RSDP-&#062;Signature),sizeof(RSDP-&#062;Signature));	
		AsciiPrint(&quot;RSDP_signature_str:%a\n&quot;,SignatureStr);

                RSDT=(EFI_ACPI_DESCRIPTION_HEADER*)(&#038;(RSDP-&#062;RsdtAddress));
                ZeroMem(SignatureStr,sizeof(SignatureStr));
                CopyMem(SignatureStr,&#038;(RSDT-&#062;Signature),sizeof(RSDT-&#062;Signature));
		AsciiPrint(&quot;RSDT_signature_str:%a\n&quot;,SignatureStr);
	}else if(EFI_SUCCESS==EfiGetSystemConfigurationTable(&#038;gEfiAcpi20TableGuid,(VOID **)&#038;RSDP))
	{	
		Print(L&quot;ACPI 2.0 Table find.\n&quot;);
	}else
      {//...}
return EFI_SUCCESS;
}


最后感谢博主分享。]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/studsdt/#comment-19477">ziv2013</a>。</p>
<p>是的，看MdePkg关于printlib的说明，在MdePkg.chm中搜索Printlib：<br />
%s,The argument is a pointer to a Unicode string. This does not follow ANSI C.</p>
<p>部分可以简化一下，分享：<br />
#include<br />
#include </p>
<p>#include<br />
//EfiGetSystemConfigurationTable (IN EFI_GUID *TableGuid, OUT VOID **Table)<br />
//AsciiPrint</p>
<p>#include<br />
//global gST gBS</p>
<p>#include<br />
//CopyMem (OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)<br />
//ZeroMem (OUT VOID *Buffer, IN UINTN Length)</p>
<p>#include<br />
//gEfiAcpi10TableGuid,gEfiAcpi20TableGuid</p>
<p>#include<br />
//EFI_ACPI_DESCRIPTION_HEADER<br />
#include<br />
//EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER</p>
<p>EFI_STATUS<br />
EFIAPI<br />
UefiMain (<br />
  IN EFI_HANDLE        ImageHandle,<br />
  IN EFI_SYSTEM_TABLE  *SystemTable<br />
  )<br />
{<br />
	EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER* RSDP;<br />
        EFI_ACPI_DESCRIPTION_HEADER* RSDT;<br />
	CHAR8 SignatureStr[20];</p>
<p>	UINTN entry_counts=SystemTable-&gt;NumberOfTableEntries;<br />
	Print(L&#8221;number of entries:%u\n&#8221;,entry_counts);<br />
	for(UINTN i=0;iConfigurationTable[i].VendorGuid));<br />
	}</p>
<p>	if(EFI_SUCCESS==EfiGetSystemConfigurationTable(&amp;gEfiAcpi10TableGuid,(VOID **)&amp;RSDP))<br />
	{<br />
		Print(L&#8221;ACPI 1.0 Table find.\n&#8221;);<br />
		ZeroMem(SignatureStr,sizeof(SignatureStr));<br />
		CopyMem(SignatureStr,&amp;(RSDP-&gt;Signature),sizeof(RSDP-&gt;Signature));<br />
		AsciiPrint(&#8220;RSDP_signature_str:%a\n&#8221;,SignatureStr);</p>
<p>                RSDT=(EFI_ACPI_DESCRIPTION_HEADER*)(&amp;(RSDP-&gt;RsdtAddress));<br />
                ZeroMem(SignatureStr,sizeof(SignatureStr));<br />
                CopyMem(SignatureStr,&amp;(RSDT-&gt;Signature),sizeof(RSDT-&gt;Signature));<br />
		AsciiPrint(&#8220;RSDT_signature_str:%a\n&#8221;,SignatureStr);<br />
	}else if(EFI_SUCCESS==EfiGetSystemConfigurationTable(&amp;gEfiAcpi20TableGuid,(VOID **)&amp;RSDP))<br />
	{<br />
		Print(L&#8221;ACPI 2.0 Table find.\n&#8221;);<br />
	}else<br />
      {//&#8230;}<br />
return EFI_SUCCESS;<br />
}</p>
<p>最后感谢博主分享。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：ziv2013		</title>
		<link>https://www.lab-z.com/studsdt/#comment-19477</link>

		<dc:creator><![CDATA[ziv2013]]></dc:creator>
		<pubDate>Tue, 21 Jun 2016 10:12:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-19477</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.lab-z.com/studsdt/#comment-19469&quot;&gt;初心者&lt;/a&gt;。

因为取的是低8位，所以不存在类型兼容的问题。然后这种写法不需要考虑signed 或者 unsigned的情况。]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/studsdt/#comment-19469">初心者</a>。</p>
<p>因为取的是低8位，所以不存在类型兼容的问题。然后这种写法不需要考虑signed 或者 unsigned的情况。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：初心者		</title>
		<link>https://www.lab-z.com/studsdt/#comment-19469</link>

		<dc:creator><![CDATA[初心者]]></dc:creator>
		<pubDate>Tue, 21 Jun 2016 09:09:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-19469</guid>

					<description><![CDATA[樓主你好，請問Sign[0],Sign[1],Sign[2]的寫法，是為了相容的型別嗎? 
為甚麼UINT32 和 CHAR16 彼此不相容的型別在Compiler下可以過關?
EX:  Sign[0]= (XSDT-&#062;Signature &#038; 0xFF);

另外裡面的0xFF只是為了取最低八位元吧，有考慮Signed 或 Unsigned的情況嗎?   
http://www.programmer-club.com.tw/showSameTitleN/c/38319.html]]></description>
			<content:encoded><![CDATA[<p>樓主你好，請問Sign[0],Sign[1],Sign[2]的寫法，是為了相容的型別嗎?<br />
為甚麼UINT32 和 CHAR16 彼此不相容的型別在Compiler下可以過關?<br />
EX:  Sign[0]= (XSDT-&gt;Signature &amp; 0xFF);</p>
<p>另外裡面的0xFF只是為了取最低八位元吧，有考慮Signed 或 Unsigned的情況嗎?<br />
<a href="http://www.programmer-club.com.tw/showSameTitleN/c/38319.html" rel="nofollow ugc">http://www.programmer-club.com.tw/showSameTitleN/c/38319.html</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：ziv2013		</title>
		<link>https://www.lab-z.com/studsdt/#comment-18856</link>

		<dc:creator><![CDATA[ziv2013]]></dc:creator>
		<pubDate>Thu, 09 Jun 2016 14:11:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-18856</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.lab-z.com/studsdt/#comment-18640&quot;&gt;初心者&lt;/a&gt;。

没有唉，不过我记得PI Spec中有一个 HDD 相关的Protocol你可以看看]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/studsdt/#comment-18640">初心者</a>。</p>
<p>没有唉，不过我记得PI Spec中有一个 HDD 相关的Protocol你可以看看</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：初心者		</title>
		<link>https://www.lab-z.com/studsdt/#comment-18640</link>

		<dc:creator><![CDATA[初心者]]></dc:creator>
		<pubDate>Mon, 06 Jun 2016 11:00:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-18640</guid>

					<description><![CDATA[請問樓主是否有寫過讀出HDD的INFORMATION
&#038;SMART FEATURE  相關的Application?]]></description>
			<content:encoded><![CDATA[<p>請問樓主是否有寫過讀出HDD的INFORMATION<br />
&amp;SMART FEATURE  相關的Application?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：ziv2013		</title>
		<link>https://www.lab-z.com/studsdt/#comment-14861</link>

		<dc:creator><![CDATA[ziv2013]]></dc:creator>
		<pubDate>Sat, 13 Feb 2016 12:04:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=3857#comment-14861</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.lab-z.com/studsdt/#comment-14848&quot;&gt;Timothy&lt;/a&gt;。

Hi Timothy,

That&#039;s great, thanks for your code.

Z.t]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/studsdt/#comment-14848">Timothy</a>。</p>
<p>Hi Timothy,</p>
<p>That&#8217;s great, thanks for your code.</p>
<p>Z.t</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
