<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://etherboot.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://etherboot.org/wiki/feed.php">
        <title>Etherboot/gPXE Wiki soc:2011:meteger:journal</title>
        <description></description>
        <link>http://etherboot.org/wiki/</link>
        <image rdf:resource="http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico" />
       <dc:date>2026-08-05T17:44:59-07:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/start?rev=1313937737&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week1?rev=1306436469&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week2?rev=1307285293&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week3?rev=1307890888&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week4?rev=1308496517&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week5?rev=1309099533&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week6?rev=1309692062&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week7?rev=1310294494&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week8?rev=1310896796&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week9?rev=1311335326&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week10?rev=1312118456&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week12?rev=1313334396&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2011/meteger/journal/week13?rev=1313938896&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico">
        <title>Etherboot/gPXE Wiki</title>
        <link>http://etherboot.org/wiki/</link>
        <url>http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico</url>
    </image>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/start?rev=1313937737&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-21T07:42:17-07:00</dc:date>
        <title>soc:2011:meteger:journal:start</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/start?rev=1313937737&amp;do=diff</link>
        <description>Project Journal

	*  Week 1  ( May 23 - May 29 )
	*  Week 2  ( May 30 - Jun  5 )
	*  Week 3  ( Jun  6 - Jun 12 )
	*  Week 4  ( Jun 13 - Jun 19 )
	*  Week 5  ( Jun 20 - Jun 26 )
	*  Week 6  ( Jun 27 - Jul  3 )
	*  Week 7  ( Jul  4 - Jul 10 )
	*  Week 8  ( Jul 11 - Jul 17 )
	*  Week 9  ( Jul 18 - Jul 24 )
	*  Week 10 ( Jul 25 - Jul 31 )
	*  Week 11 ( Aug  1 - Aug  7 )
	*  Week 12 ( Aug  8 - Aug 14 )
	*  Week 13 ( Aug  15 - Aug 21 )</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week1?rev=1306436469&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-05-26T12:01:09-07:00</dc:date>
        <title>soc:2011:meteger:journal:week1</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week1?rev=1306436469&amp;do=diff</link>
        <description>Week 1 ( May 23 - May 29 )

Day 1 ( May 23 )

	*  Compile linux kernel from top-of-git code
	*  Push (unmodified, as of yet) linux working tree to etherboot server
	*  Understanding how tg3 probe, open, PHY, etc functions work, read relevant parts of the datasheet
	*  Make minor modification to tg3.c, compile and load module to get used to the process of compiling/testing kernel modules</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week2?rev=1307285293&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-05T07:48:13-07:00</dc:date>
        <title>soc:2011:meteger:journal:week2</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week2?rev=1307285293&amp;do=diff</link>
        <description>Day 1 ( May 30 )

Today I worked on removing the phylib code from the driver. It proved to be easier than expected and the PHY on my test card was correctly initialized by the PHY code in the driver without phylib. No issues were found in link detection after dis/reconnecting the link with different link speeds.
It made me suspicious that it worked so flawlessly, so I took some time going over the code again to make sure I didn't miss anything and to make sure we don't have to handle things diff…</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week3?rev=1307890888&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-12T08:01:28-07:00</dc:date>
        <title>soc:2011:meteger:journal:week3</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week3?rev=1307890888&amp;do=diff</link>
        <description>Day 1 ( June 6 )

Today I continued porting functions required for tg3_init_one() and its helper functions. In the process I also removed codepaths for some register access workarounds; we simply use the slower workaround functions in gPXE to save space.
Some initialization for LED control was removed, while other parts were only adapted to work with gPXE instead of linux</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week4?rev=1308496517&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-19T08:15:17-07:00</dc:date>
        <title>soc:2011:meteger:journal:week4</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week4?rev=1308496517&amp;do=diff</link>
        <description>Day 1 ( June 13 )

Started porting tg3_open() and functions needed by _open, e.g. tg3_reset_hw().

Day 2 ( June 14 )

Continued porting tg3_reset_hw() and auxiliary functions. Checking which parts are needed and which can be omitted is tedious task which makes this a slow process.
tg3_reset_hw() should be mostly done.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week5?rev=1309099533&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-26T07:45:33-07:00</dc:date>
        <title>soc:2011:meteger:journal:week5</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week5?rev=1309099533&amp;do=diff</link>
        <description>Day 1 ( June 20 )

Unfortunately not much work was done today due to two exams for college. I continued with the ring init functions and also took a look at the freebsd driver. It can be confusing to decide which steps are required and which steps can be omitted while still having the card function reliably. Taking a look at the simpler freebsd driver can save a lot of confusion.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week6?rev=1309692062&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-07-03T04:21:02-07:00</dc:date>
        <title>soc:2011:meteger:journal:week6</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week6?rev=1309692062&amp;do=diff</link>
        <description>Day 1 ( June 27 )

In yesterdays weekly meeting we decided to split the driver into several .c files. I started splitting the driver into tg3_hw.c which contains all the low-level NIC hardware access functions, and tg3_main.c which contains all the code that directly interacts with gPXE(e.g. tg3_open, tg3_transmit, etc).</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week7?rev=1310294494&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-07-10T03:41:34-07:00</dc:date>
        <title>soc:2011:meteger:journal:week7</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week7?rev=1310294494&amp;do=diff</link>
        <description>Day 1 ( July 4 )

Today I continued my investigation why the NIC doesn't set the link changed bit in the hw status register.

Day 2 ( July 5 )

Had my last exam today which, combined with driving to/from Vienna, took quite an amount of time, so fewer work was done today. Still no luck in tracking down the issue.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week8?rev=1310896796&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-07-17T02:59:56-07:00</dc:date>
        <title>soc:2011:meteger:journal:week8</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week8?rev=1310896796&amp;do=diff</link>
        <description>Day 0 ( July 10 )

Today I finally found the cause for the status field in the hardware status block being in big endian while it should have been swapped to little endian by the card.
The driver was using a #ifdef __BIG_ENDIAN. As it turns out this is not the correct way to distinguish between big/little endian systems in gPXE and the expression will always evaluate to true. Therefore we were always assuming we're a big endian system and disabled byte swapping again.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week9?rev=1311335326&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-07-22T04:48:46-07:00</dc:date>
        <title>soc:2011:meteger:journal:week9</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week9?rev=1311335326&amp;do=diff</link>
        <description>Day 0 ( July 17 )

Daily meeting, thanks to Stefan transmit seems to work now, even with 1GBit/s.

Day 1 ( July 18 )

In the meeting yesterday we discussed moving all functions relevant to rx ring and other memory allocations to tg3_main.c. I implemented this change today and also implemented the tx completion code. It seems to work so far, but isn't fully tested yet. The NIC hardware forces us to use a ring size of 512 ring entries, I haven't transmitted &gt; 512 packets yet to see if wrapping aro…</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week10?rev=1312118456&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-07-31T06:20:56-07:00</dc:date>
        <title>soc:2011:meteger:journal:week10</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week10?rev=1312118456&amp;do=diff</link>
        <description>Day 1 ( July 25 )

Some RX ring code reworking. Code simplified and functions moved from tg3_hw.c to the more appropriate tg3_main.c.

Day 2 ( July 26 )

Little coding today. Most of the time was spent verifying that we do things correctly by reading the datasheet, linux driver and etherboot driver. Added a missing function that sets thresholds for RX indications.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week12?rev=1313334396&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-14T08:06:36-07:00</dc:date>
        <title>soc:2011:meteger:journal:week12</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week12?rev=1313334396&amp;do=diff</link>
        <description>Day 1 ( Aug 8 )

I did some cleanups in the code today. I also implemented tg3_close() and tg3_remove_one(). Those were the last two missing functions and implementing them resulted in a successful first boot of the driver :).

Day 2 ( Aug 9 )

More cleanups. Removed most of the out-commented code that was left in the driver and some other simplifications. While going through the code I also compiled a list of suspicious looking things that I want to revisit the coming days.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2011/meteger/journal/week13?rev=1313938896&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-21T08:01:36-07:00</dc:date>
        <title>soc:2011:meteger:journal:week13</title>
        <link>http://etherboot.org/wiki/soc/2011/meteger/journal/week13?rev=1313938896&amp;do=diff</link>
        <description>Day 1 ( Aug 15 )

In yesterdays meeting mdc tested the driver and experienced a freeze-issue. We have a detailed debugging log generated by DEBUG=tg3_main:7,tg3_phy:7,tg3_hw:7 that I went through today. I have isolated two candidates of lines that could possibly cause this issue; have to get in touch with mdc to run some tests.</description>
    </item>
</rdf:RDF>
