<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>2.6.24 &#8211; richliu&#039;s blog</title>
	<atom:link href="https://richliu.com/tag/2624/feed/" rel="self" type="application/rss+xml" />
	<link>https://richliu.com</link>
	<description>Linux, 工作, 生活, 家人</description>
	<lastBuildDate>Thu, 15 May 2008 08:25:30 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Linux kernel 2.6.24 Porting 雜記.</title>
		<link>https://richliu.com/2008/05/15/593/linux-kernel-2624-porting-%e9%9b%9c%e8%a8%98/</link>
					<comments>https://richliu.com/2008/05/15/593/linux-kernel-2624-porting-%e9%9b%9c%e8%a8%98/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Thu, 15 May 2008 05:51:05 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[2.6.24]]></category>
		<category><![CDATA[napi]]></category>
		<category><![CDATA[network driver]]></category>
		<category><![CDATA[PCI]]></category>
		<guid isPermaLink="false">https://richliu.com/2008/05/15/593/</guid>

					<description><![CDATA[<p>最近將某個 Device Porting 從 2.6.16 Porting 上 2.6.24, 記錄一下碰到的 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://richliu.com/2008/05/15/593/linux-kernel-2624-porting-%e9%9b%9c%e8%a8%98/">Linux kernel 2.6.24 Porting 雜記.</a> appeared first on <a rel="nofollow" href="https://richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>最近將某個 Device Porting 從 2.6.16 Porting 上 2.6.24, 記錄一下碰到的問題.</p>
<p>1. Network Driver</p>
<p>當有這樣的訊息時<br />
# ifconfig eth0 up<br />
SIOCSIFFLAGS : invalid agument</p>
<p>我碰到的狀況是, MAC Address 必需要在 probe 時先行 initial 完成.<br />
若是沒有完成, ifconfig 就會出現這樣的錯誤訊息, 原因仍然不明.<br />
我的做法就是加一行<br />
memcpy(dev-&gt;dev_addr , addr, 6); 這樣就可以了.</p>
<p>2.6.24 的 NAPI Interface 改過了, 上比對一下 2.6.23 和 2.6.24 的 Code 就可以知道改了什麼地方.<br />
netif_poll_* 的 interface 改名了以外, NAPI hook 的 _poll function 在傳入參數和結構上有小小的修正</p>
<p>2.6.24 修改了 NAPI 的呼叫法, 對我這邊比較複雜的 Switch Driver 也應該修正一下.</p>
<p>2. PCI<br />
pci_find_device 要改用 pci_get_device. 這個 function 還很早就改名了,<br />
只是在 porting 這一版的時候, 多了一個選項<br />
[ ] Enable deprecated pci_find_* API.<br />
如果不想開就不用改了.</p>
<p>3. CPU<br />
2.6.24 CPU proc.info 結構和2.6.16 有一點點不一樣, 如果直接放上 2.6.24 則 CPU Info 會錯誤,<br />
這時要修改 mm/CPU-proc.S , 附上部份的 patch, 增加一個 word 大小, 這樣就可以顯示正常了.</p>
<blockquote><p> 		PMD_BIT4 | \<br />
PMD_SECT_AP_WRITE | \<br />
PMD_SECT_AP_READ<br />
+	.long   PMD_TYPE_SECT | \<br />
+		PMD_SECT_AP_WRITE | \<br />
+		PMD_SECT_AP_READ</p></blockquote>
<p>4. Interrupt.<br />
原來 SA_INTERRUPT/SA_SHIRQ 都改叫 IRQF_SHARED, 事實上, 這一組定義己經完全換掉了<br />
詳情請見 include\linux\Interrupt.h</p>
<p>5. DMA<br />
pci_free_consistent 被 dma_free_coherent 取代<br />
pci_alloc_consistent(..); 被 dma_alloc_coherent(.., GFP_KERNEL); 取代,  後面要多加一個參數.<br />
consistent_sync 被 dma_cache_maint 取代.<br />
算是小改&#8230;.</p>
<p>The post <a rel="nofollow" href="https://richliu.com/2008/05/15/593/linux-kernel-2624-porting-%e9%9b%9c%e8%a8%98/">Linux kernel 2.6.24 Porting 雜記.</a> appeared first on <a rel="nofollow" href="https://richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://richliu.com/2008/05/15/593/linux-kernel-2624-porting-%e9%9b%9c%e8%a8%98/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
