<?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 (177）Setup String ITEM 的 Default Value」的评论	</title>
	<atom:link href="https://www.lab-z.com/stu177ss/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.lab-z.com/stu177ss/</link>
	<description></description>
	<lastBuildDate>Sun, 05 May 2019 05:16:08 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		评论者：ziv2013		</title>
		<link>https://www.lab-z.com/stu177ss/#comment-60445</link>

		<dc:creator><![CDATA[ziv2013]]></dc:creator>
		<pubDate>Sun, 05 May 2019 05:16:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=6285#comment-60445</guid>

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

谢谢哈，长知识。]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/stu177ss/#comment-60331">krishna</a>。</p>
<p>谢谢哈，长知识。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：krishna		</title>
		<link>https://www.lab-z.com/stu177ss/#comment-60332</link>

		<dc:creator><![CDATA[krishna]]></dc:creator>
		<pubDate>Thu, 02 May 2019 05:59:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=6285#comment-60332</guid>

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

ziv2013是对的，补充一下个人理解，Depex本身主要是解决依赖，各种模块之间可能有复杂的依赖。
一个模块要想运行，必须要满足依赖才能运行(这个dxe_dispatcher会帮我们自动分析依赖，让没有依赖的 或低依赖的先派发)（间接影响执行顺序。）
一个模块还可以register_protocol_notify，等到依赖满足会自动call注册的回调函数，完成剩下的任务。
只有DXE_DRIVER需要Depex,UEFI_DRIVER不需要Depex，因为UEFI_DRIVER已经隐含需要满足（所有architecture_protocols的依赖，参见PI spec),所以UEFI_DRIVER总是会（被自动由dxe_dispatcher）放到driver-list最后的去运行。]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/stu177ss/#comment-59936">ziv2013</a>。</p>
<p>ziv2013是对的，补充一下个人理解，Depex本身主要是解决依赖，各种模块之间可能有复杂的依赖。<br />
一个模块要想运行，必须要满足依赖才能运行(这个dxe_dispatcher会帮我们自动分析依赖，让没有依赖的 或低依赖的先派发)（间接影响执行顺序。）<br />
一个模块还可以register_protocol_notify，等到依赖满足会自动call注册的回调函数，完成剩下的任务。<br />
只有DXE_DRIVER需要Depex,UEFI_DRIVER不需要Depex，因为UEFI_DRIVER已经隐含需要满足（所有architecture_protocols的依赖，参见PI spec),所以UEFI_DRIVER总是会（被自动由dxe_dispatcher）放到driver-list最后的去运行。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：krishna		</title>
		<link>https://www.lab-z.com/stu177ss/#comment-60331</link>

		<dc:creator><![CDATA[krishna]]></dc:creator>
		<pubDate>Thu, 02 May 2019 05:45:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=6285#comment-60331</guid>

					<description><![CDATA[个人分析，这句“default  = STRING_TOKEN(STR_STRING_CHECK),” 可以写到inconsistentif 前后，
即可以写成：
inconsistentif prompt = STRING_TOKEN(STR_STRING_CHECK_ERROR_POPUP),
pushthis != stringref(STRING_TOKEN(STR_STRING_CHECK))
endif;
default  = STRING_TOKEN(STR_STRING_CHECK),

或写成：
default  = STRING_TOKEN(STR_STRING_CHECK),
inconsistentif prompt = STRING_TOKEN(STR_STRING_CHECK_ERROR_POPUP),
pushthis != stringref(STRING_TOKEN(STR_STRING_CHECK))
endif;

如果这样解析不过表示VFR解释器有bug。

关于“只能放在这个定义的末尾，如果放在中间。。。”，不可以放到string那个中间，是因为不符合语法:
&quot;default  = STRING_TOKEN(STR_STRING_CHECK),&quot;这句是一个单独的vfrStatementDefault,不属于vfrStatementString.

thanks.]]></description>
			<content:encoded><![CDATA[<p>个人分析，这句“default  = STRING_TOKEN(STR_STRING_CHECK),” 可以写到inconsistentif 前后，<br />
即可以写成：<br />
inconsistentif prompt = STRING_TOKEN(STR_STRING_CHECK_ERROR_POPUP),<br />
pushthis != stringref(STRING_TOKEN(STR_STRING_CHECK))<br />
endif;<br />
default  = STRING_TOKEN(STR_STRING_CHECK),</p>
<p>或写成：<br />
default  = STRING_TOKEN(STR_STRING_CHECK),<br />
inconsistentif prompt = STRING_TOKEN(STR_STRING_CHECK_ERROR_POPUP),<br />
pushthis != stringref(STRING_TOKEN(STR_STRING_CHECK))<br />
endif;</p>
<p>如果这样解析不过表示VFR解释器有bug。</p>
<p>关于“只能放在这个定义的末尾，如果放在中间。。。”，不可以放到string那个中间，是因为不符合语法:<br />
&#8220;default  = STRING_TOKEN(STR_STRING_CHECK),&#8221;这句是一个单独的vfrStatementDefault,不属于vfrStatementString.</p>
<p>thanks.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：陈		</title>
		<link>https://www.lab-z.com/stu177ss/#comment-59968</link>

		<dc:creator><![CDATA[陈]]></dc:creator>
		<pubDate>Fri, 26 Apr 2019 01:49:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=6285#comment-59968</guid>

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

好的，谢谢。我自己添加了一个模块，加了debug 信息居然没打印出来，连entrypoint都没跑就觉得奇怪]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/stu177ss/#comment-59936">ziv2013</a>。</p>
<p>好的，谢谢。我自己添加了一个模块，加了debug 信息居然没打印出来，连entrypoint都没跑就觉得奇怪</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：ziv2013		</title>
		<link>https://www.lab-z.com/stu177ss/#comment-59936</link>

		<dc:creator><![CDATA[ziv2013]]></dc:creator>
		<pubDate>Thu, 25 Apr 2019 13:04:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=6285#comment-59936</guid>

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

根据我的理解是：只有当这些 Protocol 的 GUID 已经存在才会执行这个模块。通过这样的方法可以控制执行顺序。如果对某一个功能有依赖，可以把那个功能创建的 GUID 写在这个位置，然后执行的时候会先检查，如果满足条件才会执行。]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/stu177ss/#comment-59925">陈</a>。</p>
<p>根据我的理解是：只有当这些 Protocol 的 GUID 已经存在才会执行这个模块。通过这样的方法可以控制执行顺序。如果对某一个功能有依赖，可以把那个功能创建的 GUID 写在这个位置，然后执行的时候会先检查，如果满足条件才会执行。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：陈		</title>
		<link>https://www.lab-z.com/stu177ss/#comment-59925</link>

		<dc:creator><![CDATA[陈]]></dc:creator>
		<pubDate>Thu, 25 Apr 2019 10:59:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=6285#comment-59925</guid>

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

我看这个地方都是填上一些protocol的GUID，但是不知道为什么要写上那些protocol]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/stu177ss/#comment-59921">ziv2013</a>。</p>
<p>我看这个地方都是填上一些protocol的GUID，但是不知道为什么要写上那些protocol</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：ziv2013		</title>
		<link>https://www.lab-z.com/stu177ss/#comment-59921</link>

		<dc:creator><![CDATA[ziv2013]]></dc:creator>
		<pubDate>Thu, 25 Apr 2019 09:54:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=6285#comment-59921</guid>

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

不好意思，没搞过，从来没有遇到这样的问题。我只知道这个是用来控制执行顺序的。]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.lab-z.com/stu177ss/#comment-59914">陈</a>。</p>
<p>不好意思，没搞过，从来没有遇到这样的问题。我只知道这个是用来控制执行顺序的。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：陈		</title>
		<link>https://www.lab-z.com/stu177ss/#comment-59914</link>

		<dc:creator><![CDATA[陈]]></dc:creator>
		<pubDate>Thu, 25 Apr 2019 07:35:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.lab-z.com/?p=6285#comment-59914</guid>

					<description><![CDATA[老兄你好，请问下inf中[Depex]是怎么写的？文档是在看不明白。。]]></description>
			<content:encoded><![CDATA[<p>老兄你好，请问下inf中[Depex]是怎么写的？文档是在看不明白。。</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
