<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.coreboot.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.coreboot.org/api.php?action=feedcontributions&amp;user=PatrickGeorgi&amp;feedformat=atom</id>
		<title>coreboot - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.coreboot.org/api.php?action=feedcontributions&amp;user=PatrickGeorgi&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Special:Contributions/PatrickGeorgi"/>
		<updated>2013-05-20T12:01:35Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.20.5</generator>

	<entry>
		<id>http://www.coreboot.org/Where_to_start</id>
		<title>Where to start</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Where_to_start"/>
				<updated>2013-05-07T20:10:09Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unfortunately we don't have much documentation to provide a nice learning curve. You can get help on [[IRC]] or the [[Mailinglist]], and if you're so inclined, we'd _really_ _really_ love contributions in the area of How Tos and documentation.&lt;br /&gt;
&lt;br /&gt;
That said, we have a couple of lists of possible tasks:&lt;br /&gt;
&lt;br /&gt;
* [[Project_Ideas]] contains projects that should be useful for [[GSoC]]-type timeframes, ie. 3 months or so. It also contains lists of project members that are interested in each project, so they volunteer to mentor newcomers (probably outside GSoC, too)&lt;br /&gt;
* [[Infrastructure_Projects]] are mostly cleanup projects. That sounds boring, but some of them might be a good entry point to various subsystems of coreboot, since you're exposed to a whole lot of code, while working on a relatively constrained task.&lt;br /&gt;
* Finally, we keep some TODOs on [https://trello.com/board/todos/4fc49d2461ea68c009decc4b Trello]. While this is mostly a personal collective notepad of a couple of developers, feel free to claim items there.&lt;br /&gt;
&lt;br /&gt;
For all of them: We're a generally friendly community (though you might encounter a grumpy developer sometimes - we're just human, too), and like to help people who want to get started.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Where_to_start</id>
		<title>Where to start</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Where_to_start"/>
				<updated>2013-05-07T18:04:12Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unfortunately we don't have much documentation to provide a nice learning curve. You can get help on [[IRC]] or the [[Mailinglist]], and if you're so inclined, we'd _really_ _really_ love contributions in the area of How Tos and documentation.&lt;br /&gt;
&lt;br /&gt;
That said, we have a couple of lists of possible tasks:&lt;br /&gt;
&lt;br /&gt;
* [[Project_Ideas]] contains projects that should be useful for [[GSoC]]-type timeframes, ie. 3 months or so. It also contains lists of project members that are interested in each project, so they volunteer to mentor newcomers (probably outside GSoC, too)&lt;br /&gt;
* [[Infrastructure_Projects]] are mostly cleanup projects. That sounds boring, but some of them might be a good entry point to various subsystems of coreboot, since you're exposed to a whole lot of code, while working on a relatively constrained task.&lt;br /&gt;
* Finally, we keep some TODOs on [[https://trello.com/board/todos/4fc49d2461ea68c009decc4b Trello]]. While this is mostly a personal collective notepad of a couple of developers, feel free to claim items there.&lt;br /&gt;
&lt;br /&gt;
For all of them: We're a generally friendly community (though you might encounter a grumpy developer sometimes - we're just human, too), and like to help people who want to get started.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Where_to_start</id>
		<title>Where to start</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Where_to_start"/>
				<updated>2013-05-07T18:01:52Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: Created page with &amp;quot;= Where to start = Unfortunately we don't have much documentation to provide a nice learning curve. You can get help on IRC or the Mailinglist, and if you're so inclin...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Where to start =&lt;br /&gt;
Unfortunately we don't have much documentation to provide a nice learning curve. You can get help on [[IRC]] or the [[Mailinglist]], and if you're so inclined, we'd _really_ _really_ love contributions in the area of How Tos and documentation.&lt;br /&gt;
&lt;br /&gt;
That said, we have a couple of lists of possible tasks:&lt;br /&gt;
&lt;br /&gt;
* [[Project_Ideas]] contains projects that should be useful for [[GSoC]]-type timeframes, ie. 3 months or so. It also contains lists of project members that are interested in each project, so they volunteer to mentor newcomers (probably outside GSoC, too)&lt;br /&gt;
* [[Infrastructure_Projects]] are mostly cleanup projects. That sounds boring, but some of them might be a good entry point to various subsystems of coreboot, since you're exposed to a whole lot of code, while working on a relatively constrained task.&lt;br /&gt;
* Finally, we keep some TODOs on [[https://trello.com/board/todos/4fc49d2461ea68c009decc4b Trello]]. While this is mostly a personal collective notepad of a couple of developers, feel free to claim items there.&lt;br /&gt;
&lt;br /&gt;
For all of them: We're a generally friendly community (though you might encounter a grumpy developer sometimes - we're just human, too), and like to help people who want to get started.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Welcome_to_coreboot</id>
		<title>Welcome to coreboot</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Welcome_to_coreboot"/>
				<updated>2013-05-07T17:55:27Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:0.5em; margin-bottom:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#efefff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
'''coreboot''' is a Free Software project aimed at replacing the proprietary [http://wikipedia.org/wiki/BIOS BIOS] (firmware) found in most computers. coreboot performs a little bit of hardware initialization and then executes additional boot logic, called a [[Payloads|payload]].&lt;br /&gt;
&lt;br /&gt;
With the separation of hardware initialization and later boot logic, coreboot can scale from specialized applications that run directly from firmware, run operating systems in flash, load custom bootloaders, or implement firmware standards, like [[SeaBIOS | PC BIOS services]] or [[TianoCore | UEFI]]. This allows for systems to only include the features necessary in the target application, reducing the amount of code and flash space required.&lt;br /&gt;
&lt;br /&gt;
coreboot currently supports over '''[[Supported Motherboards|230]]''' different mainboards. Check the [[Support]] page to see if your system is supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
coreboot was formerly known as [http://www.coreboot.org/pipermail/coreboot/2008-January/029135.html LinuxBIOS]. &lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:0.5em; margin-bottom:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#efefff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
coreboot recently switched to [[git]] and [http://review.coreboot.org gerrit] is now used as patch review tool.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=8 border=0 margin=0 padding=0 align=&amp;quot;top&amp;quot; width=100%&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Benefits|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Benefits]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* 100% Free Software (GPL), no royalties, no license fees!&lt;br /&gt;
* Fast boot times (500 milliseconds to verified Linux kernel)&lt;br /&gt;
&amp;lt;!-- * Avoids the need for a slow/buggy/proprietary BIOS --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Runs in 32-Bit protected mode almost from the start --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Written in C, contains virtually no assembly code --&amp;gt;&lt;br /&gt;
* Supports many [[Supported Motherboards|mainboards]], [[Supported Chipsets and Devices|chipsets]], and [[payloads]]&lt;br /&gt;
&amp;lt;!-- * Further features: netboot, serial console, remote flashing, ... --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Use Cases|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Use Cases]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* Desktop PCs, servers, [[Laptop|laptops]]&lt;br /&gt;
* [[Clusters]]&lt;br /&gt;
&amp;lt;!-- * Set-Top-Boxes, thin clients --&amp;gt;&lt;br /&gt;
* Embedded solutions&lt;br /&gt;
&amp;lt;!-- * [http://en.wikipedia.org/wiki/Small_form_factor Small form factor computers], [http://en.wikipedia.org/wiki/Home_theater_PC Home-theater PCs] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * No-moving-parts solutions (ROM chip as &amp;quot;disk&amp;quot;) --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Non-standard scenarios (e.g. FPGA in Opteron socket) --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Payloads|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Payloads]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[SeaBIOS]] / [[FILO]] / [[GRUB2]] / [[Payloads|...]] &amp;lt;!-- / [[OpenFirmware]] / [[OpenBIOS]] --&amp;gt;&lt;br /&gt;
* [[Linux]] / [[Windows]] / [[FreeBSD]] / [[NetBSD]] / [[Payloads|...]] &amp;lt;!-- / [http://openbsd.org/ OpenBSD]--&amp;gt;&lt;br /&gt;
* [[Etherboot]] / [[GPXE]] / [[iPXE]] / [[Payloads|...]]&lt;br /&gt;
&amp;lt;!--* [[Memtest86]]&lt;br /&gt;
* [[Bayou]] / [[Coreinfo]] / [[Tint]] / [[Libpayload]]--&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=5 cellpadding=15 border=0 valign=&amp;quot;top&amp;quot; width=100%&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_cb.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;About&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Find out more about coreboot.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Press]] | [[Logo]] | [[History]] | [[Screenshots|Screenshots/Videos]] | [[Contributors]] | [[Sponsors]] | [[Products]] | [[Vendors]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_devel.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Developers&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Get involved! Help us make coreboot better.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Development Guidelines]] | [[Developer Manual]] | [http://qa.coreboot.org/docs/doxygen.php Doxygen] | [http://review.coreboot.org/gitweb?p=coreboot.git;a=tree Browse Source] | [[GSoC]] | [[Where to start]] | [[Distributed and Automated Testsystem|Testsystem]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_status.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Find out whether your hardware is already supported.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Supported Motherboards|Supported Boards]] | [[Supported Chipsets and Devices|Supported Chipsets]] | [[:Category:Tutorials|Board Status Pages]] | [http://qa.coreboot.org Build Status]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_tools.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Related Tools&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Tools and libraries related to coreboot.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[http://www.flashrom.org flashrom] | [[Superiotool]] | [[Nvramtool]] | [[Buildrom]] | [[Mkelfimage]] | [[Inteltool]] | [[Msrtool]] | [[Ectool]] | [[Developer_Manual/Tools|Hardware tools]] | [[Abuild]] | [http://serialice.com SerialICE]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_101.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Getting Started&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Download coreboot and get started.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Build HOWTO]] | [[Download coreboot|Downloads]] | [[Documentation]] | [[QEMU]] | [[AMD SimNow]] | [[Build from Windows]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_support.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Support&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Learn how to contact us and find help and support.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[FAQ]] | [[Mailinglist]] | [[IRC]] | [http://tracker.coreboot.org/trac/coreboot/ Issue Tracker] | [[Glossary]] | [[coreboot Options|coreboot Options]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Coreboot menuconfig.png|center|thumb|[[Build HOWTO|make menuconfig]] in coreboot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[http://blogs.coreboot.org News (blog)]&amp;lt;/span&amp;gt;'''&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=5&amp;gt;http://blogs.coreboot.org/feed/&amp;lt;/rss&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Current events|Upcoming Events]]&amp;lt;/span&amp;gt;'''&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;!-- List of upcoming events (remove events after they have taken place). --&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;!-- * '''2011/mon/day:''' coreboot event at [[Link]] in somecity --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
{{#widget:Ohloh Project|id=coreboot|type=partner_badge}}&lt;br /&gt;
{{#widget:Ohloh Project|id=coreboot|type=cocomo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Welcome_to_coreboot</id>
		<title>Welcome to coreboot</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Welcome_to_coreboot"/>
				<updated>2013-05-07T17:55:00Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: Flag_Days is dead :-( use its slot for a page about possible tasks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:0.5em; margin-bottom:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#efefff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
'''coreboot''' is a Free Software project aimed at replacing the proprietary [http://wikipedia.org/wiki/BIOS BIOS] (firmware) found in most computers. coreboot performs a little bit of hardware initialization and then executes additional boot logic, called a [[Payloads|payload]].&lt;br /&gt;
&lt;br /&gt;
With the separation of hardware initialization and later boot logic, coreboot can scale from specialized applications that run directly from firmware, run operating systems in flash, load custom bootloaders, or implement firmware standards, like [[SeaBIOS | PC BIOS services]] or [[TianoCore | UEFI]]. This allows for systems to only include the features necessary in the target application, reducing the amount of code and flash space required.&lt;br /&gt;
&lt;br /&gt;
coreboot currently supports over '''[[Supported Motherboards|230]]''' different mainboards. Check the [[Support]] page to see if your system is supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
coreboot was formerly known as [http://www.coreboot.org/pipermail/coreboot/2008-January/029135.html LinuxBIOS]. &lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:0.5em; margin-bottom:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#efefff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
coreboot recently switched to [[git]] and [http://review.coreboot.org gerrit] is now used as patch review tool.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=8 border=0 margin=0 padding=0 align=&amp;quot;top&amp;quot; width=100%&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Benefits|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Benefits]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* 100% Free Software (GPL), no royalties, no license fees!&lt;br /&gt;
* Fast boot times (500 milliseconds to verified Linux kernel)&lt;br /&gt;
&amp;lt;!-- * Avoids the need for a slow/buggy/proprietary BIOS --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Runs in 32-Bit protected mode almost from the start --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Written in C, contains virtually no assembly code --&amp;gt;&lt;br /&gt;
* Supports many [[Supported Motherboards|mainboards]], [[Supported Chipsets and Devices|chipsets]], and [[payloads]]&lt;br /&gt;
&amp;lt;!-- * Further features: netboot, serial console, remote flashing, ... --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Use Cases|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Use Cases]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* Desktop PCs, servers, [[Laptop|laptops]]&lt;br /&gt;
* [[Clusters]]&lt;br /&gt;
&amp;lt;!-- * Set-Top-Boxes, thin clients --&amp;gt;&lt;br /&gt;
* Embedded solutions&lt;br /&gt;
&amp;lt;!-- * [http://en.wikipedia.org/wiki/Small_form_factor Small form factor computers], [http://en.wikipedia.org/wiki/Home_theater_PC Home-theater PCs] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * No-moving-parts solutions (ROM chip as &amp;quot;disk&amp;quot;) --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Non-standard scenarios (e.g. FPGA in Opteron socket) --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Payloads|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Payloads]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[SeaBIOS]] / [[FILO]] / [[GRUB2]] / [[Payloads|...]] &amp;lt;!-- / [[OpenFirmware]] / [[OpenBIOS]] --&amp;gt;&lt;br /&gt;
* [[Linux]] / [[Windows]] / [[FreeBSD]] / [[NetBSD]] / [[Payloads|...]] &amp;lt;!-- / [http://openbsd.org/ OpenBSD]--&amp;gt;&lt;br /&gt;
* [[Etherboot]] / [[GPXE]] / [[iPXE]] / [[Payloads|...]]&lt;br /&gt;
&amp;lt;!--* [[Memtest86]]&lt;br /&gt;
* [[Bayou]] / [[Coreinfo]] / [[Tint]] / [[Libpayload]]--&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=5 cellpadding=15 border=0 valign=&amp;quot;top&amp;quot; width=100%&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_cb.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;About&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Find out more about coreboot.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Press]] | [[Logo]] | [[History]] | [[Screenshots|Screenshots/Videos]] | [[Contributors]] | [[Sponsors]] | [[Products]] | [[Vendors]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_devel.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Developers&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Get involved! Help us make coreboot better.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Development Guidelines]] | [[Developer Manual]] | [http://qa.coreboot.org/docs/doxygen.php Doxygen] | [http://review.coreboot.org/gitweb?p=coreboot.git;a=tree Browse Source] | [[GSoC]] | [[Where to contribute]] | [[Distributed and Automated Testsystem|Testsystem]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_status.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Find out whether your hardware is already supported.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Supported Motherboards|Supported Boards]] | [[Supported Chipsets and Devices|Supported Chipsets]] | [[:Category:Tutorials|Board Status Pages]] | [http://qa.coreboot.org Build Status]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_tools.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Related Tools&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Tools and libraries related to coreboot.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[http://www.flashrom.org flashrom] | [[Superiotool]] | [[Nvramtool]] | [[Buildrom]] | [[Mkelfimage]] | [[Inteltool]] | [[Msrtool]] | [[Ectool]] | [[Developer_Manual/Tools|Hardware tools]] | [[Abuild]] | [http://serialice.com SerialICE]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_101.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Getting Started&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Download coreboot and get started.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Build HOWTO]] | [[Download coreboot|Downloads]] | [[Documentation]] | [[QEMU]] | [[AMD SimNow]] | [[Build from Windows]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_support.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Support&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Learn how to contact us and find help and support.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[FAQ]] | [[Mailinglist]] | [[IRC]] | [http://tracker.coreboot.org/trac/coreboot/ Issue Tracker] | [[Glossary]] | [[coreboot Options|coreboot Options]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Coreboot menuconfig.png|center|thumb|[[Build HOWTO|make menuconfig]] in coreboot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[http://blogs.coreboot.org News (blog)]&amp;lt;/span&amp;gt;'''&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=5&amp;gt;http://blogs.coreboot.org/feed/&amp;lt;/rss&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Current events|Upcoming Events]]&amp;lt;/span&amp;gt;'''&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;!-- List of upcoming events (remove events after they have taken place). --&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;!-- * '''2011/mon/day:''' coreboot event at [[Link]] in somecity --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
{{#widget:Ohloh Project|id=coreboot|type=partner_badge}}&lt;br /&gt;
{{#widget:Ohloh Project|id=coreboot|type=cocomo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-04-13T19:17:20Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Tianocore as payload */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are ideas that have been proposed in the community. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases. But of course these are not the only things that could be done. Maybe you have a great idea that we just didn't think of yet. Please let us know! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prospective  [[GSoC]] students' application should expand on the ideas and provide specific information in the application. If you have questions or comments, please please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel &amp;lt;code&amp;gt;#coreboot&amp;lt;/code&amp;gt; on [https://webchat.freenode.net irc.freenode.net]. Our [[GSoC#Mentors]] are here to help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= coreboot Projects =&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test suite  ==&lt;br /&gt;
&lt;br /&gt;
Create a single tool (most likely a bootable CD/USB drive image) to be booted by coreboot (preferably seabios and FILO) that runs a suite of tests and gathers the results. The tool may also be run on vendor BIOS (for the Red Hat and Canonical developers that work on these) to verify is an issue created/fixed by coreboot or seabios?). &lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think the base image/kernel would be used, the method of generating the image, what test you are targeting, and how results are gathered. &lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* https://wiki.ubuntu.com/Kernel/Reference/fwts&lt;br /&gt;
* http://biosbits.org/ &lt;br /&gt;
* http://linuxfirmwarekit.org/&lt;br /&gt;
* http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* Linux scripting and application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* A coreboot mainboard  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
&lt;br /&gt;
One of the biggest challenges in coreboot is that it supports many systems in the same codebase. As  coreboot develop and systems age, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark.  The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
* http://www.flashrom.org/Supported_hardware&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* wiki and web application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* LAMP setup&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
&lt;br /&gt;
coreboot has a build bot that builds various configurations of coreboot on every gerrit commit. We would like to extend the current build infrastructure with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* compiler build and makefile knowledge: competent&lt;br /&gt;
* Jenkins and test automation: novice&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot build environment  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for mainboards == &lt;br /&gt;
&lt;br /&gt;
Identify potential mainboards to port based on the recently release cpu and chipset support. The goal would be to support publicly available platforms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice to competent&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* mainboard to port&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ARM SoC's mainboard port==&lt;br /&gt;
&lt;br /&gt;
While the links below are still relevant, there's now a coreboot port for ARM Exynos5. It was contributed by Google and the chip is used in a Chromebook. The port isn't quite done, but some of the heavy lifting is done, so ports to other SoCs should be easier.&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
* [http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
* [http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SoC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011: &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ARM architecture: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* ARM mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implement advanced coreboot features on existing mainboards ==&lt;br /&gt;
&lt;br /&gt;
A lot of cool new coreboot features are only available on a small subset of the supported mainboards. Those features include:&lt;br /&gt;
* global variables in romstage&lt;br /&gt;
* relocatable ramstage&lt;br /&gt;
* cbmem console&lt;br /&gt;
* timestamps/performance data&lt;br /&gt;
&lt;br /&gt;
This project would identify how to bring those features forward to more boards and complete porting of said mainboards.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI 4.0 and S3 power management  ==&lt;br /&gt;
&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but the implementations are mainboard specific and mostly based on ACPI 2.0. Create a generic solution for ACPI 4.0 table generation and S3 support across all mainboards. &lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ACPI and power managment: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tianocore as payload ==&lt;br /&gt;
&lt;br /&gt;
What SeaBIOS is for PC-BIOS interfaces, Tianocore is for UEFI. Tianocore is the reference implementation that most commercial UEFIs are built on. While coreboot favors other design goals than UEFI, it is really useful to support this standard that's being pushed on the market, just like SeaBIOS really helped coreboot by providing a BIOS &amp;quot;frontend&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There's already some code, but there's still much room for improvement: A graphics driver that uses a pre-initialized (by coreboot) framebuffer. A CBFS driver so Tiano can access coreboot flash storage. Based on that, a flash driver (maybe adapted from flashrom) to implement non-volatile variable storage by writing to flash.&lt;br /&gt;
&lt;br /&gt;
Possible tasks depend a lot on existing knowledge of the candidate. Few of the tasks are large enough to fill the entire GSoC time frame with one of them. Feel free to discuss with us on IRC what a suitable target could be for you.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://www.tianocore.org/&lt;br /&gt;
* https://github.com/pgeorgi/edk2/tree/coreboot-pkg&lt;br /&gt;
* https://trello.com/board/tiano-payload/510e8a0693c71c3256006e00 (possible TODOs for the project)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
* UEFI/BIOS firmare: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* hardware automation: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* able to acquire and develop hardware to be used in automation  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system. &lt;br /&gt;
&lt;br /&gt;
The basic idea is that the system flash image always contains executable for SerialICE. Instead of loading a coreboot romstage, firmware can boot to SerialICE based on some GPIO state, a keypress sequence or a logged failure on earlier boots. It is possible to integrate this into the coreboot build tree as a bootblock option, in the same spot as the fallback/normal switch and the simple loader.&lt;br /&gt;
&lt;br /&gt;
Having this capability opens up new possibilities:&lt;br /&gt;
&lt;br /&gt;
During the lifetime of a mainboard, new requirements for ACPI hacks and CPU microcodes introduce the need to update boot firmware at customer site. The firmware shall have recovery path against any failures during the firmware update process. The most straight-forward solution is to do intelligent allocation of files in the CBFS such that files critical to the recovery are located on write-protected pages. The recovery path shall require only an USB mass-storage with compatible filesystem (ext2, fat32).&lt;br /&gt;
&lt;br /&gt;
The ability to dual-boot reduces the amount of tools required to reverse-engineer proprietary BIOS on ports for new mainboards. It is increasingly common that the flash chips are a) not socketed or b) physically hard to access (laptops). Even if chipset support existed already for a board, there are a lot of configuration registers for PCI-e links and GPIO signals that are difficult to get right by code disassembly only. With panic room implementation there would be no need to use external programmers or flashchip hot-swap method to alternate between SerialICE (for proprietary BIOS) and coreboot romstage boots.&lt;br /&gt;
&lt;br /&gt;
SerialICE requires minimal hardware resources and does not require installed RAM or display hardware. It could be used as the first power-on environment after mainboard PCB verification and assembly to verify integrated components enumerate correctly. At the end of this first power-on, actual board firmware can be programmed without the need for external programmers and SOIC-8 clips, as the SPI controller embedded in the chipset can be used instead. As setting up EHCI debug port console is fairly simple across different chipsets, it can be used to print detailed diagnostics instead of POST codes on LPC bus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GSoC 2011 project [http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/] was able to:&lt;br /&gt;
* Link flashrom with libpayload and flash from USB drive in a pre-OS environment.&lt;br /&gt;
* Optimise flashrom memory usage to flash in pre-ram/cache-as-ram environment.&lt;br /&gt;
* Build SerialICE boot ROM inside the coreboot tree and share some of the PnP/SuperIO source code.&lt;br /&gt;
* Demonstrate booting alternative payload on keypress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are remaining open tasks to:&lt;br /&gt;
* Bring the GSoC 2011 patches up-to-date with current flashrom and libpayload trees.&lt;br /&gt;
* Create generic solution to jump to recovery mode using input from GPIOs and/or use of power-button override.&lt;br /&gt;
* Use SMBus/SMLink to send POST failure codes over ethernet using integrated network controllers.&lt;br /&gt;
* After panic(), dump RAM contents before they are overwritten.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
We had some data structure work being done in coreboot v3 (based on DTS device tree source), but the approach back then didn't have the desired results. Still, if you want to tackle this task you can get some valuable information in past coreboot v3 discussions about what's feasible and what's infeasible.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* Check out the various devicetree.cb files in the src/ directory of the coreboot repository.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
Alternatively, figure out a way how to build them in parallel and have coreboot select the right one on runtime.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* src/cpu/amd/ inside the coreboot source tree&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent &lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* AMD coreboot mainboard and required silicon&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AMD VSA ==&lt;br /&gt;
&lt;br /&gt;
Get the existing source code of AMD's VSA compiled and working with an open source toolchain. Integrate it into the current build system.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[OpenVSA]], [[AMD Geode Porting Guide]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard that uses VSA&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Native graphics init ==&lt;br /&gt;
&lt;br /&gt;
Implement native initialization of the graphics hardware (probably AMD or Intel) so no Video BIOS is needed.&lt;br /&gt;
&lt;br /&gt;
This should be added in a maintainable way, that means that updates in the Linux code, if that is used to build upon, can be easily integrated. The code needs to be structured in such a way, that – at least for a certain generation – other boards can use native graphics initialization.&lt;br /&gt;
&lt;br /&gt;
A test and performance possibility, like a payload testing the correct initialization, needs to be added too.&lt;br /&gt;
&lt;br /&gt;
This could be done in combination with making a board port.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [https://docs.google.com/document/d/1g8FMob25VZYxbWri2iFB8YiSL8gwF9vKJH3HGxr0xQU/edit?pli=1# Fast User Interface – Death to Video BIOS]&lt;br /&gt;
* [http://www.coreboot.org/pipermail/coreboot/2013-March/075512.html Small discussion about initialization of AMD graphics hardware]&lt;br /&gt;
* [http://www.coreboot.org/pipermail/coreboot/2013-April/075655.html “Recruitment” message to mailing lists]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent&lt;br /&gt;
* Linux graphics stack: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* …&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== End user flash tool ==&lt;br /&gt;
&lt;br /&gt;
A tool that takes a coreboot image without payload, and payload binaries (so the user can select which payload to use), combines them according to user wishes. &lt;br /&gt;
It copies other required components (EC/ME firmware, VGABIOS) from the running system (ie. dump flash, extract data) and compares their hash against a white list (so we can vouch for their compatibility), then writes the result to flash, unlocking flash if necessary.&lt;br /&gt;
&lt;br /&gt;
Ideally it's a portable graphical tool (assuming that flashrom is available for the target OS). It could use flashrom, the bios_extract tools, and cbfstool in the background and provide the glue to make things work.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: novice&lt;br /&gt;
* Systems programming, GUI programming: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* …&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= flashrom Projects =&lt;br /&gt;
&lt;br /&gt;
Flashrom is a project that is closely associated with coreboot and we work together where possible. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
[http://www.flashrom.org/GSoC flashrom project ideas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Dhendrix|David Hendricks]]&lt;br /&gt;
* [http://www.flashrom.org/User:Roysjosh Joshua Roys]&lt;br /&gt;
* [http://www.flashrom.org/User:Hailfinger Carl-Daniel Hailfinger]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SerialICE Projects =&lt;br /&gt;
&lt;br /&gt;
SerialICE is a project that started out as tool for coreboot development. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://serialice.com/GSoC SerialICE project ideas]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-04-12T07:15:55Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* coreboot Projects */ Add end user flash tool&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are ideas that have been proposed in the community. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases. But of course these are not the only things that could be done. Maybe you have a great idea that we just didn't think of yet. Please let us know! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prospective  [[GSoC]] students' application should expand on the ideas and provide specific information in the application. If you have questions or comments, please please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel &amp;lt;code&amp;gt;#coreboot&amp;lt;/code&amp;gt; on [https://webchat.freenode.net irc.freenode.net]. Our [[GSoC#Mentors]] are here to help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= coreboot Projects =&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test suite  ==&lt;br /&gt;
&lt;br /&gt;
Create a single tool (most likely a bootable CD/USB drive image) to be booted by coreboot (preferably seabios and FILO) that runs a suite of tests and gathers the results. The tool may also be run on vendor BIOS (for the Red Hat and Canonical developers that work on these) to verify is an issue created/fixed by coreboot or seabios?). &lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think the base image/kernel would be used, the method of generating the image, what test you are targeting, and how results are gathered. &lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* https://wiki.ubuntu.com/Kernel/Reference/fwts&lt;br /&gt;
* http://biosbits.org/ &lt;br /&gt;
* http://linuxfirmwarekit.org/&lt;br /&gt;
* http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* Linux scripting and application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* A coreboot mainboard  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
&lt;br /&gt;
One of the biggest challenges in coreboot is that it supports many systems in the same codebase. As  coreboot develop and systems age, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark.  The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
* http://www.flashrom.org/Supported_hardware&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* wiki and web application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* LAMP setup&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
&lt;br /&gt;
coreboot has a build bot that builds various configurations of coreboot on every gerrit commit. We would like to extend the current build infrastructure with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* compiler build and makefile knowledge: competent&lt;br /&gt;
* Jenkins and test automation: novice&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot build environment  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for mainboards == &lt;br /&gt;
&lt;br /&gt;
Identify potential mainboards to port based on the recently release cpu and chipset support. The goal would be to support publicly available platforms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice to competent&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* mainboard to port&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ARM SoC's mainboard port==&lt;br /&gt;
&lt;br /&gt;
While the links below are still relevant, there's now a coreboot port for ARM Exynos5. It was contributed by Google and the chip is used in a Chromebook. The port isn't quite done, but some of the heavy lifting is done, so ports to other SoCs should be easier.&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
* [http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
* [http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SoC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011: &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ARM architecture: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* ARM mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implement advanced coreboot features on existing mainboards ==&lt;br /&gt;
&lt;br /&gt;
A lot of cool new coreboot features are only available on a small subset of the supported mainboards. Those features include:&lt;br /&gt;
* global variables in romstage&lt;br /&gt;
* relocatable ramstage&lt;br /&gt;
* cbmem console&lt;br /&gt;
* timestamps/performance data&lt;br /&gt;
&lt;br /&gt;
This project would identify how to bring those features forward to more boards and complete porting of said mainboards.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI 4.0 and S3 power management  ==&lt;br /&gt;
&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but the implementations are mainboard specific and mostly based on ACPI 2.0. Create a generic solution for ACPI 4.0 table generation and S3 support across all mainboards. &lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ACPI and power managment: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tianocore as payload ==&lt;br /&gt;
&lt;br /&gt;
What SeaBIOS is for PC-BIOS interfaces, Tianocore is for UEFI. Tianocore is the reference implementation that most commercial UEFIs are built on. While coreboot favors other design goals than UEFI, it is really useful to support this standard that's being pushed on the market, just like SeaBIOS really helped coreboot by providing a BIOS &amp;quot;frontend&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There's already some code, but there's still much room for improvement: A graphics driver that uses a pre-initialized (by coreboot) framebuffer. A CBFS driver so Tiano can access coreboot flash storage. Based on that, a flash driver (maybe adapted from flashrom) to implement non-volatile variable storage by writing to flash.&lt;br /&gt;
&lt;br /&gt;
Possible tasks depend a lot on existing knowledge of the candidate. Few of the tasks are large enough to fill the entire GSoC time frame with one of them. Feel free to discuss with us on IRC what a suitable target could be for you.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://www.tianocore.org/&lt;br /&gt;
* https://github.com/pgeorgi/edk2/tree/coreboot-pkg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
* UEFI/BIOS firmare: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* hardware automation: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* able to acquire and develop hardware to be used in automation  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system. &lt;br /&gt;
&lt;br /&gt;
The basic idea is that the system flash image always contains executable for SerialICE. Instead of loading a coreboot romstage, firmware can boot to SerialICE based on some GPIO state, a keypress sequence or a logged failure on earlier boots. It is possible to integrate this into the coreboot build tree as a bootblock option, in the same spot as the fallback/normal switch and the simple loader.&lt;br /&gt;
&lt;br /&gt;
Having this capability opens up new possibilities:&lt;br /&gt;
&lt;br /&gt;
During the lifetime of a mainboard, new requirements for ACPI hacks and CPU microcodes introduce the need to update boot firmware at customer site. The firmware shall have recovery path against any failures during the firmware update process. The most straight-forward solution is to do intelligent allocation of files in the CBFS such that files critical to the recovery are located on write-protected pages. The recovery path shall require only an USB mass-storage with compatible filesystem (ext2, fat32).&lt;br /&gt;
&lt;br /&gt;
The ability to dual-boot reduces the amount of tools required to reverse-engineer proprietary BIOS on ports for new mainboards. It is increasingly common that the flash chips are a) not socketed or b) physically hard to access (laptops). Even if chipset support existed already for a board, there are a lot of configuration registers for PCI-e links and GPIO signals that are difficult to get right by code disassembly only. With panic room implementation there would be no need to use external programmers or flashchip hot-swap method to alternate between SerialICE (for proprietary BIOS) and coreboot romstage boots.&lt;br /&gt;
&lt;br /&gt;
SerialICE requires minimal hardware resources and does not require installed RAM or display hardware. It could be used as the first power-on environment after mainboard PCB verification and assembly to verify integrated components enumerate correctly. At the end of this first power-on, actual board firmware can be programmed without the need for external programmers and SOIC-8 clips, as the SPI controller embedded in the chipset can be used instead. As setting up EHCI debug port console is fairly simple across different chipsets, it can be used to print detailed diagnostics instead of POST codes on LPC bus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GSoC 2011 project [http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/] was able to:&lt;br /&gt;
* Link flashrom with libpayload and flash from USB drive in a pre-OS environment.&lt;br /&gt;
* Optimise flashrom memory usage to flash in pre-ram/cache-as-ram environment.&lt;br /&gt;
* Build SerialICE boot ROM inside the coreboot tree and share some of the PnP/SuperIO source code.&lt;br /&gt;
* Demonstrate booting alternative payload on keypress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are remaining open tasks to:&lt;br /&gt;
* Bring the GSoC 2011 patches up-to-date with current flashrom and libpayload trees.&lt;br /&gt;
* Create generic solution to jump to recovery mode using input from GPIOs and/or use of power-button override.&lt;br /&gt;
* Use SMBus/SMLink to send POST failure codes over ethernet using integrated network controllers.&lt;br /&gt;
* After panic(), dump RAM contents before they are overwritten.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
We had some data structure work being done in coreboot v3 (based on DTS device tree source), but the approach back then didn't have the desired results. Still, if you want to tackle this task you can get some valuable information in past coreboot v3 discussions about what's feasible and what's infeasible.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* Check out the various devicetree.cb files in the src/ directory of the coreboot repository.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
Alternatively, figure out a way how to build them in parallel and have coreboot select the right one on runtime.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* src/cpu/amd/ inside the coreboot source tree&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent &lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* AMD coreboot mainboard and required silicon&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AMD VSA ==&lt;br /&gt;
&lt;br /&gt;
Get the existing source code of AMD's VSA compiled and working with an open source toolchain. Integrate it into the current build system.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[OpenVSA]], [[AMD Geode Porting Guide]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard that uses VSA&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Native graphics init ==&lt;br /&gt;
&lt;br /&gt;
Implement native initialization of the graphics hardware (probably AMD or Intel) so no Video BIOS is needed.&lt;br /&gt;
&lt;br /&gt;
This should be added in a maintainable way, that means that updates in the Linux code, if that is used to build upon, can be easily integrated. The code needs to be structured in such a way, that – at least for a certain generation – other boards can use native graphics initialization.&lt;br /&gt;
&lt;br /&gt;
A test and performance possibility, like a payload testing the correct initialization, needs to be added too.&lt;br /&gt;
&lt;br /&gt;
This could be done in combination with making a board port.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [https://docs.google.com/document/d/1g8FMob25VZYxbWri2iFB8YiSL8gwF9vKJH3HGxr0xQU/edit?pli=1# Fast User Interface – Death to Video BIOS]&lt;br /&gt;
* [http://www.coreboot.org/pipermail/coreboot/2013-March/075512.html Small discussion about initialization of AMD graphics hardware]&lt;br /&gt;
* [http://www.coreboot.org/pipermail/coreboot/2013-April/075655.html “Recruitment” message to mailing lists]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent&lt;br /&gt;
* Linux graphics stack: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* …&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== End user flash tool ==&lt;br /&gt;
&lt;br /&gt;
A tool that takes a coreboot image without payload, and payload binaries (so the user can select which payload to use), combines them according to user wishes. &lt;br /&gt;
It copies other required components (EC/ME firmware, VGABIOS) from the running system (ie. dump flash, extract data) and compares their hash against a white list (so we can vouch for their compatibility), then writes the result to flash, unlocking flash if necessary.&lt;br /&gt;
&lt;br /&gt;
Ideally it's a portable graphical tool (assuming that flashrom is available for the target OS). It could use flashrom, the bios_extract tools, and cbfstool in the background and provide the glue to make things work.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: novice&lt;br /&gt;
* Systems programming, GUI programming: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* …&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= flashrom Projects =&lt;br /&gt;
&lt;br /&gt;
Flashrom is a project that is closely associated with coreboot and we work together where possible. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
[http://www.flashrom.org/GSoC flashrom project ideas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Dhendrix|David Hendricks]]&lt;br /&gt;
* [http://www.flashrom.org/User:Roysjosh Joshua Roys]&lt;br /&gt;
* [http://www.flashrom.org/User:Hailfinger Carl-Daniel Hailfinger]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SerialICE Projects =&lt;br /&gt;
&lt;br /&gt;
SerialICE is a project that started out as tool for coreboot development. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://serialice.com/GSoC SerialICE project ideas]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/GSoC</id>
		<title>GSoC</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/GSoC"/>
				<updated>2013-04-11T10:56:29Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Mentors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to coreboot [https://www.google-melange.com/gsoc/org/google/gsoc2013/coreboot Google Summer of Code, 2013]. &lt;br /&gt;
&lt;br /&gt;
coreboot has many [[Project Ideas]] for various firmware ability levels. The coreboot project also hosts [http://flashrom.org/GSoC flashrom] and [http://serialice.com/GSoC SerialICE] projects.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
== coreboot contact ==&lt;br /&gt;
&lt;br /&gt;
If you are interested in becoming a GSoC student, please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel &amp;lt;code&amp;gt;#coreboot&amp;lt;/code&amp;gt; on [https://webchat.freenode.net irc.freenode.net].&lt;br /&gt;
&lt;br /&gt;
If you need to contact someone directly, [mailto:marcj303@gmail.com Marc Jones] is the GSoC admin for coreboot.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Why work on coreboot for GSoC 2013? =&lt;br /&gt;
&lt;br /&gt;
* coreboot offers you the opportunity to work with modern technology “right on the iron”. coreboot supports current silicon from AMD and Intel. &lt;br /&gt;
* coreboot has a worldwide developer and user base.&lt;br /&gt;
* We are a very passionate team – so you will interact directly with the project initiators and project leaders. &lt;br /&gt;
* We have a large, helpful community. coreboot has some extremely talented and helpful experts in firmware involved in the project. They are ready to assist and mentor students participating in GSoC 2013.&lt;br /&gt;
* One of the last areas where open source software is not common is firmware. Running proprietary firmware can have severe effects on user's freedom and security. coreboot changes that by providing a common framework for initial hardware initialization and you can help us succeed.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GSoC Student requirements =&lt;br /&gt;
&lt;br /&gt;
What will be required of you to be a coreboot GSoC student?&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a full (day)time job. This means we expect roughly 40 hours per week on your project, during the three months of coding. Obviously we have flexibility, but if your schedule (exams, courses) does not give you this amount of spare time, then maybe you should not apply. &lt;br /&gt;
&lt;br /&gt;
# Prior to project acceptance, you have demonstrated that you can work with the coreboot codebase. &lt;br /&gt;
#* By the time you have submitted your application, you should have downloaded, built and booted coreboot in QEMU, SimNow, or on real hardware. Please, email your serial output results to the mailing list. &lt;br /&gt;
#* Send a patch to Gerrit for review. Check [[Easy projects]] or ask for simple tasks on the mailing list or on IRC.&lt;br /&gt;
# To pass and to be paid by Google requires that you meet certain milestones. &lt;br /&gt;
#* First, you must be in good standing with the community before the official start of the program. We suggest you post some design emails to the mailing list, and get feedback on them, both before applying, and during the &amp;quot;community bonding period&amp;quot; between acceptance and official start.&lt;br /&gt;
#* You must have made progress and committed significant code before the mid-term point and by the final.&lt;br /&gt;
# We require that accepted students to maintain a blog, where you will write about your project weekly. This is a way to measure progress and for the community at large to be able to help you. SoC is not a private contract between your mentor and you. http://blogs.coreboot.org/&lt;br /&gt;
# Student must be active on IRC and the mailing list. &lt;br /&gt;
&lt;br /&gt;
We don't expect our students to be experts in our problem domain, but we don't want you to fail because some basic misunderstanding was in your way of completing the task.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
There are many development tasks available in coreboot. Please visit the following pages for some ideas or come up with your own idea. &lt;br /&gt;
* [[Project Ideas|coreboot project ideas]]&lt;br /&gt;
* [http://www.flashrom.org/GSoC flashrom project ideas]&lt;br /&gt;
* [http://serialice.com/GSoC SerialICE project ideas]&lt;br /&gt;
&lt;br /&gt;
We keep a list of [[previous GSoC Projects]] which might be of interest to you to see what others have accomplished.&lt;br /&gt;
Similarly the [http://blogs.coreboot.org/blog/category/gsoc/ blog posts related to previous GSoC projects] might give some insights to what it is like to be a coreboot GSoC student.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Your own Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
We have come up with some ideas for cool Summer of Code projects. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases.&lt;br /&gt;
&lt;br /&gt;
But of course your application does not need to be based on any of the ideas listed. The opposite: Maybe you have a great idea that we just didn't think of yet. Please let us know!&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mentors =&lt;br /&gt;
&lt;br /&gt;
The following coreboot developers have volunteered to be GSoC mentors. Please stop by IRC and say hi to them and ask them questions about coreboot.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Role !! Comms !! AFK / Vacation DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| [[User:MJones|Marc Jones]] || coreboot:  co-organizer and mentor  || IRC: marcj ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:PatrickGeorgi|Patrick Georgi]] || coreboot: co-organizer and mentor || IRC: patrickg, pgeorgi || early July (1 week)&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Stepan|Stefan Reinauer]] || coreboot/serialice:  mentor  || IRC: stepan ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Dhendrix|David Hendricks]] || flashrom: possible mentor || IRC: dhendrix, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML] ||&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.flashrom.org/User:Roysjosh Joshua Roys] || flashrom: possible mentor || IRC: roysjosh ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:ruik|Rudolf Marek]] || coreboot: possible mentor || IRC: ruik || 10.8.2013-10.9.2013 (will adjust later)&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Jason Wang|QingPei Wang]] || coreboot: possible mentor || IRC:QingPei ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:MartinRoth|Martin Roth]] || coreboot: possible mentor || IRC: martinr ||&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.flashrom.org/User:Hailfinger Carl-Daniel Hailfinger] || flashrom: possible mentor || IRC: carldani ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note to mentors:''' Each accepted project will have a lead mentor and a backup mentor. We will match mentors and students based on the project, experience level, and geographic location (native language, culture and time zone).&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= coreboot Summer of Code Application =&lt;br /&gt;
&lt;br /&gt;
Please complete the standard Google SoC application and project proposal. Prospective coreboot GSoC student should provide the following information as part of their application. If you are applying for a flashrom or SerialICE project use common sense when using the template below, this is part of the test. ;)&lt;br /&gt;
&lt;br /&gt;
:Name:&lt;br /&gt;
:Email:&lt;br /&gt;
:IM/IRC/Skype/other contact:&lt;br /&gt;
&lt;br /&gt;
:Country/Timezone:&lt;br /&gt;
:School:&lt;br /&gt;
:Degree Program:&lt;br /&gt;
:Expected graduation date:&lt;br /&gt;
&lt;br /&gt;
:Most students have some time off planned during GSoC. Do you have any vacations? When and how long?&lt;br /&gt;
&lt;br /&gt;
coreboot welcomes students from all backgrounds and levels of experience. To be seriously considered for coreboot GSoC, we recommend joining the mailing list and IRC channel. Introduce yourself and mention that you are a prospective GSoC student. Ask questions and discuss the project that you are considering. Community involvement is a key component of coreboot development. By the time you have submitted your application, you should have downloaded, built a and booted coreboot in QEMU, SimNow, or on real hardware. Please, email your serial output results to the mailing list. &lt;br /&gt;
&lt;br /&gt;
The following information will help coreboot match students with mentors and projects.&lt;br /&gt;
&lt;br /&gt;
Please comment on your software and firmware experience.&lt;br /&gt;
&lt;br /&gt;
Have you participated in the coreboot community before?&lt;br /&gt;
&lt;br /&gt;
Have you contributed to an open source project? Which one? What was your experience?&lt;br /&gt;
&lt;br /&gt;
Have you built and run coreboot? Did you have problems?&lt;br /&gt;
&lt;br /&gt;
Did you find and fix a coreboot bug? Did you send a patch to Gerrit? Please provide a link to the Gerrit page. &lt;br /&gt;
&lt;br /&gt;
Please provide an overview of your project and a break down of your project in small specific goals. Think about the potential timeline. Explain what risks or potential problems your project might experience. What would you expect as a minimum level of success? Do you have a stretch goal? &lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advice on how to apply ==&lt;br /&gt;
&lt;br /&gt;
Your application should include a complete project proposal. You should document that you have the knowledge and the ability to complete your proposed project. This may require a little research and understanding of coreboot prior to sending your application. Mentors are your best resource in flushing out your project ideas and helping with a project timeline. We recommend that you get feedback and recommendations on your proposal before the application deadline.&lt;br /&gt;
&lt;br /&gt;
The Drupal project has a great page on [http://drupal.org/node/59037 how to write an SOC application].&lt;br /&gt;
&lt;br /&gt;
Please also read Google's [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents Advice for Students].&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
* April 9–21: Would-be student participants discuss application ideas with mentoring organizations.&lt;br /&gt;
* April 22: Student application period opens.&lt;br /&gt;
* May 3: Student application deadline.&lt;br /&gt;
&lt;br /&gt;
The official timetable can be found [http://www.google-melange.com/gsoc/events/google/gsoc2013 here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size= 1&amp;gt;All deadlines end at 19:00 [http://en.wikipedia.org/wiki/UTC UTC].&amp;lt;/font size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Past deadlines ===&lt;br /&gt;
* March 29: Mentoring organization application deadline.&lt;br /&gt;
* April 1–5: Google program administrators review organization applications.&lt;br /&gt;
* April 8: List of accepted mentoring organizations published on the Google Summer of Code 2013 site.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Logo</id>
		<title>Logo</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Logo"/>
				<updated>2013-04-09T08:06:11Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Logo without name */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''They are very fast moving. The European Brown Hare (Lepus europaeus) can run at speeds of up to 72 km/h (45 mph).'' --[http://en.wikipedia.org/wiki/Hare Wikipedia]&lt;br /&gt;
&lt;br /&gt;
== coreboot Logo License ==&lt;br /&gt;
&lt;br /&gt;
The logo for the coreboot project is released under the following license.&lt;br /&gt;
&lt;br /&gt;
:Copyright © 2008 Konsult Stuge&lt;br /&gt;
:Copyright © 2008 coresystems GmbH&lt;br /&gt;
 &lt;br /&gt;
:This logo or a modified version may be used by anyone to refer to the coreboot project, but does not indicate endorsement by the project.&lt;br /&gt;
&lt;br /&gt;
In particular, we encourage you to use the logo for the purpose of advertising support for coreboot. This includes, but is not limited to, the following uses:&lt;br /&gt;
&lt;br /&gt;
* computer systems that come preloaded with coreboot and such that support coreboot through a flash upgrade.&lt;br /&gt;
* enhancements and projects related to coreboot such as payloads, coreboot ports to new systems and utilities that are to be used in systems also using coreboot&lt;br /&gt;
* coreboot documentation&lt;br /&gt;
* posters, clothing, presentations and other promotion material referring to the coreboot project&lt;br /&gt;
&lt;br /&gt;
Please make the image a link to http://www.coreboot.org/ if you use it on a web page.&lt;br /&gt;
&lt;br /&gt;
== Graphical usage guidelines ==&lt;br /&gt;
&lt;br /&gt;
The logo is in sharp contrast with the background. The normal appearance is black on white. When the logo must be used on dark background, a white or bright area surrounds it, or it is inverted to white on black instead of the normal black on white.&lt;br /&gt;
&lt;br /&gt;
== Logo kit archive ==&lt;br /&gt;
&lt;br /&gt;
[[Media:Coreboot_logo_kit.zip|Coreboot_logo_kit.zip]] contains all files on this page in a convenient archive.&lt;br /&gt;
&lt;br /&gt;
== Individual files ==&lt;br /&gt;
&lt;br /&gt;
You can also download individual files that suit your usage.&lt;br /&gt;
&lt;br /&gt;
=== Full logo with name ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Coreboot_full_web.png]]&lt;br /&gt;
&lt;br /&gt;
Download [[Media:Coreboot_full.svg|SVG]], [[Media:Coreboot_full_highres.png|high-resolution PNG]] or [[Media:Coreboot_full_web.png|low-resolution PNG]].&lt;br /&gt;
&lt;br /&gt;
=== Logo without name ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Coreboot_hare_web.png]]&lt;br /&gt;
&lt;br /&gt;
Download [[Media:Coreboot_hare.svg|SVG]], [[Media:Coreboot_hare_highres.png|high-resolution PNG]] or [[Media:Coreboot_hare_web.png|low-resolution PNG]] or [[Media:coreboot64px.png|64px icon]].&lt;br /&gt;
&lt;br /&gt;
=== Name only ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Coreboot_name_web.png]]&lt;br /&gt;
&lt;br /&gt;
Download [[Media:Coreboot_name.svg|SVG]], [[Media:Coreboot_name_highres.png|high-resolution PNG]] or [[Media:Coreboot_name_web.png|low-resolution PNG]].&lt;br /&gt;
&lt;br /&gt;
=== Page footer with stripe and name ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Coreboot_footer_web.png]]&lt;br /&gt;
&lt;br /&gt;
Download [[Media:Coreboot_footer.svg|SVG]], [[Media:Coreboot_footer_highres.png|high-resolution PNG]] or [[Media:Coreboot_footer_web.png|low-resolution PNG]].&lt;br /&gt;
&lt;br /&gt;
=== Combination logo with name and thick stripe ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Coreboot_combo_web.png]]&lt;br /&gt;
&lt;br /&gt;
Download [[Media:Coreboot_combo.svg|SVG]], [[Media:Coreboot_combo_highres.png|high-resolution PNG]] or [[Media:Coreboot_combo_web.png|low-resolution PNG]].&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
Image and typography was created by [http://www.breakfastdesign.nu/ Breakfast Design]. Post design work was done by [http://spookypanda.se/ Spooky Panda]. The coreboot logo was sponsored by:&lt;br /&gt;
&lt;br /&gt;
* [http://stuge.se/ Konsult Stuge]&lt;br /&gt;
* [http://www.coresystems.de/ coresystems GmbH]&lt;br /&gt;
* [http://kwlug.org/ Kitchener Waterloo Linux User Group] and Richard Weait&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/File:Coreboot64px.png</id>
		<title>File:Coreboot64px.png</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/File:Coreboot64px.png"/>
				<updated>2013-04-09T08:05:10Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/GSoC</id>
		<title>GSoC</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/GSoC"/>
				<updated>2013-04-09T07:22:01Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to coreboot [https://www.google-melange.com/gsoc/org/google/gsoc2013/coreboot Google Summer of Code, 2013]. &lt;br /&gt;
&lt;br /&gt;
coreboot has many [[Project Ideas]] for various firmware ability levels. The coreboot project also hosts [http://flashrom.org/GSoC flashrom] and [http://serialice.com/GSoC SerialICE] projects.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
== coreboot contact ==&lt;br /&gt;
&lt;br /&gt;
If you are interested in becoming a GSoC student, please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel &amp;lt;code&amp;gt;#coreboot&amp;lt;/code&amp;gt; on [https://webchat.freenode.net irc.freenode.net].&lt;br /&gt;
&lt;br /&gt;
If you need to contact someone directly, [mailto:marcj303@gmail.com Marc Jones] is the GSoC admin for coreboot.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Why work on coreboot for GSoC 2013? =&lt;br /&gt;
&lt;br /&gt;
* coreboot offers you the opportunity to work with modern technology “right on the iron”. coreboot supports current silicon from AMD and Intel. &lt;br /&gt;
* coreboot has a worldwide developer and user base.&lt;br /&gt;
* We are a very passionate team – so you will interact directly with the project initiators and project leaders. &lt;br /&gt;
* We have a large, helpful community. coreboot has some extremely talented and helpful experts in firmware involved in the project. They are ready to assist and mentor students participating in GSoC 2013.&lt;br /&gt;
* One of the last areas where open source software is not common is firmware. Running proprietary firmware can have severe effects on user's freedom and security. coreboot changes that by providing a common framework for initial hardware initialization and you can help us succeed.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GSoC Student requirements =&lt;br /&gt;
&lt;br /&gt;
What will be required of you to be a coreboot GSoC student?&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a full (day)time job. This means we expect roughly 40 hours per week on your project, during the three months of coding. Obviously we have flexibility, but if your schedule (exams, courses) does not give you this amount of spare time, then maybe you should not apply. &lt;br /&gt;
&lt;br /&gt;
# Prior to project acceptance, you have demonstrated that you can work with the coreboot codebase. &lt;br /&gt;
#* By the time you have submitted your application, you should have downloaded, built and booted coreboot in QEMU, SimNow, or on real hardware. Please, email your serial output results to the mailing list. &lt;br /&gt;
#* Send a patch to Gerrit for review. Check [[Easy projects]] or ask for simple tasks on the mailing list or on IRC.&lt;br /&gt;
# To pass and to be paid by Google requires that you meet certain milestones. &lt;br /&gt;
#* First, you must be in good standing with the community before the official start of the program. We suggest you post some design emails to the mailing list, and get feedback on them, both before applying, and during the &amp;quot;community bonding period&amp;quot; between acceptance and official start.&lt;br /&gt;
#* You must have made progress and committed significant code before the mid-term point and by the final.&lt;br /&gt;
# We require that accepted students to maintain a blog, where you will write about your project weekly. This is a way to measure progress and for the community at large to be able to help you. SoC is not a private contract between your mentor and you. http://blogs.coreboot.org/&lt;br /&gt;
# Student must be active on IRC and the mailing list. &lt;br /&gt;
&lt;br /&gt;
We don't expect our students to be experts in our problem domain, but we don't want you to fail because some basic misunderstanding was in your way of completing the task.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
There are many development tasks available in coreboot. Please visit the following pages for some ideas or come up with your own idea. &lt;br /&gt;
* [[Project Ideas|coreboot project ideas]]&lt;br /&gt;
* [http://www.flashrom.org/GSoC flashrom project ideas]&lt;br /&gt;
* [http://serialice.com/GSoC SerialICE project ideas]&lt;br /&gt;
&lt;br /&gt;
We keep a list of [[previous GSoC Projects]] which might be of interest to you to see what others have accomplished.&lt;br /&gt;
Similarly the [http://blogs.coreboot.org/blog/category/gsoc/ blog posts related to previous GSoC projects] might give some insights to what it is like to be a coreboot GSoC student.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Your own Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
We have come up with some ideas for cool Summer of Code projects. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases.&lt;br /&gt;
&lt;br /&gt;
But of course your application does not need to be based on any of the ideas listed. The opposite: Maybe you have a great idea that we just didn't think of yet. Please let us know!&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mentors =&lt;br /&gt;
&lt;br /&gt;
The following coreboot developers have volunteered to be GSoC mentors. Please stop by IRC and say hi to them and ask them questions about coreboot.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Role !! Comms !! AFK / Vacation DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| [[User:MJones|Marc Jones]] || coreboot:  co-organizer and mentor  || IRC: marcj ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:PatrickGeorgi|Patrick Georgi]] || coreboot: co-organizer and mentor || IRC: patrickg, pgeorgi ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Stepan|Stefan Reinauer]] || coreboot/serialice:  mentor  || IRC: stepan ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Dhendrix|David Hendricks]] || flashrom: possible mentor || IRC: dhendrix, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML] ||&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.flashrom.org/User:Roysjosh Joshua Roys] || flashrom: possible mentor || IRC: roysjosh ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:ruik|Rudolf Marek]] || coreboot: possible mentor || IRC: ruik || 10.8.2013-10.9.2013 (will adjust later)&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Jason Wang|QingPei Wang]] || coreboot: possible mentor || IRC:QingPei ||&lt;br /&gt;
|-&lt;br /&gt;
| [[User:MartinRoth|Martin Roth]] || coreboot: possible mentor || IRC: martinr ||&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.flashrom.org/User:Hailfinger Carl-Daniel Hailfinger] || flashrom: possible mentor || IRC: carldani ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note to mentors:''' Each accepted project will have a lead mentor and a backup mentor. We will match mentors and students based on the project, experience level, and geographic location (native language, culture and time zone).&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= coreboot Summer of Code Application =&lt;br /&gt;
&lt;br /&gt;
Please complete the standard Google SoC application and project proposal. Prospective coreboot GSoC student should provide the following information as part of their application. If you are applying for a flashrom or SerialICE project use common sense when using the template below, this is part of the test. ;)&lt;br /&gt;
&lt;br /&gt;
:Name:&lt;br /&gt;
:Email:&lt;br /&gt;
:IM/IRC/Skype/other contact:&lt;br /&gt;
&lt;br /&gt;
:Country/Timezone:&lt;br /&gt;
:School:&lt;br /&gt;
:Degree Program:&lt;br /&gt;
:Expected graduation date:&lt;br /&gt;
&lt;br /&gt;
:Most students have some time off planned during GSoC. Do you have any vacations? When and how long?&lt;br /&gt;
&lt;br /&gt;
coreboot welcomes students from all backgrounds and levels of experience. To be seriously considered for coreboot GSoC, we recommend joining the mailing list and IRC channel. Introduce yourself and mention that you are a prospective GSoC student. Ask questions and discuss the project that you are considering. Community involvement is a key component of coreboot development. By the time you have submitted your application, you should have downloaded, built a and booted coreboot in QEMU, SimNow, or on real hardware. Please, email your serial output results to the mailing list. &lt;br /&gt;
&lt;br /&gt;
The following information will help coreboot match students with mentors and projects.&lt;br /&gt;
&lt;br /&gt;
Please comment on your software and firmware experience.&lt;br /&gt;
&lt;br /&gt;
Have you participated in the coreboot community before?&lt;br /&gt;
&lt;br /&gt;
Have you contributed to an open source project? Which one? What was your experience?&lt;br /&gt;
&lt;br /&gt;
Have you built and run coreboot? Did you have problems?&lt;br /&gt;
&lt;br /&gt;
Did you find and fix a coreboot bug? Did you send a patch to Gerrit? Please provide a link to the Gerrit page. &lt;br /&gt;
&lt;br /&gt;
Please provide an overview of your project and a break down of your project in small specific goals. Think about the potential timeline. Explain what risks or potential problems your project might experience. What would you expect as a minimum level of success? Do you have a stretch goal? &lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advice on how to apply ==&lt;br /&gt;
&lt;br /&gt;
Your application should include a complete project proposal. You should document that you have the knowledge and the ability to complete your proposed project. This may require a little research and understanding of coreboot prior to sending your application. Mentors are your best resource in flushing out your project ideas and helping with a project timeline. We recommend that you get feedback and recommendations on your proposal before the application deadline.&lt;br /&gt;
&lt;br /&gt;
The Drupal project has a great page on [http://drupal.org/node/59037 how to write an SOC application].&lt;br /&gt;
&lt;br /&gt;
Please also read Google's [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents Advice for Students].&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Important dates ==&lt;br /&gt;
&lt;br /&gt;
* April 1–5: Google program administrators review organization applications.&lt;br /&gt;
* April 8: List of accepted mentoring organizations published on the Google Summer of Code 2013 site.&lt;br /&gt;
* April 9–21: Would-be student participants discuss application ideas with mentoring organizations.&lt;br /&gt;
* April 22: Student application period opens.&lt;br /&gt;
* May 3: Student application deadline.&lt;br /&gt;
&lt;br /&gt;
The official timetable can be found [http://www.google-melange.com/gsoc/events/google/gsoc2013 here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size= 1&amp;gt;All deadlines end at 19:00 [http://en.wikipedia.org/wiki/UTC UTC].&amp;lt;/font size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Past deadlines ===&lt;br /&gt;
* March 29: Mentoring organization application deadline.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-04-03T16:17:24Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* AMD VSA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are ideas that have been proposed in the community. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases. But of course these are not the only things that could be done. Maybe you have a great idea that we just didn't think of yet. Please let us know! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prospective  [[GSoC]] students' application should expand on the ideas and provide specific information in the application. If you have questions or comments, please please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel &amp;lt;code&amp;gt;#coreboot&amp;lt;/code&amp;gt; on [https://webchat.freenode.net irc.freenode.net]. Our [[GSoC#Mentors]] are here to help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= coreboot Projects =&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test suite  ==&lt;br /&gt;
&lt;br /&gt;
Create a single tool (most likely a bootable CD/USB drive image) to be booted by coreboot (preferably seabios and FILO) that runs a suite of tests and gathers the results. The tool may also be run on vendor BIOS (for the Red Hat and Canonical developers that work on these) to verify is an issue created/fixed by coreboot or seabios?). &lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think the base image/kernel would be used, the method of generating the image, what test you are targeting, and how results are gathered. &lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* https://wiki.ubuntu.com/Kernel/Reference/fwts&lt;br /&gt;
* http://biosbits.org/ &lt;br /&gt;
* http://linuxfirmwarekit.org/&lt;br /&gt;
* http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* Linux scripting and application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* A coreboot mainboard  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
&lt;br /&gt;
One of the biggest challenges in coreboot is that it supports many systems in the same codebase. As  coreboot develop and systems age, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark.  The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
* http://www.flashrom.org/Supported_hardware&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* wiki and web application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* LAMP setup&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
&lt;br /&gt;
coreboot has a build bot that builds various configurations of coreboot on every gerrit commit. We would like to extend the current build infrastructure with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* compiler build and makefile knowledge: competent&lt;br /&gt;
* Jenkins and test automation: novice&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot build environment  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for mainboards == &lt;br /&gt;
&lt;br /&gt;
Identify potential mainboards to port based on the recently release cpu and chipset support. The goal would be to support publicly available platforms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice to competent&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* mainboard to port&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ARM SoC's mainboard port==&lt;br /&gt;
&lt;br /&gt;
While the links below are still relevant, there's now a coreboot port for ARM Exynos5. It was contributed by Google and the chip is used in a Chromebook. The port isn't quite done, but some of the heavy lifting is done, so ports to other SoCs should be easier.&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
* [http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
* [http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SoC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011: &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ARM architecture: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* ARM mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implement advanced coreboot features on existing mainboards ==&lt;br /&gt;
&lt;br /&gt;
A lot of cool new coreboot features are only available on a small subset of the supported mainboards. Those features include:&lt;br /&gt;
* global variables in romstage&lt;br /&gt;
* relocatable ramstage&lt;br /&gt;
* cbmem console&lt;br /&gt;
* timestamps/performance data&lt;br /&gt;
&lt;br /&gt;
This project would identify how to bring those features forward to more boards and complete porting of said mainboards.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI 4.0 and S3 power management  ==&lt;br /&gt;
&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but the implementations are mainboard specific and mostly based on ACPI 2.0. Create a generic solution for ACPI 4.0 table generation and S3 support across all mainboards. &lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ACPI and power managment: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tianocore as payload ==&lt;br /&gt;
&lt;br /&gt;
What SeaBIOS is for PC-BIOS interfaces, Tianocore is for UEFI. Tianocore is the reference implementation that most commercial UEFIs are built on. While coreboot favors other design goals than UEFI, it is really useful to support this standard that's being pushed on the market, just like SeaBIOS really helped coreboot by providing a BIOS &amp;quot;frontend&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There's already some code, but there's still much room for improvement: A graphics driver that uses a pre-initialized (by coreboot) framebuffer. A CBFS driver so Tiano can access coreboot flash storage. Based on that, a flash driver (maybe adapted from flashrom) to implement non-volatile variable storage by writing to flash.&lt;br /&gt;
&lt;br /&gt;
Possible tasks depend a lot on existing knowledge of the candidate. Few of the tasks are large enough to fill the entire GSoC time frame with one of them. Feel free to discuss with us on IRC what a suitable target could be for you.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://www.tianocore.org/&lt;br /&gt;
* https://github.com/pgeorgi/edk2/tree/coreboot-pkg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
* UEFI/BIOS firmare: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* hardware automation: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* able to acquire and develop hardware to be used in automation  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system. &lt;br /&gt;
&lt;br /&gt;
The basic idea is that the system flash image always contains executable for SerialICE. Instead of loading a coreboot romstage, firmware can boot to SerialICE based on some GPIO state, a keypress sequence or a logged failure on earlier boots. It is possible to integrate this into the coreboot build tree as a bootblock option, in the same spot as the fallback/normal switch and the simple loader.&lt;br /&gt;
&lt;br /&gt;
Having this capability opens up new possibilities:&lt;br /&gt;
&lt;br /&gt;
During the lifetime of a mainboard, new requirements for ACPI hacks and CPU microcodes introduce the need to update boot firmware at customer site. The firmware shall have recovery path against any failures during the firmware update process. The most straight-forward solution is to do intelligent allocation of files in the CBFS such that files critical to the recovery are located on write-protected pages. The recovery path shall require only an USB mass-storage with compatible filesystem (ext2, fat32).&lt;br /&gt;
&lt;br /&gt;
The ability to dual-boot reduces the amount of tools required to reverse-engineer proprietary BIOS on ports for new mainboards. It is increasingly common that the flash chips are a) not socketed or b) physically hard to access (laptops). Even if chipset support existed already for a board, there are a lot of configuration registers for PCI-e links and GPIO signals that are difficult to get right by code disassembly only. With panic room implementation there would be no need to use external programmers or flashchip hot-swap method to alternate between SerialICE (for proprietary BIOS) and coreboot romstage boots.&lt;br /&gt;
&lt;br /&gt;
SerialICE requires minimal hardware resources and does not require installed RAM or display hardware. It could be used as the first power-on environment after mainboard PCB verification and assembly to verify integrated components enumerate correctly. At the end of this first power-on, actual board firmware can be programmed without the need for external programmers and SOIC-8 clips, as the SPI controller embedded in the chipset can be used instead. As setting up EHCI debug port console is fairly simple across different chipsets, it can be used to print detailed diagnostics instead of POST codes on LPC bus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GSoC 2011 project [http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/] was able to:&lt;br /&gt;
* Link flashrom with libpayload and flash from USB drive in a pre-OS environment.&lt;br /&gt;
* Optimise flashrom memory usage to flash in pre-ram/cache-as-ram environment.&lt;br /&gt;
* Build SerialICE boot ROM inside the coreboot tree and share some of the PnP/SuperIO source code.&lt;br /&gt;
* Demonstrate booting alternative payload on keypress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are remaining open tasks to:&lt;br /&gt;
* Bring the GSoC 2011 patches up-to-date with current flashrom and libpayload trees.&lt;br /&gt;
* Create generic solution to jump to recovery mode using input from GPIOs and/or use of power-button override.&lt;br /&gt;
* Use SMBus/SMLink to send POST failure codes over ethernet using integrated network controllers.&lt;br /&gt;
* After panic(), dump RAM contents before they are overwritten.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
We had some data structure work being done in coreboot v3 (based on DTS device tree source), but the approach back then didn't have the desired results. Still, if you want to tackle this task you can get some valuable information in past coreboot v3 discussions about what's feasible and what's infeasible.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* Check out the various devicetree.cb files in the src/ directory of the coreboot repository.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
Alternatively, figure out a way how to build them in parallel and have coreboot select the right one on runtime.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* src/cpu/amd/ inside the coreboot source tree&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent &lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* AMD coreboot mainboard and required silicon&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AMD VSA ==&lt;br /&gt;
&lt;br /&gt;
Get the existing source code of AMD's VSA compiled and working with an open source toolchain. Integrate it into the current build system.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[OpenVSA]], [[AMD Geode Porting Guide]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard that uses VSA&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= flashrom Projects =&lt;br /&gt;
&lt;br /&gt;
Flashrom is a project that is closely associated with coreboot and we work together where possible. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
[http://www.flashrom.org/GSoC flashrom project ideas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Dhendrix|David Hendricks]]&lt;br /&gt;
* [http://www.flashrom.org/User:Roysjosh Joshua Roys]&lt;br /&gt;
* [http://www.flashrom.org/User:Hailfinger Carl-Daniel Hailfinger]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SerialICE Projects =&lt;br /&gt;
&lt;br /&gt;
SerialICE is a project that started out as tool for coreboot development. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://serialice.com/GSoC SerialICE project ideas]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-03-31T06:04:44Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* SerialICE Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are ideas that have been proposed in the community. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases. But of course these are not the only things that could be done. Maybe you have a great idea that we just didn't think of yet. Please let us know! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prospective  [[GSoC]] students' application should expand on the ideas and provide specific information in the application. If you have questions or comments, please please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel &amp;lt;code&amp;gt;#coreboot&amp;lt;/code&amp;gt; on [https://webchat.freenode.net irc.freenode.net]. Our [[GSoC#Mentors]] are here to help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= coreboot Projects =&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test suite  ==&lt;br /&gt;
&lt;br /&gt;
Create a single tool (most likely a bootable CD/USB drive image) to be booted by coreboot (preferably seabios and FILO) that runs a suite of tests and gathers the results. The tool may also be run on vendor BIOS (for the Red Hat and Canonical developers that work on these) to verify is an issue created/fixed by coreboot or seabios?). &lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think the base image/kernel would be used, the method of generating the image, what test you are targeting, and how results are gathered. &lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* https://wiki.ubuntu.com/Kernel/Reference/fwts&lt;br /&gt;
* http://biosbits.org/ &lt;br /&gt;
* http://linuxfirmwarekit.org/&lt;br /&gt;
* http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* Linux scripting and application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* A coreboot mainboard  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
&lt;br /&gt;
One of the biggest challenges in coreboot is that it supports many systems in the same codebase. As  coreboot develop and systems age, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark.  The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
* http://www.flashrom.org/Supported_hardware&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* wiki and web application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* LAMP setup&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
&lt;br /&gt;
coreboot has a build bot that builds various configurations of coreboot on every gerrit commit. We would like to extend the current build infrastructure with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* compiler build and makefile knowledge: competent&lt;br /&gt;
* Jenkins and test automation: novice&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot build environment  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for mainboards == &lt;br /&gt;
&lt;br /&gt;
Identify potential mainboards to port based on the recently release cpu and chipset support. The goal would be to support publicly available platforms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice to competent&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* mainboard to port&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ARM SoC's mainboard port==&lt;br /&gt;
&lt;br /&gt;
While the links below are still relevant, there's now a coreboot port for ARM Exynos5. It was contributed by Google and the chip is used in a Chromebook. The port isn't quite done, but some of the heavy lifting is done, so ports to other SoCs should be easier.&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
* [http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
* [http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SoC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011: &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ARM architecture: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* ARM mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implement advanced coreboot features on existing mainboards ==&lt;br /&gt;
&lt;br /&gt;
A lot of cool new coreboot features are only available on a small subset of the supported mainboards. Those features include:&lt;br /&gt;
* global variables in romstage&lt;br /&gt;
* relocatable ramstage&lt;br /&gt;
* cbmem console&lt;br /&gt;
* timestamps/performance data&lt;br /&gt;
&lt;br /&gt;
This project would identify how to bring those features forward to more boards and complete porting of said mainboards.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI 4.0 and S3 power management  ==&lt;br /&gt;
&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but the implementations are mainboard specific and mostly based on ACPI 2.0. Create a generic solution for ACPI 4.0 table generation and S3 support across all mainboards. &lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ACPI and power managment: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tianocore as payload ==&lt;br /&gt;
&lt;br /&gt;
What SeaBIOS is for PC-BIOS interfaces, Tianocore is for UEFI. Tianocore is the reference implementation that most commercial UEFIs are built on. While coreboot favors other design goals than UEFI, it is really useful to support this standard that's being pushed on the market, just like SeaBIOS really helped coreboot by providing a BIOS &amp;quot;frontend&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There's already some code, but there's still much room for improvement: A graphics driver that uses a pre-initialized (by coreboot) framebuffer. A CBFS driver so Tiano can access coreboot flash storage. Based on that, a flash driver (maybe adapted from flashrom) to implement non-volatile variable storage by writing to flash.&lt;br /&gt;
&lt;br /&gt;
Possible tasks depend a lot on existing knowledge of the candidate. Few of the tasks are large enough to fill the entire GSoC time frame with one of them. Feel free to discuss with us on IRC what a suitable target could be for you.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://www.tianocore.org/&lt;br /&gt;
* https://github.com/pgeorgi/edk2/tree/coreboot-pkg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
* UEFI/BIOS firmare: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* hardware automation: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* able to acquire and develop hardware to be used in automation  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system. &lt;br /&gt;
&lt;br /&gt;
The basic idea is that the system flash image always contains executable for SerialICE. Instead of loading a coreboot romstage, firmware can boot to SerialICE based on some GPIO state, a keypress sequence or a logged failure on earlier boots. It is possible to integrate this into the coreboot build tree as a bootblock option, in the same spot as the fallback/normal switch and the simple loader.&lt;br /&gt;
&lt;br /&gt;
Having this capability opens up new possibilities:&lt;br /&gt;
&lt;br /&gt;
During the lifetime of a mainboard, new requirements for ACPI hacks and CPU microcodes introduce the need to update boot firmware at customer site. The firmware shall have recovery path against any failures during the firmware update process. The most straight-forward solution is to do intelligent allocation of files in the CBFS such that files critical to the recovery are located on write-protected pages. The recovery path shall require only an USB mass-storage with compatible filesystem (ext2, fat32).&lt;br /&gt;
&lt;br /&gt;
The ability to dual-boot reduces the amount of tools required to reverse-engineer proprietary BIOS on ports for new mainboards. It is increasingly common that the flash chips are a) not socketed or b) physically hard to access (laptops). Even if chipset support existed already for a board, there are a lot of configuration registers for PCI-e links and GPIO signals that are difficult to get right by code disassembly only. With panic room implementation there would be no need to use external programmers or flashchip hot-swap method to alternate between SerialICE (for proprietary BIOS) and coreboot romstage boots.&lt;br /&gt;
&lt;br /&gt;
SerialICE requires minimal hardware resources and does not require installed RAM or display hardware. It could be used as the first power-on environment after mainboard PCB verification and assembly to verify integrated components enumerate correctly. At the end of this first power-on, actual board firmware can be programmed without the need for external programmers and SOIC-8 clips, as the SPI controller embedded in the chipset can be used instead. As setting up EHCI debug port console is fairly simple across different chipsets, it can be used to print detailed diagnostics instead of POST codes on LPC bus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GSoC 2011 project [http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/] was able to:&lt;br /&gt;
* Link flashrom with libpayload and flash from USB drive in a pre-OS environment.&lt;br /&gt;
* Optimise flashrom memory usage to flash in pre-ram/cache-as-ram environment.&lt;br /&gt;
* Build SerialICE boot ROM inside the coreboot tree and share some of the PnP/SuperIO source code.&lt;br /&gt;
* Demonstrate booting alternative payload on keypress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are remaining open tasks to:&lt;br /&gt;
* Bring the GSoC 2011 patches up-to-date with current flashrom and libpayload trees.&lt;br /&gt;
* Create generic solution to jump to recovery mode using input from GPIOs and/or use of power-button override.&lt;br /&gt;
* Use SMBus/SMLink to send POST failure codes over ethernet using integrated network controllers.&lt;br /&gt;
* After panic(), dump RAM contents before they are overwritten.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
We had some data structure work being done in coreboot v3 (based on DTS device tree source), but the approach back then didn't have the desired results. Still, if you want to tackle this task you can get some valuable information in past coreboot v3 discussions about what's feasible and what's infeasible.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* Check out the various devicetree.cb files in the src/ directory of the coreboot repository.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
Alternatively, figure out a way how to build them in parallel and have coreboot select the right one on runtime.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* src/cpu/amd/ inside the coreboot source tree&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent &lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* AMD coreboot mainboard and required silicon&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AMD VSA ==&lt;br /&gt;
&lt;br /&gt;
Get the source code of AMD's VSA compiled and working with an open source toolchain. Integrate the it into the current build system.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[OpenVSA]], [[AMD Geode Porting Guide]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard that uses VSA&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= flashrom Projects =&lt;br /&gt;
&lt;br /&gt;
Flashrom is a project that is closely associated with coreboot and we work together where possible. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
[http://www.flashrom.org/GSoC flashrom project ideas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* David Hendricks&lt;br /&gt;
* Joshua Roys&lt;br /&gt;
* Carl-Daniel Hailfinger&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SerialICE Projects =&lt;br /&gt;
&lt;br /&gt;
SerialICE is a project that started out as tool for coreboot development. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://serialice.com/GSoC SerialICE project ideas]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-03-31T06:04:09Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* flashrom Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are ideas that have been proposed in the community. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases. But of course these are not the only things that could be done. Maybe you have a great idea that we just didn't think of yet. Please let us know! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prospective  [[GSoC]] students' application should expand on the ideas and provide specific information in the application. If you have questions or comments, please please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel &amp;lt;code&amp;gt;#coreboot&amp;lt;/code&amp;gt; on [https://webchat.freenode.net irc.freenode.net]. Our [[GSoC#Mentors]] are here to help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= coreboot Projects =&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test suite  ==&lt;br /&gt;
&lt;br /&gt;
Create a single tool (most likely a bootable CD/USB drive image) to be booted by coreboot (preferably seabios and FILO) that runs a suite of tests and gathers the results. The tool may also be run on vendor BIOS (for the Red Hat and Canonical developers that work on these) to verify is an issue created/fixed by coreboot or seabios?). &lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think the base image/kernel would be used, the method of generating the image, what test you are targeting, and how results are gathered. &lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* https://wiki.ubuntu.com/Kernel/Reference/fwts&lt;br /&gt;
* http://biosbits.org/ &lt;br /&gt;
* http://linuxfirmwarekit.org/&lt;br /&gt;
* http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* Linux scripting and application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* A coreboot mainboard  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
&lt;br /&gt;
One of the biggest challenges in coreboot is that it supports many systems in the same codebase. As  coreboot develop and systems age, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark.  The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
* http://www.flashrom.org/Supported_hardware&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* wiki and web application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* LAMP setup&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
&lt;br /&gt;
coreboot has a build bot that builds various configurations of coreboot on every gerrit commit. We would like to extend the current build infrastructure with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* compiler build and makefile knowledge: competent&lt;br /&gt;
* Jenkins and test automation: novice&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot build environment  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for mainboards == &lt;br /&gt;
&lt;br /&gt;
Identify potential mainboards to port based on the recently release cpu and chipset support. The goal would be to support publicly available platforms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice to competent&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* mainboard to port&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ARM SoC's mainboard port==&lt;br /&gt;
&lt;br /&gt;
While the links below are still relevant, there's now a coreboot port for ARM Exynos5. It was contributed by Google and the chip is used in a Chromebook. The port isn't quite done, but some of the heavy lifting is done, so ports to other SoCs should be easier.&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
* [http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
* [http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SoC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011: &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ARM architecture: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* ARM mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implement advanced coreboot features on existing mainboards ==&lt;br /&gt;
&lt;br /&gt;
A lot of cool new coreboot features are only available on a small subset of the supported mainboards. Those features include:&lt;br /&gt;
* global variables in romstage&lt;br /&gt;
* relocatable ramstage&lt;br /&gt;
* cbmem console&lt;br /&gt;
* timestamps/performance data&lt;br /&gt;
&lt;br /&gt;
This project would identify how to bring those features forward to more boards and complete porting of said mainboards.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI 4.0 and S3 power management  ==&lt;br /&gt;
&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but the implementations are mainboard specific and mostly based on ACPI 2.0. Create a generic solution for ACPI 4.0 table generation and S3 support across all mainboards. &lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ACPI and power managment: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tianocore as payload ==&lt;br /&gt;
&lt;br /&gt;
What SeaBIOS is for PC-BIOS interfaces, Tianocore is for UEFI. Tianocore is the reference implementation that most commercial UEFIs are built on. While coreboot favors other design goals than UEFI, it is really useful to support this standard that's being pushed on the market, just like SeaBIOS really helped coreboot by providing a BIOS &amp;quot;frontend&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There's already some code, but there's still much room for improvement: A graphics driver that uses a pre-initialized (by coreboot) framebuffer. A CBFS driver so Tiano can access coreboot flash storage. Based on that, a flash driver (maybe adapted from flashrom) to implement non-volatile variable storage by writing to flash.&lt;br /&gt;
&lt;br /&gt;
Possible tasks depend a lot on existing knowledge of the candidate. Few of the tasks are large enough to fill the entire GSoC time frame with one of them. Feel free to discuss with us on IRC what a suitable target could be for you.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://www.tianocore.org/&lt;br /&gt;
* https://github.com/pgeorgi/edk2/tree/coreboot-pkg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
* UEFI/BIOS firmare: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* hardware automation: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* able to acquire and develop hardware to be used in automation  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system. &lt;br /&gt;
&lt;br /&gt;
The basic idea is that the system flash image always contains executable for SerialICE. Instead of loading a coreboot romstage, firmware can boot to SerialICE based on some GPIO state, a keypress sequence or a logged failure on earlier boots. It is possible to integrate this into the coreboot build tree as a bootblock option, in the same spot as the fallback/normal switch and the simple loader.&lt;br /&gt;
&lt;br /&gt;
Having this capability opens up new possibilities:&lt;br /&gt;
&lt;br /&gt;
During the lifetime of a mainboard, new requirements for ACPI hacks and CPU microcodes introduce the need to update boot firmware at customer site. The firmware shall have recovery path against any failures during the firmware update process. The most straight-forward solution is to do intelligent allocation of files in the CBFS such that files critical to the recovery are located on write-protected pages. The recovery path shall require only an USB mass-storage with compatible filesystem (ext2, fat32).&lt;br /&gt;
&lt;br /&gt;
The ability to dual-boot reduces the amount of tools required to reverse-engineer proprietary BIOS on ports for new mainboards. It is increasingly common that the flash chips are a) not socketed or b) physically hard to access (laptops). Even if chipset support existed already for a board, there are a lot of configuration registers for PCI-e links and GPIO signals that are difficult to get right by code disassembly only. With panic room implementation there would be no need to use external programmers or flashchip hot-swap method to alternate between SerialICE (for proprietary BIOS) and coreboot romstage boots.&lt;br /&gt;
&lt;br /&gt;
SerialICE requires minimal hardware resources and does not require installed RAM or display hardware. It could be used as the first power-on environment after mainboard PCB verification and assembly to verify integrated components enumerate correctly. At the end of this first power-on, actual board firmware can be programmed without the need for external programmers and SOIC-8 clips, as the SPI controller embedded in the chipset can be used instead. As setting up EHCI debug port console is fairly simple across different chipsets, it can be used to print detailed diagnostics instead of POST codes on LPC bus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GSoC 2011 project [http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/] was able to:&lt;br /&gt;
* Link flashrom with libpayload and flash from USB drive in a pre-OS environment.&lt;br /&gt;
* Optimise flashrom memory usage to flash in pre-ram/cache-as-ram environment.&lt;br /&gt;
* Build SerialICE boot ROM inside the coreboot tree and share some of the PnP/SuperIO source code.&lt;br /&gt;
* Demonstrate booting alternative payload on keypress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are remaining open tasks to:&lt;br /&gt;
* Bring the GSoC 2011 patches up-to-date with current flashrom and libpayload trees.&lt;br /&gt;
* Create generic solution to jump to recovery mode using input from GPIOs and/or use of power-button override.&lt;br /&gt;
* Use SMBus/SMLink to send POST failure codes over ethernet using integrated network controllers.&lt;br /&gt;
* After panic(), dump RAM contents before they are overwritten.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
We had some data structure work being done in coreboot v3 (based on DTS device tree source), but the approach back then didn't have the desired results. Still, if you want to tackle this task you can get some valuable information in past coreboot v3 discussions about what's feasible and what's infeasible.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* Check out the various devicetree.cb files in the src/ directory of the coreboot repository.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
Alternatively, figure out a way how to build them in parallel and have coreboot select the right one on runtime.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* src/cpu/amd/ inside the coreboot source tree&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent &lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* AMD coreboot mainboard and required silicon&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AMD VSA ==&lt;br /&gt;
&lt;br /&gt;
Get the source code of AMD's VSA compiled and working with an open source toolchain. Integrate the it into the current build system.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[OpenVSA]], [[AMD Geode Porting Guide]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard that uses VSA&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= flashrom Projects =&lt;br /&gt;
&lt;br /&gt;
Flashrom is a project that is closely associated with coreboot and we work together where possible. They maintain a list of project ideas on their own website:&lt;br /&gt;
&lt;br /&gt;
[http://www.flashrom.org/GSoC flashrom project ideas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* David Hendricks&lt;br /&gt;
* Joshua Roys&lt;br /&gt;
* Carl-Daniel Hailfinger&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SerialICE Projects =&lt;br /&gt;
* [http://serialice.com/GSoC SerialICE project ideas]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-03-31T06:02:14Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* coreboot ARM SoC's mainboard port */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are ideas that have been proposed in the community. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases. But of course these are not the only things that could be done. Maybe you have a great idea that we just didn't think of yet. Please let us know! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prospective  [[GSoC]] students' application should expand on the ideas and provide specific information in the application. If you have questions or comments, please please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel &amp;lt;code&amp;gt;#coreboot&amp;lt;/code&amp;gt; on [https://webchat.freenode.net irc.freenode.net]. Our [[GSoC#Mentors]] are here to help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= coreboot Projects =&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test suite  ==&lt;br /&gt;
&lt;br /&gt;
Create a single tool (most likely a bootable CD/USB drive image) to be booted by coreboot (preferably seabios and FILO) that runs a suite of tests and gathers the results. The tool may also be run on vendor BIOS (for the Red Hat and Canonical developers that work on these) to verify is an issue created/fixed by coreboot or seabios?). &lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think the base image/kernel would be used, the method of generating the image, what test you are targeting, and how results are gathered. &lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* https://wiki.ubuntu.com/Kernel/Reference/fwts&lt;br /&gt;
* http://biosbits.org/ &lt;br /&gt;
* http://linuxfirmwarekit.org/&lt;br /&gt;
* http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* Linux scripting and application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* A coreboot mainboard  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
&lt;br /&gt;
One of the biggest challenges in coreboot is that it supports many systems in the same codebase. As  coreboot develop and systems age, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark.  The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
* http://www.flashrom.org/Supported_hardware&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* wiki and web application development: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* LAMP setup&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
&lt;br /&gt;
coreboot has a build bot that builds various configurations of coreboot on every gerrit commit. We would like to extend the current build infrastructure with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* compiler build and makefile knowledge: competent&lt;br /&gt;
* Jenkins and test automation: novice&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot build environment  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for mainboards == &lt;br /&gt;
&lt;br /&gt;
Identify potential mainboards to port based on the recently release cpu and chipset support. The goal would be to support publicly available platforms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice to competent&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* mainboard to port&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* [[User:MartinRoth|Martin Roth]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ARM SoC's mainboard port==&lt;br /&gt;
&lt;br /&gt;
While the links below are still relevant, there's now a coreboot port for ARM Exynos5. It was contributed by Google and the chip is used in a Chromebook. The port isn't quite done, but some of the heavy lifting is done, so ports to other SoCs should be easier.&lt;br /&gt;
* [http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
* [http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
* [http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SoC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011: &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ARM architecture: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* ARM mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implement advanced coreboot features on existing mainboards ==&lt;br /&gt;
&lt;br /&gt;
A lot of cool new coreboot features are only available on a small subset of the supported mainboards. Those features include:&lt;br /&gt;
* global variables in romstage&lt;br /&gt;
* relocatable ramstage&lt;br /&gt;
* cbmem console&lt;br /&gt;
* timestamps/performance data&lt;br /&gt;
&lt;br /&gt;
This project would identify how to bring those features forward to more boards and complete porting of said mainboards.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI 4.0 and S3 power management  ==&lt;br /&gt;
&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but the implementations are mainboard specific and mostly based on ACPI 2.0. Create a generic solution for ACPI 4.0 table generation and S3 support across all mainboards. &lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: competent to expert&lt;br /&gt;
* ACPI and power managment: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:ruik|Rudolf Marek]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tianocore as payload ==&lt;br /&gt;
&lt;br /&gt;
What SeaBIOS is for PC-BIOS interfaces, Tianocore is for UEFI. Tianocore is the reference implementation that most commercial UEFIs are built on. While coreboot favors other design goals than UEFI, it is really useful to support this standard that's being pushed on the market, just like SeaBIOS really helped coreboot by providing a BIOS &amp;quot;frontend&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There's already some code, but there's still much room for improvement: A graphics driver that uses a pre-initialized (by coreboot) framebuffer. A CBFS driver so Tiano can access coreboot flash storage. Based on that, a flash driver (maybe adapted from flashrom) to implement non-volatile variable storage by writing to flash.&lt;br /&gt;
&lt;br /&gt;
Possible tasks depend a lot on existing knowledge of the candidate. Few of the tasks are large enough to fill the entire GSoC time frame with one of them. Feel free to discuss with us on IRC what a suitable target could be for you.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://www.tianocore.org/&lt;br /&gt;
* https://github.com/pgeorgi/edk2/tree/coreboot-pkg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
* UEFI/BIOS firmare: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot and firmware: novice&lt;br /&gt;
* hardware automation: novice to competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* able to acquire and develop hardware to be used in automation  &lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system. &lt;br /&gt;
&lt;br /&gt;
The basic idea is that the system flash image always contains executable for SerialICE. Instead of loading a coreboot romstage, firmware can boot to SerialICE based on some GPIO state, a keypress sequence or a logged failure on earlier boots. It is possible to integrate this into the coreboot build tree as a bootblock option, in the same spot as the fallback/normal switch and the simple loader.&lt;br /&gt;
&lt;br /&gt;
Having this capability opens up new possibilities:&lt;br /&gt;
&lt;br /&gt;
During the lifetime of a mainboard, new requirements for ACPI hacks and CPU microcodes introduce the need to update boot firmware at customer site. The firmware shall have recovery path against any failures during the firmware update process. The most straight-forward solution is to do intelligent allocation of files in the CBFS such that files critical to the recovery are located on write-protected pages. The recovery path shall require only an USB mass-storage with compatible filesystem (ext2, fat32).&lt;br /&gt;
&lt;br /&gt;
The ability to dual-boot reduces the amount of tools required to reverse-engineer proprietary BIOS on ports for new mainboards. It is increasingly common that the flash chips are a) not socketed or b) physically hard to access (laptops). Even if chipset support existed already for a board, there are a lot of configuration registers for PCI-e links and GPIO signals that are difficult to get right by code disassembly only. With panic room implementation there would be no need to use external programmers or flashchip hot-swap method to alternate between SerialICE (for proprietary BIOS) and coreboot romstage boots.&lt;br /&gt;
&lt;br /&gt;
SerialICE requires minimal hardware resources and does not require installed RAM or display hardware. It could be used as the first power-on environment after mainboard PCB verification and assembly to verify integrated components enumerate correctly. At the end of this first power-on, actual board firmware can be programmed without the need for external programmers and SOIC-8 clips, as the SPI controller embedded in the chipset can be used instead. As setting up EHCI debug port console is fairly simple across different chipsets, it can be used to print detailed diagnostics instead of POST codes on LPC bus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GSoC 2011 project [http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/] was able to:&lt;br /&gt;
* Link flashrom with libpayload and flash from USB drive in a pre-OS environment.&lt;br /&gt;
* Optimise flashrom memory usage to flash in pre-ram/cache-as-ram environment.&lt;br /&gt;
* Build SerialICE boot ROM inside the coreboot tree and share some of the PnP/SuperIO source code.&lt;br /&gt;
* Demonstrate booting alternative payload on keypress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are remaining open tasks to:&lt;br /&gt;
* Bring the GSoC 2011 patches up-to-date with current flashrom and libpayload trees.&lt;br /&gt;
* Create generic solution to jump to recovery mode using input from GPIOs and/or use of power-button override.&lt;br /&gt;
* Use SMBus/SMLink to send POST failure codes over ethernet using integrated network controllers.&lt;br /&gt;
* After panic(), dump RAM contents before they are overwritten.&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent to expert&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
We had some data structure work being done in coreboot v3 (based on DTS device tree source), but the approach back then didn't have the desired results. Still, if you want to tackle this task you can get some valuable information in past coreboot v3 discussions about what's feasible and what's infeasible.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* Check out the various devicetree.cb files in the src/ directory of the coreboot repository.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
Alternatively, figure out a way how to build them in parallel and have coreboot select the right one on runtime.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* src/cpu/amd/ inside the coreboot source tree&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent &lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* AMD coreboot mainboard and required silicon&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AMD VSA ==&lt;br /&gt;
&lt;br /&gt;
Get the source code of AMD's VSA compiled and working with an open source toolchain. Integrate the it into the current build system.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[OpenVSA]], [[AMD Geode Porting Guide]]&lt;br /&gt;
&lt;br /&gt;
'''Skill Level'''&lt;br /&gt;
* coreboot: competent&lt;br /&gt;
&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* coreboot mainboard that uses VSA&lt;br /&gt;
* flash recovery mechanism&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
* Martin Roth&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= flashrom Projects =&lt;br /&gt;
[http://www.flashrom.org/GSoC flashrom project ideas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* David Hendricks&lt;br /&gt;
* Joshua Roys&lt;br /&gt;
* Carl-Daniel Hailfinger&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SerialICE Projects =&lt;br /&gt;
* [http://serialice.com/GSoC SerialICE project ideas]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/User:PatrickGeorgi</id>
		<title>User:PatrickGeorgi</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/User:PatrickGeorgi"/>
				<updated>2013-03-22T19:47:24Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Patrick Georgi designed and implemented the Forth system that provides the base for [[OpenBIOS]].&lt;br /&gt;
&lt;br /&gt;
He started work on coreboot (then LinuxBIOS) at GSoC 2007, proceeding to work for coresystems GmbH and later secunet Security Networks AG.&lt;br /&gt;
&lt;br /&gt;
So far work involved payloads, libpayload, its USB stack, bug fixing, Intel chipset driver co-implementation, and also various infrastructure work surrounding the configuration and build system as well as refactorings across the tree.&lt;br /&gt;
&lt;br /&gt;
Apart from working on the tree, he's active in the IRC channel (user names patrickg or pgeorgi), and is one of the maintainers of the coreboot.org server.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Inteltool</id>
		<title>Inteltool</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Inteltool"/>
				<updated>2013-03-20T18:43:25Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Inteltool''' is a small utility that provides some information about the Intel CPU/chipset hardware configuration (register contents, MSRs, etc).&lt;br /&gt;
&lt;br /&gt;
== Supported devices ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
'''Manual installation'''&lt;br /&gt;
&lt;br /&gt;
 $ '''git clone http://review.coreboot.org/coreboot.git'''&lt;br /&gt;
 $ '''cd coreboot/util/inteltool'''&lt;br /&gt;
 $ '''make'''&lt;br /&gt;
 $ '''sudo make install'''&lt;br /&gt;
&lt;br /&gt;
You can [http://review.coreboot.org/gitweb?p=coreboot.git;a=tree;f=util/inteltool;hb=HEAD browse the inteltool source code] using the web interface.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Show basic information:&lt;br /&gt;
&lt;br /&gt;
 $ '''inteltool'''&lt;br /&gt;
&lt;br /&gt;
Show all available information and register contents:&lt;br /&gt;
&lt;br /&gt;
 $ '''inteltool -a'''&lt;br /&gt;
&lt;br /&gt;
Please see the [http://tracker.coreboot.org/trac/coreboot/browser/trunk/util/inteltool/inteltool.8 manpage] (or type '''inteltool -h''') for information on various other options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{PD-self}}&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Ectool</id>
		<title>Ectool</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Ectool"/>
				<updated>2013-03-20T18:42:20Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Installation */ svn bad. git good.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''ectool''' is a small utility that dumps the RAM of a laptop's [[Embedded controller|Embedded/Environmental Controller (EC)]].&lt;br /&gt;
&lt;br /&gt;
It expects an EC as described in the ACPI specification. Only ACPI-compliant ECs will be detected.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
'''Manual installation'''&lt;br /&gt;
&lt;br /&gt;
 $ '''git clone http://review.coreboot.org/coreboot.git'''&lt;br /&gt;
 $ '''cd coreboot/util/ectool'''&lt;br /&gt;
 $ '''make'''&lt;br /&gt;
 $ '''sudo make install'''&lt;br /&gt;
&lt;br /&gt;
You can [http://review.coreboot.org/gitweb?p=coreboot.git;a=tree;f=util/ectool;hb=HEAD browse the ectool source code] using the web interface.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
 $ '''ectool'''&lt;br /&gt;
&lt;br /&gt;
Please see '''ectool -h''' for information on various other options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{PD-self}}&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Coreinfo</id>
		<title>Coreinfo</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Coreinfo"/>
				<updated>2013-03-20T18:41:09Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Building coreinfo */ svn bad. git good.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''coreinfo''' is a small informational [[Payloads|payload]] for coreboot. Currently, it can display CPU information, PCI information, coreboot table information, show an NVRAM dump, as well as a RAM dump.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
Image:Coreinfo cpu.png|&amp;lt;small&amp;gt;CPU info&amp;lt;/small&amp;gt;&lt;br /&gt;
Image:Coreinfo pci.png|&amp;lt;small&amp;gt;PCI info&amp;lt;/small&amp;gt;&lt;br /&gt;
Image:Coreinfo coreboot.png|&amp;lt;small&amp;gt;coreboot table&amp;lt;/small&amp;gt;&lt;br /&gt;
Image:Coreinfo nvram.png|&amp;lt;small&amp;gt;NVRAM dump&amp;lt;/small&amp;gt;&lt;br /&gt;
Image:Coreinfo ramdump.jpg|&amp;lt;small&amp;gt;RAM dump&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Building coreinfo ==&lt;br /&gt;
&lt;br /&gt;
[[libpayload]] and coreinfo are in the '''payloads/''' directory of the coreboot tree. If you have already checked out the tree, you can skip the git clone steps below.&lt;br /&gt;
&lt;br /&gt;
=== libpayload ===&lt;br /&gt;
&lt;br /&gt;
The coreinfo payload uses [[libpayload]], thus you need to get that first and build it:&lt;br /&gt;
&lt;br /&gt;
 $ '''git clone http://review.coreboot.org/p/coreboot'''&lt;br /&gt;
 $ '''cd coreboot/payloads/libpayload'''&lt;br /&gt;
 $ '''make menuconfig'''&lt;br /&gt;
 $ '''make install'''&lt;br /&gt;
&lt;br /&gt;
=== coreinfo ===&lt;br /&gt;
&lt;br /&gt;
You can then get coreinfo itself and build it:&lt;br /&gt;
&lt;br /&gt;
 $ '''cd coreboot/payloads/coreinfo'''&lt;br /&gt;
 $ '''make menuconfig'''&lt;br /&gt;
 $ '''make'''&lt;br /&gt;
&lt;br /&gt;
The file '''build/coreinfo.elf''' is your final coreinfo payload which you can use with coreboot, either on real hardware or in a [[QEMU]] image.&lt;br /&gt;
&lt;br /&gt;
=== coreboot ===&lt;br /&gt;
&lt;br /&gt;
Finally, you have to build coreboot with coreinfo as payload:&lt;br /&gt;
&lt;br /&gt;
 $ '''cp coreboot/payloads/coreinfo/build/coreinfo.elf coreboot/payload.elf'''&lt;br /&gt;
 $ '''cd coreboot'''&lt;br /&gt;
 $ '''make menuconfig'''&lt;br /&gt;
&lt;br /&gt;
Now enter the '''Payload''' menu and select '''Payload type''' and then '''An ELF executable payload file'''. Then, exit the menu, save your settings, and build coreboot:&lt;br /&gt;
&lt;br /&gt;
 $ '''make'''&lt;br /&gt;
&lt;br /&gt;
The file '''build/coreboot.rom''' is your final coreboot image, which also contains the coreinfo payload.&lt;br /&gt;
&lt;br /&gt;
== Running coreinfo in QEMU ==&lt;br /&gt;
&lt;br /&gt;
For running coreboot+coreinfo image in [[QEMU]], you need &lt;br /&gt;
&lt;br /&gt;
1 Previously described steps (build coreboot image for QEMU)&lt;br /&gt;
&lt;br /&gt;
2 Patched version of '''vgabios-cirrus.bin''' in your '''build''' directory:&lt;br /&gt;
&lt;br /&gt;
 $ '''cd build'''&lt;br /&gt;
 $ '''wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip'''&lt;br /&gt;
 $ '''unzip Vgabios-cirrus.zip'''&lt;br /&gt;
 $ '''cd ..'''&lt;br /&gt;
&lt;br /&gt;
You can now run coreinfo in [[QEMU]]:&lt;br /&gt;
&lt;br /&gt;
 $ qemu-system-i386 -L build -hda /dev/zero -serial stdio&lt;br /&gt;
&lt;br /&gt;
== Ready-made coreinfo QEMU image ==&lt;br /&gt;
&lt;br /&gt;
If you don't want to build libpayload, coreinfo, and coreboot from source, you can also use the [[QEMU#coreboot_v3_.2B_libpayload_.2B_coreinfo|ready-made coreinfo QEMU image]] by following the instructions on that page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{PD-self}}&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Nvramtool</id>
		<title>Nvramtool</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Nvramtool"/>
				<updated>2013-03-20T18:40:37Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Installation */ svn bad. git good.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''nvramtool''' (previously known as '''lxbios''' and '''cmos_util''') is a utility for reading/writing coreboot parameters and displaying information from the coreboot table in CMOS/NVRAM.&lt;br /&gt;
&lt;br /&gt;
The program is intended only for x86-based Linux systems that use coreboot, but can also be used for non-coreboot systems (e.g. for dumping all NVRAM bytes).&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
'''Manual Installation'''&lt;br /&gt;
&lt;br /&gt;
 $ '''git clone http://review.coreboot.org/coreboot.git'''&lt;br /&gt;
 $ '''cd coreboot/util/nvramtool'''&lt;br /&gt;
 $ '''make'''&lt;br /&gt;
 $ '''sudo make install''' (optional)&lt;br /&gt;
&lt;br /&gt;
'''Debian'''&lt;br /&gt;
&lt;br /&gt;
 $ '''sudo aptitude install nvramtool'''&lt;br /&gt;
&lt;br /&gt;
== Using nvramtool ==&lt;br /&gt;
&lt;br /&gt;
Running nvramtool on a system running coreboot would yield a result like this:&lt;br /&gt;
&lt;br /&gt;
  $ '''./nvramtool -a'''&lt;br /&gt;
  boot_option = Fallback&lt;br /&gt;
  last_boot = Fallback&lt;br /&gt;
  ECC_memory = Disable&lt;br /&gt;
  baud_rate = 115200&lt;br /&gt;
  hw_scrubber = Enable&lt;br /&gt;
  interleave_chip_selects = Enable&lt;br /&gt;
  max_mem_clock = 100Mhz&lt;br /&gt;
  dual_core = Enable&lt;br /&gt;
  power_on_after_fail = Enable&lt;br /&gt;
  debug_level = Spew&lt;br /&gt;
  boot_first = HDD&lt;br /&gt;
  boot_second = Network&lt;br /&gt;
  boot_third = Floppy&lt;br /&gt;
  boot_index = 0xe&lt;br /&gt;
  boot_countdown = 0xfa&lt;br /&gt;
  slow_cpu = off&lt;br /&gt;
  nmi = Enable&lt;br /&gt;
  iommu = Enable&lt;br /&gt;
  nvramtool: Can not read coreboot parameter user_data because layout info specifies CMOS area that is too wide.&lt;br /&gt;
&lt;br /&gt;
== Commonly used CMOS/NVRAM options ==&lt;br /&gt;
&lt;br /&gt;
=== coreboot v4 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Option&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Used in&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comment&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Possible values&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| baud_rate&lt;br /&gt;
| src/pc80/serial.c&lt;br /&gt;
| The serial port BAUD rate setup by coreboot.&lt;br /&gt;
| 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| debug_level&lt;br /&gt;
| src/console/console.c&lt;br /&gt;
| The coreboot debugging level.&lt;br /&gt;
| Notice, Info, Debug, Spew&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| ECC_memory&lt;br /&gt;
| src/northbridge/intel/e7520/raminit.c&amp;lt;br /&amp;gt;src/northbridge/intel/e7525/raminit.c&amp;lt;br /&amp;gt;src/northbridge/amd/amdk8/raminit.c&amp;lt;br /&amp;gt;src/northbridge/amd/amdk8/raminit_f.c&lt;br /&gt;
| &lt;br /&gt;
| Enable, Disable&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| interleave_chip_selects&lt;br /&gt;
| src/northbridge/amd/amdk8/raminit.c&amp;lt;br /&amp;gt;src/northbridge/amd/amdk8/raminit_f.c&lt;br /&gt;
| &lt;br /&gt;
| Enable, Disable&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| max_mem_clock&lt;br /&gt;
| src/northbridge/amd/amdk8/raminit.c&amp;lt;br /&amp;gt;src/northbridge/amd/amdk8/raminit_f.c&lt;br /&gt;
| &lt;br /&gt;
| mainboard-dependent&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| dual_core&lt;br /&gt;
| src/cpu/amd/model_fxx/init_cpus.c&amp;lt;br /&amp;gt;src/cpu/amd/dualcore/dualcore.c&amp;lt;br /&amp;gt;src/northbridge/amd/amdk8/coherent_ht.c&amp;lt;br /&amp;gt;src/cpu/amd/dualcore/amd_sibling.c&amp;lt;br /&amp;gt;src/northbridge/amd/amdk8/northbridge.c&lt;br /&gt;
| &lt;br /&gt;
| Enable, Disable&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| quad_core&lt;br /&gt;
| src/cpu/amd/quadcore/quadcore.c&amp;lt;br /&amp;gt;src/cpu/amd/model_10xxx/init_cpus.c&amp;lt;br /&amp;gt;src/cpu/amd/quadcore/amd_sibling.c&amp;lt;br /&amp;gt;src/northbridge/amd/amdfam10/northbridge.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| power_on_after_fail&lt;br /&gt;
| src/southbridge/amd/sb600/sb600_sm.c&amp;lt;br /&amp;gt;src/southbridge/amd/amd8111/amd8111_acpi.c&amp;lt;br /&amp;gt;src/southbridge/nvidia/ck804/ck804_lpc.c&amp;lt;br /&amp;gt;src/southbridge/nvidia/mcp55/mcp55_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/i82801ca/i82801ca_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/esb6300/esb6300_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/i82801er/i82801er_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/i3100/i3100_lpc.c&amp;lt;br /&amp;gt;src/southbridge/sis/sis966/sis966_lpc.c&amp;lt;br /&amp;gt;src/superio/winbond/w83627ehg/superio.c&amp;lt;br /&amp;gt;src/superio/winbond/w83627hf/superio.c&lt;br /&gt;
| &lt;br /&gt;
| Enable, Disable&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| slow_cpu&lt;br /&gt;
| src/southbridge/amd/amd8111/amd8111_acpi.c&amp;lt;br /&amp;gt;src/southbridge/nvidia/ck804/ck804_lpc.c&amp;lt;br /&amp;gt;src/southbridge/nvidia/mcp55/mcp55_lpc.c&amp;lt;br /&amp;gt;src/southbridge/sis/sis966/sis966_lpc.c&lt;br /&gt;
| &lt;br /&gt;
| off, 87.5%, 75.0%, 62.5%, 50.0%, 37.5%, 25.0%, 12.5%&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| nmi&lt;br /&gt;
| src/southbridge/amd/sb600/sb600_sm.c&amp;lt;br /&amp;gt;src/southbridge/amd/amd8111/amd8111_acpi.c&amp;lt;br /&amp;gt;src/southbridge/amd/amd8111/amd8111_lpc.c&amp;lt;br /&amp;gt;src/southbridge/amd/amd8131/amd8131_bridge.c&amp;lt;br /&amp;gt;src/southbridge/broadcom/bcm5785/bcm5785_sb_pci_main.c&amp;lt;br /&amp;gt;src/southbridge/nvidia/ck804/ck804_lpc.c&amp;lt;br /&amp;gt;src/southbridge/nvidia/mcp55/mcp55_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/i82801ca/i82801ca_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/esb6300/esb6300_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/i82801er/i82801er_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/pxhd/pxhd_bridge.c&amp;lt;br /&amp;gt;src/southbridge/intel/i82801xx/i82801xx_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/i3100/i3100_lpc.c&amp;lt;br /&amp;gt;src/southbridge/intel/i82801dbm/i82801dbm_lpc.c&amp;lt;br /&amp;gt;src/southbridge/sis/sis966/sis966_lpc.c&lt;br /&gt;
| &lt;br /&gt;
| Enable, Disable&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| pxhd_bus_speed_100&lt;br /&gt;
| src/southbridge/intel/pxhd/pxhd_bridge.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| hw_scrubber&lt;br /&gt;
| src/cpu/amd/model_fxx/model_fxx_init.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| hyper_threading&lt;br /&gt;
| src/cpu/intel/hyperthreading/intel_sibling.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| iommu&lt;br /&gt;
| src/northbridge/amd/amdk8/misc_control.c&amp;lt;br /&amp;gt;src/northbridge/amd/amdfam10/misc_control.c&lt;br /&gt;
| &lt;br /&gt;
| Enable, Disable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FILO 0.6 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Option&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Used in&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comment&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Possible values&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| boot_devices&lt;br /&gt;
| main/grub/grub.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Etherboot 5.4.2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Option&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Used in&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comment&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Possible values&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| last_boot&lt;br /&gt;
| src/firmware/linuxbios/linuxbios.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| boot_countdown&lt;br /&gt;
| src/firmware/linuxbios/linuxbios.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| boot_index&lt;br /&gt;
| src/firmware/linuxbios/linuxbios.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| boot_first&lt;br /&gt;
| src/firmware/linuxbios/linuxbios.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| boot_second&lt;br /&gt;
| src/firmware/linuxbios/linuxbios.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| boot_third&lt;br /&gt;
| src/firmware/linuxbios/linuxbios.c&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Things to know ==&lt;br /&gt;
&lt;br /&gt;
* coreboot will ignore the CMOS table if the checksum is incorrect, and will fallback to its hardcoded defaults.&lt;br /&gt;
* coreboot does not initialize the CMOS/NVRAM to default values. In other words, until you set values with nvramtool, your CMOS table will have an incorrect checksum, and will simply be ignored.&lt;br /&gt;
* Not all of the fields that nvramtool can set are used by coreboot on every mainboard.&lt;br /&gt;
* Some of the fields are used by [[payloads]] &amp;amp;mdash; for instance all the fields that start with '''boot_''' in the list above. [[FILO]] and [[Etherboot]] are two examples of bootloaders parsing NVRAM values (see their pages for a list of known variables).&lt;br /&gt;
&lt;br /&gt;
== Old websites ==&lt;br /&gt;
&lt;br /&gt;
The nvramtool tool is now maintained by the coreboot developers and this page is the main website of nvramtool. For reference, the following websites were previously used, but are now deprecated:&lt;br /&gt;
&lt;br /&gt;
* http://www.llnl.gov/linux/lxbios/lxbios.html (dead)&lt;br /&gt;
* https://computing.llnl.gov/linux/lxbios.html (dead)&lt;br /&gt;
* http://sourceforge.net/projects/lxbios/&lt;br /&gt;
&lt;br /&gt;
{{GPL}}&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Download_coreboot</id>
		<title>Download coreboot</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Download_coreboot"/>
				<updated>2013-03-20T18:36:36Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Repositories on coreboot.org */ svn bad. git good.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
'''Note: These snapshots are for people, who use Linux as operating system and are able to build software from the source code.''' &lt;br /&gt;
&lt;br /&gt;
There is no ''easy to install package'' for people who want to quickly try out a new BIOS on their computer, yet. However, we provide some images for the [[QEMU]] emulator to test coreboot (and some [[Payloads|payloads]]) on your Linux, Mac OS X, and Windows computers (without having to do any hardware changes). But please note that these images can '''not''' be used on any mainboard, they will only work in [[QEMU]]!&lt;br /&gt;
&lt;br /&gt;
== Snapshots ==&lt;br /&gt;
&lt;br /&gt;
There is an archive of coreboot snapshots available at [http://qa.coreboot.org/ qa.coreboot.org]. A new tar.bz2 file is created whenever the repository changes.&lt;br /&gt;
&lt;br /&gt;
= Git =&lt;br /&gt;
&lt;br /&gt;
coreboot has switched to using Git for version control. Please see the [[Git]] page for much useful information on how to work with Git and gerrit in coreboot.&lt;br /&gt;
&lt;br /&gt;
Old subversion repository references that still apply will continue to be kept here.&lt;br /&gt;
&lt;br /&gt;
== Git clone ==&lt;br /&gt;
&lt;br /&gt;
coreboot keeps its development tree in a [http://git-scm.com/ Git] repository.&lt;br /&gt;
&lt;br /&gt;
=== Anonymous access ===&lt;br /&gt;
&lt;br /&gt;
To clone the coreboot repository (ca. 120 MB data as of 04/2012):&lt;br /&gt;
&lt;br /&gt;
  $ git clone http://review.coreboot.org/p/coreboot&lt;br /&gt;
&lt;br /&gt;
If you want the &amp;lt;span style=&amp;quot;color: #ff0000&amp;quot;&amp;gt;obsolete, unsupported, and experimental&amp;lt;/span&amp;gt; '''coreboot v3''' tree (ca. 18 MB data as of 11/2009):&lt;br /&gt;
&lt;br /&gt;
  $ svn co svn://coreboot.org/repository/coreboot-v3&lt;br /&gt;
&lt;br /&gt;
If you want the '''old, unmaintained and unsupported coreboot v1''' tree (ca. 47 MB data as of 10/2008):&lt;br /&gt;
&lt;br /&gt;
  $ svn co svn://coreboot.org/coreboot/branches/coreboot-v1&lt;br /&gt;
&lt;br /&gt;
=== Developer access with write permission ===&lt;br /&gt;
&lt;br /&gt;
Please see our wiki page about [[Git]] for all the details.&lt;br /&gt;
&lt;br /&gt;
== Source code browsing ==&lt;br /&gt;
&lt;br /&gt;
You can browse the coreboot Git repository online using [http://review.coreboot.org/gitweb?p=coreboot.git gitweb] including its [http://review.coreboot.org/gitweb?p=coreboot.git;a=tree tree view] for accessing the files.&lt;br /&gt;
&lt;br /&gt;
== Repositories on coreboot.org ==&lt;br /&gt;
&lt;br /&gt;
'''coreboot current Git tree:'''&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://review.coreboot.org/coreboot.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''coreboot v1 (obsolete):'''&lt;br /&gt;
* svn://coreboot.org/coreboot/branches/coreboot-v1&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;https://svn.coreboot.org/coreboot/branches/coreboot-v1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''coreboot v3 (obsolete):'''&lt;br /&gt;
* svn://coreboot.org/repository/coreboot-v3&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;https://svn.coreboot.org/repository/coreboot-v3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[FILO]]:'''&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://review.coreboot.org/filo.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Buildrom]]:'''&lt;br /&gt;
* svn://coreboot.org/buildrom/&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;https://svn.coreboot.org/buildrom/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Distributed and Automated Testsystem]]:'''&lt;br /&gt;
* svn://coreboot.org/testsystem&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;https://svn.coreboot.org/testsystem/&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/FILO</id>
		<title>FILO</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/FILO"/>
				<updated>2013-03-20T18:35:51Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Building */ svn bad. git good.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Qemu filo.png|thumb|right|FILO trying to load menu.lst.]]&lt;br /&gt;
[[Image:Qemu filo prompt.png|thumb|right|FILO prompt.]]&lt;br /&gt;
&lt;br /&gt;
'''FILO''' is a bootloader which loads boot images from a local filesystem,&lt;br /&gt;
without help from legacy BIOS services.&lt;br /&gt;
&lt;br /&gt;
Expected usage is to flash it into the BIOS ROM together with coreboot.&lt;br /&gt;
&lt;br /&gt;
== Download FILO ==&lt;br /&gt;
&lt;br /&gt;
Download the latest version of FILO from Git with&lt;br /&gt;
&lt;br /&gt;
 $ git clone http://review.coreboot.org/p/filo.git&lt;br /&gt;
&lt;br /&gt;
You can also browse the source code online at&lt;br /&gt;
http://review.coreboot.org/gitweb?p=filo.git&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Supported boot devices: IDE hard disk, SATA hard disk, CD-ROM, and system memory (ROM)&lt;br /&gt;
* Supported filesystems: ext2, fat, jfs, minix, reiserfs, xfs, and iso9660&lt;br /&gt;
* Supported image formats: ELF and [b]zImage (a.k.a. /vmlinuz)&lt;br /&gt;
* Supports boot disk image of El Torito bootable CD-ROM. &amp;quot;hdc1&amp;quot; means the boot disk image of the CD-ROM at hdc.&lt;br /&gt;
* Supports loading image from raw device with user-specified offset&lt;br /&gt;
* Console on VGA + keyboard, serial port, or both&lt;br /&gt;
* Line editing with ^H, ^W and ^U keys to type arbitrary filename to boot&lt;br /&gt;
* Full support for the ELF Boot Proposal (where is it btw, Eric)&lt;br /&gt;
* Auxiliary tool to compute checksum of ELF boot images&lt;br /&gt;
* Full 32-bit code, no BIOS calls&lt;br /&gt;
* uses [[libpayload]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Only the x86 (x64) architecture is currently supported. Some efforts have &lt;br /&gt;
been made to get FILO running on PPC. Contact the [[Mailinglist|coreboot mailinglist]]&lt;br /&gt;
for more information.&lt;br /&gt;
&lt;br /&gt;
Recent version of GNU toolchain is required to build. &lt;br /&gt;
&lt;br /&gt;
We have tested with Debian/woody (gcc 2.95.4, binutils 2.12.90.0.1,&lt;br /&gt;
make 3.79.1), Debian/sid (gcc 3.3.2, binutils 2.14.90.0.6,&lt;br /&gt;
make 3.80) and different versions of SUSE Linux from 9.0 to 11.0.&lt;br /&gt;
&lt;br /&gt;
FILO will use the coreboot crossgcc if you have it built and it can be found.&lt;br /&gt;
&lt;br /&gt;
FILO uses coreboot's '''libpayload'''. It is easiest to locate and build FILO in the '''coreboot/payloads''' directory.&lt;br /&gt;
&lt;br /&gt;
== Building on 64-bit OS specifics ==&lt;br /&gt;
&lt;br /&gt;
If you will be building FILO on AMD64 platform for Debian install the '''gcc-multilib''' package.&lt;br /&gt;
&lt;br /&gt;
x64/AMD64 machines work fine when compiling FILO in 32-bit mode.&lt;br /&gt;
(coreboot uses 32-bit mode and Linux kernel does the transition to 64-bit mode)&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
&lt;br /&gt;
Before you can build FILO, you have to build libpayload.  If your filo directory is located inside the coreboot/payloads directory, you don't have to do anything special.  If for some reason you want to compile FILO of the coreboot/payloads directory, you will need to tell the makefile where libpayload is.  Open filo/Makefile in your favorite text editor and change this line&lt;br /&gt;
&lt;br /&gt;
  export LIBCONFIG_PATH := $(src)/../libpayload&lt;br /&gt;
&lt;br /&gt;
to match the location of the libpayload directory on your system:&lt;br /&gt;
&lt;br /&gt;
  export LIBCONFIG_PATH := /home/YOUR_USER_NAME/PATH_TO_COREBOOT/payloads/libpayload &lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Configure FILO (and libpayload) using the Kconfig interface:&lt;br /&gt;
&lt;br /&gt;
  $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
This will run menuconfig twice -- the first time for libpayload, the second time for FILO.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
Then running make will build filo.elf, the ELF boot image of FILO.&lt;br /&gt;
  $ make&lt;br /&gt;
&lt;br /&gt;
If you are compiling on an AMD64 platform and compiler complains, instead of &amp;quot;make&amp;quot; you need to write&lt;br /&gt;
&lt;br /&gt;
  $ make CC=&amp;quot;gcc -m32&amp;quot; LD=&amp;quot;ld -b elf32-i386&amp;quot; HOSTCC=&amp;quot;gcc&amp;quot; AS=&amp;quot;as --32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Use '''build/filo.elf''' as your payload of coreboot, or a boot image for&lt;br /&gt;
[[Etherboot]].&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can build libpayload and FILO in one go using the build.sh script, with the drawback that you'll get the default options for both of them:&lt;br /&gt;
  $ ./build.sh&lt;br /&gt;
&lt;br /&gt;
Here is the short listing how to build FILO from git&lt;br /&gt;
 cd coreboot/payloads&lt;br /&gt;
 git clone http://review.coreboot.org/p/filo.git&lt;br /&gt;
 cd filo&lt;br /&gt;
 make config&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
* This software was originally developed by SONE Takeshi &amp;lt;ts1@tsn.or.jp&amp;gt;&lt;br /&gt;
* It has been significantly enhanced and is now maintained by [mailto:stepan@coresystems.de Stefan Reinauer].&lt;br /&gt;
* It uses libpayload from Uwe Hermann and Jordan Crouse&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
If you experience trouble compiling or using FILO, please report with a build log or detailed error description to the [[Mailinglist|coreboot mailing list]].&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
=== CD-ROM Booting ===&lt;br /&gt;
&lt;br /&gt;
To boot a CD-ROM or DVD you only need to specify the drive '''without a partition number'''. For example to boot to the primary drive on the secondary IDE channel you would use '''hdc''' and not '''hdc1''' in FILO.&lt;br /&gt;
&lt;br /&gt;
=== Grub-like Interface ===&lt;br /&gt;
If you are using FILO with '''CONFIG_USE_GRUB''', and want to boot to your Linux install disk you have to do a mixture of GRUB and FILO commands.&lt;br /&gt;
&lt;br /&gt;
Like GRUB you have to append a kernel (and parameters), then an initrd, and give a boot command.&lt;br /&gt;
Like FILO you have to give absolute paths.&lt;br /&gt;
&lt;br /&gt;
Example to boot to a GeeXboX install CD-ROM:&lt;br /&gt;
 filo&amp;gt; kernel hdc:/GEEXBOX/boot/vmlinuz root=/dev/ram0 rw init=linuxrc boot=cdrom installator&lt;br /&gt;
Press &amp;lt;ENTER&amp;gt;&lt;br /&gt;
 filo&amp;gt; initrd hdc:/GEEXBOX/boot/initrd.gz&lt;br /&gt;
Press &amp;lt;ENTER&amp;gt;&lt;br /&gt;
 filo&amp;gt; boot&lt;br /&gt;
Press &amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your system will now boot right into the Linux install.&lt;br /&gt;
&lt;br /&gt;
=== NVRAM Parsing ===&lt;br /&gt;
&lt;br /&gt;
FILO parses the following NVRAM variables:&lt;br /&gt;
&lt;br /&gt;
* 'boot_devices' can contain a list of boot devices seperated by semicolons. FILO will try to load filo.lst / menu.lst from any of these devices.&lt;br /&gt;
Example how to set:&lt;br /&gt;
 nvramtool -w &amp;quot;boot_devices=hda1:/boot/filo;hdc:&amp;quot;&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-03-15T20:53:00Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* coreboot cheap testing rig */  link is dead&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are some ideas that have come up in the community. Some are more or less suitable for GSoC and prospective students' application should expand on some ideas and pair back others.&lt;br /&gt;
&lt;br /&gt;
== Linux Firmware Kit, BITS ==&lt;br /&gt;
&lt;br /&gt;
There are various test suites for firmware aspects, esp. those that interacts with the operating systems. Unfortunately, some of these projects are dead, some seem to be forked and developed semi-publically, and having all that stuff in lots of different places is a big hassle.&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to pick up the pieces, and create a single tool (most likely a bootable CD/USB drive image) that can be booted on vendor BIOS (for the Red Hat and Canonical developers that work on these) as well as coreboot (preferably seabios and FILO to improve testability - is an issue created/fixed by coreboot or seabios?). This can then be improved in various ways.&lt;br /&gt;
&lt;br /&gt;
There's also intel-gpu-tools that might have some useful tests (at least for intel-boards): http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think might be worthy extensions to the existing tests.&lt;br /&gt;
&lt;br /&gt;
Required knowledge for this task: Not so much coreboot/firmware level, but you should have some idea of the boot process of a Linux system (as these test suites are mostly Linux based). GSoC probably won't provide enough time to learn all that (Linux boot process, firmware interfaces such as ACPI) and still develop the tools in some useful way.&lt;br /&gt;
&lt;br /&gt;
Further reading: https://wiki.ubuntu.com/Kernel/Reference/fwts http://biosbits.org/ http://linuxfirmwarekit.org/&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
We already have a build bot that builds various configurations of coreboot. It would be nice to extend it with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
* Work on code coverage support for coreboot code (dump data into ram, or via serial. Provide tools to fetch it). Analyse that data.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Coverage: [http://ltp.sourceforge.net/test/coverage/lcov.php LCOV], [http://ggcov.sourceforge.net GGCOV]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot test suite ==&lt;br /&gt;
Create a test suite to gather and report coreboot mainboard and payload settings. This project may leverage libpayload, coreinfo, memtest86, BITS, and other tools like benchmarks for CPU and RAM performance. Konstantin Aladyshev reported according to the benchmark [http://www.cs.virginia.edu/stream/ STREAM],  RAM access on his system with coreboot is four times slower than with the proprietary vendor BIOS. Such issues should be easily spotted with the test suite.&lt;br /&gt;
&lt;br /&gt;
The suite should gather result and report them at summary and detailed levels.  The goal is to help coreboot developers identify problems and to test coreboot features. This project should work closely with the testing rig and test reporting projects. It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [http://biosbits.org/ BITS]&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
One of the biggest challenges in coreboot is support many systems in the same codebase. As systems age and coreboot continues to develop, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark. The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for Family14 mainboards == &lt;br /&gt;
Identify potential mainboards to port based on the recently released AMD Family 14 support. The goal would be to support publicly available plaftorms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*[[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI/S3/power managment ==&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but it is very mainboard specific. Create a generic solution for ACPI table generation and S3 support.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==coreboot port to ARM SOC's with PCIe==&lt;br /&gt;
&lt;br /&gt;
[http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
&lt;br /&gt;
[http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SOC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. &lt;br /&gt;
We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011. &lt;br /&gt;
&lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* Bari Ari&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system in case of a panic(). &lt;br /&gt;
&lt;br /&gt;
Ron would like to base this solution around SerialICE. The basic idea is that the system always boots to SerialICE. There is a test in CMOS for 'last boot worked' and, if this is set, SerialICE finds a coreboot in cbfs and runs it. If 'last boot worked' is not set, or the user hits some magic keyboard sequence, SerialICE takes control. &lt;br /&gt;
&lt;br /&gt;
SerialICE needs to be extended (not much) to make this work. Having this capability would make it possible for Ron to get some very hard ports working that are just not possible today. At the same time, there are lots of hardware boards to test this idea on, so it should be easy to get it working. &lt;br /&gt;
&lt;br /&gt;
It might be possible to integrate this into the coreboot build as a bootblock option (in the same spot as the fallback/normal switch and the simple loader).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There was a panic room project started in 2011 &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
Alternatively, figure out a way how to build them in parallel and have coreboot select the right one on runtime.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tianocore as payload ==&lt;br /&gt;
&lt;br /&gt;
What SeaBIOS is for PC-BIOS interfaces, Tianocore is for UEFI - in fact, it's the reference implementation that most commercial UEFIs are built on. While coreboot favors other design goals than UEFI, it's really useful to support this standard that's being pushed on the market, just like SeaBIOS really helped coreboot by providing a BIOS &amp;quot;frontend&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There's already some code, but there's still much room for improvement: A graphics driver that uses a preinitialized (by coreboot) framebuffer. A CBFS driver so Tiano can access coreboot flash storage. Based on that, a flash driver (maybe adapted from flashrom) to implement non-volatile variable storage by writing to flash.&lt;br /&gt;
&lt;br /&gt;
Possible tasks depend a lot on existing knowledge of the candidate. Few of the tasks are large enough to fill the entire GSoC time frame with one of them. Feel free to discuss with us on IRC what a suitable target could be for you.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://www.tianocore.org/&lt;br /&gt;
* https://github.com/pgeorgi/edk2/tree/coreboot-pkg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-03-15T20:47:14Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are some ideas that have come up in the community. Some are more or less suitable for GSoC and prospective students' application should expand on some ideas and pair back others.&lt;br /&gt;
&lt;br /&gt;
== Linux Firmware Kit, BITS ==&lt;br /&gt;
&lt;br /&gt;
There are various test suites for firmware aspects, esp. those that interacts with the operating systems. Unfortunately, some of these projects are dead, some seem to be forked and developed semi-publically, and having all that stuff in lots of different places is a big hassle.&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to pick up the pieces, and create a single tool (most likely a bootable CD/USB drive image) that can be booted on vendor BIOS (for the Red Hat and Canonical developers that work on these) as well as coreboot (preferably seabios and FILO to improve testability - is an issue created/fixed by coreboot or seabios?). This can then be improved in various ways.&lt;br /&gt;
&lt;br /&gt;
There's also intel-gpu-tools that might have some useful tests (at least for intel-boards): http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think might be worthy extensions to the existing tests.&lt;br /&gt;
&lt;br /&gt;
Required knowledge for this task: Not so much coreboot/firmware level, but you should have some idea of the boot process of a Linux system (as these test suites are mostly Linux based). GSoC probably won't provide enough time to learn all that (Linux boot process, firmware interfaces such as ACPI) and still develop the tools in some useful way.&lt;br /&gt;
&lt;br /&gt;
Further reading: https://wiki.ubuntu.com/Kernel/Reference/fwts http://biosbits.org/ http://linuxfirmwarekit.org/&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
We already have a build bot that builds various configurations of coreboot. It would be nice to extend it with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
* Work on code coverage support for coreboot code (dump data into ram, or via serial. Provide tools to fetch it). Analyse that data.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Coverage: [http://ltp.sourceforge.net/test/coverage/lcov.php LCOV], [http://ggcov.sourceforge.net GGCOV]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot test suite ==&lt;br /&gt;
Create a test suite to gather and report coreboot mainboard and payload settings. This project may leverage libpayload, coreinfo, memtest86, BITS, and other tools like benchmarks for CPU and RAM performance. Konstantin Aladyshev reported according to the benchmark [http://www.cs.virginia.edu/stream/ STREAM],  RAM access on his system with coreboot is four times slower than with the proprietary vendor BIOS. Such issues should be easily spotted with the test suite.&lt;br /&gt;
&lt;br /&gt;
The suite should gather result and report them at summary and detailed levels.  The goal is to help coreboot developers identify problems and to test coreboot features. This project should work closely with the testing rig and test reporting projects. It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [http://biosbits.org/ BITS]&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://qa.coresystems.de&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
One of the biggest challenges in coreboot is support many systems in the same codebase. As systems age and coreboot continues to develop, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark. The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for Family14 mainboards == &lt;br /&gt;
Identify potential mainboards to port based on the recently released AMD Family 14 support. The goal would be to support publicly available plaftorms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*[[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI/S3/power managment ==&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but it is very mainboard specific. Create a generic solution for ACPI table generation and S3 support.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==coreboot port to ARM SOC's with PCIe==&lt;br /&gt;
&lt;br /&gt;
[http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
&lt;br /&gt;
[http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SOC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. &lt;br /&gt;
We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011. &lt;br /&gt;
&lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* Bari Ari&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system in case of a panic(). &lt;br /&gt;
&lt;br /&gt;
Ron would like to base this solution around SerialICE. The basic idea is that the system always boots to SerialICE. There is a test in CMOS for 'last boot worked' and, if this is set, SerialICE finds a coreboot in cbfs and runs it. If 'last boot worked' is not set, or the user hits some magic keyboard sequence, SerialICE takes control. &lt;br /&gt;
&lt;br /&gt;
SerialICE needs to be extended (not much) to make this work. Having this capability would make it possible for Ron to get some very hard ports working that are just not possible today. At the same time, there are lots of hardware boards to test this idea on, so it should be easy to get it working. &lt;br /&gt;
&lt;br /&gt;
It might be possible to integrate this into the coreboot build as a bootblock option (in the same spot as the fallback/normal switch and the simple loader).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There was a panic room project started in 2011 &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
Alternatively, figure out a way how to build them in parallel and have coreboot select the right one on runtime.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tianocore as payload ==&lt;br /&gt;
&lt;br /&gt;
What SeaBIOS is for PC-BIOS interfaces, Tianocore is for UEFI - in fact, it's the reference implementation that most commercial UEFIs are built on. While coreboot favors other design goals than UEFI, it's really useful to support this standard that's being pushed on the market, just like SeaBIOS really helped coreboot by providing a BIOS &amp;quot;frontend&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There's already some code, but there's still much room for improvement: A graphics driver that uses a preinitialized (by coreboot) framebuffer. A CBFS driver so Tiano can access coreboot flash storage. Based on that, a flash driver (maybe adapted from flashrom) to implement non-volatile variable storage by writing to flash.&lt;br /&gt;
&lt;br /&gt;
Possible tasks depend a lot on existing knowledge of the candidate. Few of the tasks are large enough to fill the entire GSoC time frame with one of them. Feel free to discuss with us on IRC what a suitable target could be for you.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://www.tianocore.org/&lt;br /&gt;
* https://github.com/pgeorgi/edk2/tree/coreboot-pkg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:PatrickGeorgi|Patrick Georgi]]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-03-15T20:38:02Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Infrastructure for automatic code checking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are some ideas that have come up in the community. Some are more or less suitable for GSoC and prospective students' application should expand on some ideas and pair back others.&lt;br /&gt;
&lt;br /&gt;
== Linux Firmware Kit, BITS ==&lt;br /&gt;
&lt;br /&gt;
There are various test suites for firmware aspects, esp. those that interacts with the operating systems. Unfortunately, some of these projects are dead, some seem to be forked and developed semi-publically, and having all that stuff in lots of different places is a big hassle.&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to pick up the pieces, and create a single tool (most likely a bootable CD/USB drive image) that can be booted on vendor BIOS (for the Red Hat and Canonical developers that work on these) as well as coreboot (preferably seabios and FILO to improve testability - is an issue created/fixed by coreboot or seabios?). This can then be improved in various ways.&lt;br /&gt;
&lt;br /&gt;
There's also intel-gpu-tools that might have some useful tests (at least for intel-boards): http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think might be worthy extensions to the existing tests.&lt;br /&gt;
&lt;br /&gt;
Required knowledge for this task: Not so much coreboot/firmware level, but you should have some idea of the boot process of a Linux system (as these test suites are mostly Linux based). GSoC probably won't provide enough time to learn all that (Linux boot process, firmware interfaces such as ACPI) and still develop the tools in some useful way.&lt;br /&gt;
&lt;br /&gt;
Further reading: https://wiki.ubuntu.com/Kernel/Reference/fwts http://biosbits.org/ http://linuxfirmwarekit.org/&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
We already have a build bot that builds various configurations of coreboot. It would be nice to extend it with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
* Work on code coverage support for coreboot code (dump data into ram, or via serial. Provide tools to fetch it). Analyse that data.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Coverage: [http://ltp.sourceforge.net/test/coverage/lcov.php LCOV], [http://ggcov.sourceforge.net GGCOV]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
* [http://frama-c.com/ Frama-C]&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot test suite ==&lt;br /&gt;
Create a test suite to gather and report coreboot mainboard and payload settings. This project may leverage libpayload, coreinfo, memtest86, BITS, and other tools like benchmarks for CPU and RAM performance. Konstantin Aladyshev reported according to the benchmark [http://www.cs.virginia.edu/stream/ STREAM],  RAM access on his system with coreboot is four times slower than with the proprietary vendor BIOS. Such issues should be easily spotted with the test suite.&lt;br /&gt;
&lt;br /&gt;
The suite should gather result and report them at summary and detailed levels.  The goal is to help coreboot developers identify problems and to test coreboot features. This project should work closely with the testing rig and test reporting projects. It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [http://biosbits.org/ BITS]&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://qa.coresystems.de&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
One of the biggest challenges in coreboot is support many systems in the same codebase. As systems age and coreboot continues to develop, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark. The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for Family14 mainboards == &lt;br /&gt;
Identify potential mainboards to port based on the recently released AMD Family 14 support. The goal would be to support publicly available plaftorms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*[[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI/S3/power managment ==&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but it is very mainboard specific. Create a generic solution for ACPI table generation and S3 support.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==coreboot port to ARM SOC's with PCIe==&lt;br /&gt;
&lt;br /&gt;
[http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
&lt;br /&gt;
[http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SOC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. &lt;br /&gt;
We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011. &lt;br /&gt;
&lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* Bari Ari&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system in case of a panic(). &lt;br /&gt;
&lt;br /&gt;
Ron would like to base this solution around SerialICE. The basic idea is that the system always boots to SerialICE. There is a test in CMOS for 'last boot worked' and, if this is set, SerialICE finds a coreboot in cbfs and runs it. If 'last boot worked' is not set, or the user hits some magic keyboard sequence, SerialICE takes control. &lt;br /&gt;
&lt;br /&gt;
SerialICE needs to be extended (not much) to make this work. Having this capability would make it possible for Ron to get some very hard ports working that are just not possible today. At the same time, there are lots of hardware boards to test this idea on, so it should be easy to get it working. &lt;br /&gt;
&lt;br /&gt;
It might be possible to integrate this into the coreboot build as a bootblock option (in the same spot as the fallback/normal switch and the simple loader).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There was a panic room project started in 2011 &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/GSoC</id>
		<title>GSoC</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/GSoC"/>
				<updated>2013-03-15T20:36:38Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
= Google Summer of Code 2013 = &lt;br /&gt;
&lt;br /&gt;
Welcome to the coreboot's [http://www.google-melange.com/gsoc/homepage/google/gsoc2013 Google Summer of Code 2013] page. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are preparing to apply for GSoC 2013. Please continue to add your ideas to the [[Project Ideas|projects page]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have questions, comments, or concerns, please send them to the [[Mailinglist|mailing list]] or join us in [[IRC]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The coreboot project may also host payload and [http://flashrom.org/GSoC flashrom] projects.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Previous GSoC Projects|Previous coreboot GSoC projects]]&lt;br /&gt;
&lt;br /&gt;
= Call for Mentors and Project Ideas =&lt;br /&gt;
Google has announced the 2013 GSoC program. coreboot had been a GSoC participant in the past, but was not accepted in 2012 and we would like to change that this year. The GSoC project acceptance has become much more competitive and the project ideas and student recruitment pages has become key in getting accepted.  Our project ideas were not flushed out enough in the application process and we didn't have a complete mentors list/assignment for those projects.&lt;br /&gt;
&lt;br /&gt;
I think that coreboot has some extremely talented people involved in the project and students should be attracted to the experience of working with our mentors as much as the potential projects. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What we need to apply for GSoC 2013:&lt;br /&gt;
&lt;br /&gt;
Project Admins - We need a person or two to be the main liaison between coreboot and GSoC. This person(s) register the project, fills out the application, leads and organizes the projects and mentors.&lt;br /&gt;
&lt;br /&gt;
Mentors - We need a pool of mentors willing to support students on a number of levels; Helping them from the very beginning with project ideas and writing their applications, project and development time management, research, communication, documentation, drive deadlines. &lt;br /&gt;
&lt;br /&gt;
Mentor biographies - To improve out GSoC recruitment, i would like to have a one paragraph biography for each of our mentors. It should contain what your coreboot experience and contributions. Something about your work and/or education experience and maybe some other personal information. Maybe where you are located. It helps to have mentors can be matched with the students culture.  &lt;br /&gt;
&lt;br /&gt;
Project ideas - We also need complete project ideas with pointers to background data and what the expected outcome would be. We need a list of potential mentors for each project idea. &lt;br /&gt;
&lt;br /&gt;
coreboot GSoC support roles - Even if you can't commit to being a full time mentor, we could use your help with the coreboot promotion, student recruitment, wiki, project ideas, blog postings,  and code reviews , and encouragement and advice to students and mentors. &lt;br /&gt;
&lt;br /&gt;
Important dates:&lt;br /&gt;
March18 - 29 - Org applications. We should have a list of mentors and suitable project ideas, policies, etc by this date. &lt;br /&gt;
April 1 - 5-  GSoC application review&lt;br /&gt;
April 8 - Org acceptance &lt;br /&gt;
April 22 - May 5 - student applications&lt;br /&gt;
&lt;br /&gt;
If you are interested in helping, please feel free to contact me and/or start updating the wiki and add yourself and/or project ideas.&lt;br /&gt;
&lt;br /&gt;
= People involved =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Role !! Comms&lt;br /&gt;
|-&lt;br /&gt;
| David Hendricks || flashrom: possible mentor || IRC: dhendrix, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML]&lt;br /&gt;
|-&lt;br /&gt;
| Stefan Tauner || flashrom: organizer/possible mentor/wannabe student || IRC: stefanct, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML]&lt;br /&gt;
|-&lt;br /&gt;
| Patrick Georgi || coreboot: possible co-organizer, possible co-mentor (&amp;quot;co-&amp;quot; since on vacation during GSoC period) || IRC: patrickg, pgeorgi&lt;br /&gt;
|-&lt;br /&gt;
| Marc Jones || coreboot:  co-organizer and mentor  || IRC: marcj&lt;br /&gt;
|-&lt;br /&gt;
| Kyösti Mälkki || serialice: wannabe student || IRC: kmalkki, [http://www.serialice.com/mailman/listinfo/serialice SerialICE ML]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Infrastructure_Projects</id>
		<title>Infrastructure Projects</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Infrastructure_Projects"/>
				<updated>2013-03-15T09:56:33Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Finished */ fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects a list of projects to improve the infrastructure of coreboot v4. Infrastructure means those parts of the code that aren't chipset or mainboard specific, but are used by all of them. The idea is to consolidate a list of things &amp;quot;to do&amp;quot; with their status and responsible developers.&lt;br /&gt;
&lt;br /&gt;
= In progress =&lt;br /&gt;
&lt;br /&gt;
== Low/High Tables ==&lt;br /&gt;
&lt;br /&gt;
SeaBIOS requires a copy of various BIOS tables outside the fseg as it overwrites that segment. Generally clean out the table generation code.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, implemented on some boards. There are problems on some chipsets/boards because of incorrect CONFIG_VIDEO_MB handling. The might be other issues, too (not clear, yet).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tested&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdfam10&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdht&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdk8&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdmct&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx1&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx2&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/lx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7501&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7520&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7525&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i440bx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82810&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82830&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i855&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i945&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on Kontron 986LCD-M and Roda RK886EX&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn400&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn700&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on VIA pc2500e.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cx700&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8601&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8623&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vx800&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan&lt;br /&gt;
&lt;br /&gt;
== Remove .c includes ==&lt;br /&gt;
&lt;br /&gt;
Currently we include lots of code in the romstage using the preprocessor. This makes it harder to support new boards (where chipset components are supported already) and maintenance in general. So we should get rid of it where possible, using the linker for CAR boards and the build system for the remaining non-CAR boards appropriately.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' CAR boards only for now, to keep the project manageable. i945 is modified already, and boards based on it have only one or two remaining source files they include. Interacts with the next project &amp;quot;Move configuration to Kconfig&amp;quot;, which ensures that code still sees all configuration when it is compiled separately.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Move configuration to Kconfig ==&lt;br /&gt;
&lt;br /&gt;
Many boards have lots of &amp;lt;code&amp;gt;#define VAR somevalue&amp;lt;/code&amp;gt; statements in their romstage.c which define how certain component drivers are compiled. With Kconfig, there's a better place to store them. This project is about moving all configuration values out of romstage.c (and other places if appropriate) and into Kconfig. &amp;lt;code&amp;gt;util/lint/lint-001-no-global-config-in-romstage&amp;lt;/code&amp;gt; helps figuring out what remains to be done.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Intel and VIA based boards should be mostly configuration free, AMD boards still have defines in their romstage. AMD/AGESA Boards have platform_cfg.h for which a solution should be found.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Unify ACPI ==&lt;br /&gt;
* Figure out generic ACPI code and deduplicate it.&lt;br /&gt;
* Fix issues like http://www.coreboot.org/pipermail/coreboot/2011-May/065179.html&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Every ACPI board has its own routines to compile the ACPI sources. Unify that.&lt;br /&gt;
&lt;br /&gt;
== CMOS handling ==&lt;br /&gt;
&lt;br /&gt;
The subprojects are ordered in a way that minimizes lost work.&lt;br /&gt;
&lt;br /&gt;
=== Done: Simplify get_option ===&lt;br /&gt;
Replace &amp;lt;code&amp;gt;get_option(VALstart, VALlen, default)&amp;lt;/code&amp;gt; with a macro that hides start/len in something like &amp;lt;code&amp;gt;get_option(VAL, default)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement a new cmos.layout format ===&lt;br /&gt;
The current layout is simple to parse, but not so simple to maintain or extend.&lt;br /&gt;
Create a format that combines the various fields into a single representation, eg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
400/8 century enum { 0x19=&amp;quot;1900&amp;quot;, 0x20=&amp;quot;2000&amp;quot;, 0x21=&amp;quot;2100&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
408/512 some_string string&lt;br /&gt;
&lt;br /&gt;
984/16 checksum checksum 392 983&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement an include statement ===&lt;br /&gt;
That way, we can have global fields (RTC, century byte), per chipset component fields (defined by northbrigde/southbridge/superio), per mainboard fields at their appropriate places.&lt;br /&gt;
&lt;br /&gt;
=== CMOS defaults ===&lt;br /&gt;
Allow (somehow) to define defaults for all CMOS fields, and create a static table from that. Use that at runtime if the CMOS checksum fails.&lt;br /&gt;
In the above format, it could simply be a suffix &amp;lt;code&amp;gt;default=VALUE&amp;lt;/code&amp;gt;&lt;br /&gt;
Also drop the &amp;quot;default&amp;quot; argument in get_options. As components have their own cmos.layout snippets, we can always take those definitions' defaults, even if mainboards don't make use of CMOS themselves.&lt;br /&gt;
&lt;br /&gt;
=== Value overrides ===&lt;br /&gt;
A chipset might provide options (eg. SATA/IDE) that a board might override (eg. because it doesn't provide IDE even if the chipset would support it). Allow the mainboard to override config options. This wouldn't just set a new default, but drop the option from CMOS entirely, hardcoding the value in the build. Some autogenerated #ifdef/#define magic might help there.&lt;br /&gt;
&lt;br /&gt;
=== Provide update paths and avoid conflicts in addressing ===&lt;br /&gt;
Research topic: How could updates to nvram configuration (eg. new fields) be handled safely, and how could we get away from carving out the CMOS memory space manually? (one proposal: http://article.gmane.org/gmane.linux.bios/64572)&lt;br /&gt;
&lt;br /&gt;
Simple solution: Add smarts to flashrom: When running from coreboot, it has current cmos.layout and the table, as well as the new cmos.layout (and the new defaults). Take new defaults, fill up with current settings, and write the result to CMOS. This provides automatic values for new configuration options.&lt;br /&gt;
&lt;br /&gt;
=== Checksums ===&lt;br /&gt;
&lt;br /&gt;
The Linux kernel driver expects a non-inverted CMOS checksum for the &amp;quot;PC&amp;quot; area. coreboot inverts this checksum, which makes nvram unusable for the driver. This should be fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global variables ==&lt;br /&gt;
&lt;br /&gt;
* Make use of global variables where appropriate.&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Provide v3 style global variables framework&lt;br /&gt;
&lt;br /&gt;
= More ideas =&lt;br /&gt;
&lt;br /&gt;
== Unify UMA / onboard video code and config ==&lt;br /&gt;
&lt;br /&gt;
Unify CONFIG_VIDEO_MB, CONFIG_GFXUMA, and similar options and make all code honor them.&lt;br /&gt;
&lt;br /&gt;
== Add / Unify / Test kconfig compile-time options and runtime CMOS options in coreboot ==&lt;br /&gt;
&lt;br /&gt;
Some coreboot options are compile-time configurable only at the moment (via kconfig), but should also be runtime-configurable via CMOS/NVRAM options. We should fix this.&lt;br /&gt;
&lt;br /&gt;
* Make all options (where it makes sense) run-time configurable via CMOS options, in addition to having sane compile-time defaults configured via kconfig.&lt;br /&gt;
* This includes many options which are northbridge-specific, many southbridge-specific, and some board-specific ones.&lt;br /&gt;
* Example options: Enable/disable IDE channel(s) / SATA / USB / SCSI / etc., enable/disable UDMA on older boards, amount of memory used for IGP/UMA, choice between IDE or NAND flash (on CS5536 boards), IDE 40/80 pin cable selection (VT8237R boards for example), and many more.&lt;br /&gt;
* Some of these options are already handled in the code via CMOS options, some are compile-time only so far, so do not yet exist at all.&lt;br /&gt;
&lt;br /&gt;
== Kconfig TODO ==&lt;br /&gt;
&lt;br /&gt;
Notes / Style guide:&lt;br /&gt;
&lt;br /&gt;
* Any bool variables that are (re-)defined to 'y' in Kconfig files can be simplified by using '''select FOO''' instead of the usual paragraph, as long as they're defined globally as '''default n''' boolean elsewhere.&lt;br /&gt;
* Use '''bool''' instead of '''boolean'''.&lt;br /&gt;
* Use '''default n''' instead of '''default false'''.&lt;br /&gt;
&lt;br /&gt;
Various post-conversion things to consider:&lt;br /&gt;
&lt;br /&gt;
* Consider ways to move crt0-y and ldscript-y out of $(src)/arch/i386/Makefile.inc where appropriate (ie. component specific)&lt;br /&gt;
* Make various CONFIG_* variable which were in each board's Kconfig file global or per-chipset options (instead of per-board). Examples:&lt;br /&gt;
** UDELAY_TSC, TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 (also check UDELAY_IO, APIC, etc.)&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
Stuff to port from v3 to v4:&lt;br /&gt;
&lt;br /&gt;
* All boards that are in v3 but not in v4 (especially Geode LX stuff. Also check amd/model_gx*).&lt;br /&gt;
* Some remaining useful Kconfig options.&lt;br /&gt;
&lt;br /&gt;
== Clean up Assembler / Linker mess ==&lt;br /&gt;
&lt;br /&gt;
* Drop / combine / normalize .ld/.lb/.lds linker scripts.&lt;br /&gt;
* Move them to a common place.&lt;br /&gt;
* Drop / combine / normalize .inc / .S files.&lt;br /&gt;
&lt;br /&gt;
== Geode issues ==&lt;br /&gt;
&lt;br /&gt;
* Fix / Unify vsmsetup.c.&lt;br /&gt;
* Fix CS5535/CS5536/GX2/LX &amp;quot;chipsetinit&amp;quot; issue.&lt;br /&gt;
* Convert openvsa from MASM to something gnu as can use ( Or use JWasm as intermediate solution (it can compile MASM code) http://www.japheth.de/JWasm.html )&lt;br /&gt;
&lt;br /&gt;
== Stack and Suspend/Resume ==&lt;br /&gt;
&lt;br /&gt;
* Use CONFIG_RAMBASE + HIGH_MEMORY_SAFE instead of 0x40000 for stack.&lt;br /&gt;
&lt;br /&gt;
== Fix Suspend/Resume on AMD64 ==&lt;br /&gt;
&lt;br /&gt;
* Use cbmem in romstage on the AMD64 board(s) that have suspend/resume.&lt;br /&gt;
&lt;br /&gt;
== Clear phases in romstage ==&lt;br /&gt;
&lt;br /&gt;
* Split up the code (esp. in romstage) into more sensibly separated phases.&lt;br /&gt;
* Maybe use v3 for inspiration where the lines can be drawn.&lt;br /&gt;
&lt;br /&gt;
== Refactor SMBUS code ==&lt;br /&gt;
&lt;br /&gt;
We have tons of duplication in the smbus/spd related functions and #defines. Every chipset (and sometimes board) does the same with the exception of the 2 or 3 boards that multiplex spd roms.&lt;br /&gt;
* Deduplicate SMBUS related defines, they're virtually everywhere (and all the same)&lt;br /&gt;
* Deduplicate the lowlevel functions - they should really be the same (except for some style differences)&lt;br /&gt;
* Deduplicate the non-multiplexing highlevel functions. Mark them weak, so multiplexing boards can simply provide their own variant, which override the weak functions automatically&lt;br /&gt;
&lt;br /&gt;
== Move all registers/chip definitions in XML format for all tools ==&lt;br /&gt;
&lt;br /&gt;
For easy creating definitions of new chips, or editing old register definitions, improve readability support, and add support for humanless parsing the logs we decide move all data for msrtool, inteltool, superiotool, etc in XML-based format. See here: [[XML]]&lt;br /&gt;
&lt;br /&gt;
== Device dependency engine ==&lt;br /&gt;
&lt;br /&gt;
We have a couple of places where we want to disable (or otherwise reconfigure) a device if another one is active: SATA and IDE covering the same ports, integrated graphics / plugin video cards, ...&lt;br /&gt;
Right now, such things are done &amp;quot;somewhere&amp;quot;, usually far away from any meaningful context. This idea isn't as actionable as the others as it's still missing even a sketch of a design.&lt;br /&gt;
&lt;br /&gt;
* Find a good place (or multiple places) where such device decisions can be made&lt;br /&gt;
* Refactor the code to make use of it&lt;br /&gt;
&lt;br /&gt;
== Clean out duplicates ==&lt;br /&gt;
&lt;br /&gt;
Tools like http://duplo.giants.ch/ or http://pmd.sourceforge.net/cpd.html might be able to help finding duplicates that can be factored out.&lt;br /&gt;
&lt;br /&gt;
== CONFIG_MAX_PHYSICAL_CPUS ==&lt;br /&gt;
&lt;br /&gt;
CONFIG_MAX_PHYSICAL_CPUS should be dropped. It's set for all boards, but it's only really used by AMD K8 and newer systems (and not on Intel based systems at all).&lt;br /&gt;
In the AMD code it is used wrongly:&lt;br /&gt;
&lt;br /&gt;
* for determining which SPD offsets to include&lt;br /&gt;
* to determine APIC IDs&lt;br /&gt;
* possibly some more things&lt;br /&gt;
&lt;br /&gt;
== Add a config for selecting a SeaBIOS git revision ==&lt;br /&gt;
&lt;br /&gt;
Currently there is only the choice between coreboot master and the lastest stable revision.&lt;br /&gt;
&lt;br /&gt;
= Finished =&lt;br /&gt;
&lt;br /&gt;
Finished projects are on a [[Infrastructure Projects/Done|separate page]] now&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Infrastructure_Projects</id>
		<title>Infrastructure Projects</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Infrastructure_Projects"/>
				<updated>2013-03-15T09:56:06Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: move finished infrastructure projects to their own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects a list of projects to improve the infrastructure of coreboot v4. Infrastructure means those parts of the code that aren't chipset or mainboard specific, but are used by all of them. The idea is to consolidate a list of things &amp;quot;to do&amp;quot; with their status and responsible developers.&lt;br /&gt;
&lt;br /&gt;
= In progress =&lt;br /&gt;
&lt;br /&gt;
== Low/High Tables ==&lt;br /&gt;
&lt;br /&gt;
SeaBIOS requires a copy of various BIOS tables outside the fseg as it overwrites that segment. Generally clean out the table generation code.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, implemented on some boards. There are problems on some chipsets/boards because of incorrect CONFIG_VIDEO_MB handling. The might be other issues, too (not clear, yet).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tested&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdfam10&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdht&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdk8&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdmct&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx1&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx2&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/lx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7501&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7520&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7525&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i440bx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82810&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82830&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i855&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i945&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on Kontron 986LCD-M and Roda RK886EX&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn400&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn700&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on VIA pc2500e.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cx700&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8601&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8623&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vx800&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan&lt;br /&gt;
&lt;br /&gt;
== Remove .c includes ==&lt;br /&gt;
&lt;br /&gt;
Currently we include lots of code in the romstage using the preprocessor. This makes it harder to support new boards (where chipset components are supported already) and maintenance in general. So we should get rid of it where possible, using the linker for CAR boards and the build system for the remaining non-CAR boards appropriately.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' CAR boards only for now, to keep the project manageable. i945 is modified already, and boards based on it have only one or two remaining source files they include. Interacts with the next project &amp;quot;Move configuration to Kconfig&amp;quot;, which ensures that code still sees all configuration when it is compiled separately.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Move configuration to Kconfig ==&lt;br /&gt;
&lt;br /&gt;
Many boards have lots of &amp;lt;code&amp;gt;#define VAR somevalue&amp;lt;/code&amp;gt; statements in their romstage.c which define how certain component drivers are compiled. With Kconfig, there's a better place to store them. This project is about moving all configuration values out of romstage.c (and other places if appropriate) and into Kconfig. &amp;lt;code&amp;gt;util/lint/lint-001-no-global-config-in-romstage&amp;lt;/code&amp;gt; helps figuring out what remains to be done.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Intel and VIA based boards should be mostly configuration free, AMD boards still have defines in their romstage. AMD/AGESA Boards have platform_cfg.h for which a solution should be found.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Unify ACPI ==&lt;br /&gt;
* Figure out generic ACPI code and deduplicate it.&lt;br /&gt;
* Fix issues like http://www.coreboot.org/pipermail/coreboot/2011-May/065179.html&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Every ACPI board has its own routines to compile the ACPI sources. Unify that.&lt;br /&gt;
&lt;br /&gt;
== CMOS handling ==&lt;br /&gt;
&lt;br /&gt;
The subprojects are ordered in a way that minimizes lost work.&lt;br /&gt;
&lt;br /&gt;
=== Done: Simplify get_option ===&lt;br /&gt;
Replace &amp;lt;code&amp;gt;get_option(VALstart, VALlen, default)&amp;lt;/code&amp;gt; with a macro that hides start/len in something like &amp;lt;code&amp;gt;get_option(VAL, default)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement a new cmos.layout format ===&lt;br /&gt;
The current layout is simple to parse, but not so simple to maintain or extend.&lt;br /&gt;
Create a format that combines the various fields into a single representation, eg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
400/8 century enum { 0x19=&amp;quot;1900&amp;quot;, 0x20=&amp;quot;2000&amp;quot;, 0x21=&amp;quot;2100&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
408/512 some_string string&lt;br /&gt;
&lt;br /&gt;
984/16 checksum checksum 392 983&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement an include statement ===&lt;br /&gt;
That way, we can have global fields (RTC, century byte), per chipset component fields (defined by northbrigde/southbridge/superio), per mainboard fields at their appropriate places.&lt;br /&gt;
&lt;br /&gt;
=== CMOS defaults ===&lt;br /&gt;
Allow (somehow) to define defaults for all CMOS fields, and create a static table from that. Use that at runtime if the CMOS checksum fails.&lt;br /&gt;
In the above format, it could simply be a suffix &amp;lt;code&amp;gt;default=VALUE&amp;lt;/code&amp;gt;&lt;br /&gt;
Also drop the &amp;quot;default&amp;quot; argument in get_options. As components have their own cmos.layout snippets, we can always take those definitions' defaults, even if mainboards don't make use of CMOS themselves.&lt;br /&gt;
&lt;br /&gt;
=== Value overrides ===&lt;br /&gt;
A chipset might provide options (eg. SATA/IDE) that a board might override (eg. because it doesn't provide IDE even if the chipset would support it). Allow the mainboard to override config options. This wouldn't just set a new default, but drop the option from CMOS entirely, hardcoding the value in the build. Some autogenerated #ifdef/#define magic might help there.&lt;br /&gt;
&lt;br /&gt;
=== Provide update paths and avoid conflicts in addressing ===&lt;br /&gt;
Research topic: How could updates to nvram configuration (eg. new fields) be handled safely, and how could we get away from carving out the CMOS memory space manually? (one proposal: http://article.gmane.org/gmane.linux.bios/64572)&lt;br /&gt;
&lt;br /&gt;
Simple solution: Add smarts to flashrom: When running from coreboot, it has current cmos.layout and the table, as well as the new cmos.layout (and the new defaults). Take new defaults, fill up with current settings, and write the result to CMOS. This provides automatic values for new configuration options.&lt;br /&gt;
&lt;br /&gt;
=== Checksums ===&lt;br /&gt;
&lt;br /&gt;
The Linux kernel driver expects a non-inverted CMOS checksum for the &amp;quot;PC&amp;quot; area. coreboot inverts this checksum, which makes nvram unusable for the driver. This should be fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global variables ==&lt;br /&gt;
&lt;br /&gt;
* Make use of global variables where appropriate.&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Provide v3 style global variables framework&lt;br /&gt;
&lt;br /&gt;
= More ideas =&lt;br /&gt;
&lt;br /&gt;
== Unify UMA / onboard video code and config ==&lt;br /&gt;
&lt;br /&gt;
Unify CONFIG_VIDEO_MB, CONFIG_GFXUMA, and similar options and make all code honor them.&lt;br /&gt;
&lt;br /&gt;
== Add / Unify / Test kconfig compile-time options and runtime CMOS options in coreboot ==&lt;br /&gt;
&lt;br /&gt;
Some coreboot options are compile-time configurable only at the moment (via kconfig), but should also be runtime-configurable via CMOS/NVRAM options. We should fix this.&lt;br /&gt;
&lt;br /&gt;
* Make all options (where it makes sense) run-time configurable via CMOS options, in addition to having sane compile-time defaults configured via kconfig.&lt;br /&gt;
* This includes many options which are northbridge-specific, many southbridge-specific, and some board-specific ones.&lt;br /&gt;
* Example options: Enable/disable IDE channel(s) / SATA / USB / SCSI / etc., enable/disable UDMA on older boards, amount of memory used for IGP/UMA, choice between IDE or NAND flash (on CS5536 boards), IDE 40/80 pin cable selection (VT8237R boards for example), and many more.&lt;br /&gt;
* Some of these options are already handled in the code via CMOS options, some are compile-time only so far, so do not yet exist at all.&lt;br /&gt;
&lt;br /&gt;
== Kconfig TODO ==&lt;br /&gt;
&lt;br /&gt;
Notes / Style guide:&lt;br /&gt;
&lt;br /&gt;
* Any bool variables that are (re-)defined to 'y' in Kconfig files can be simplified by using '''select FOO''' instead of the usual paragraph, as long as they're defined globally as '''default n''' boolean elsewhere.&lt;br /&gt;
* Use '''bool''' instead of '''boolean'''.&lt;br /&gt;
* Use '''default n''' instead of '''default false'''.&lt;br /&gt;
&lt;br /&gt;
Various post-conversion things to consider:&lt;br /&gt;
&lt;br /&gt;
* Consider ways to move crt0-y and ldscript-y out of $(src)/arch/i386/Makefile.inc where appropriate (ie. component specific)&lt;br /&gt;
* Make various CONFIG_* variable which were in each board's Kconfig file global or per-chipset options (instead of per-board). Examples:&lt;br /&gt;
** UDELAY_TSC, TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 (also check UDELAY_IO, APIC, etc.)&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
Stuff to port from v3 to v4:&lt;br /&gt;
&lt;br /&gt;
* All boards that are in v3 but not in v4 (especially Geode LX stuff. Also check amd/model_gx*).&lt;br /&gt;
* Some remaining useful Kconfig options.&lt;br /&gt;
&lt;br /&gt;
== Clean up Assembler / Linker mess ==&lt;br /&gt;
&lt;br /&gt;
* Drop / combine / normalize .ld/.lb/.lds linker scripts.&lt;br /&gt;
* Move them to a common place.&lt;br /&gt;
* Drop / combine / normalize .inc / .S files.&lt;br /&gt;
&lt;br /&gt;
== Geode issues ==&lt;br /&gt;
&lt;br /&gt;
* Fix / Unify vsmsetup.c.&lt;br /&gt;
* Fix CS5535/CS5536/GX2/LX &amp;quot;chipsetinit&amp;quot; issue.&lt;br /&gt;
* Convert openvsa from MASM to something gnu as can use ( Or use JWasm as intermediate solution (it can compile MASM code) http://www.japheth.de/JWasm.html )&lt;br /&gt;
&lt;br /&gt;
== Stack and Suspend/Resume ==&lt;br /&gt;
&lt;br /&gt;
* Use CONFIG_RAMBASE + HIGH_MEMORY_SAFE instead of 0x40000 for stack.&lt;br /&gt;
&lt;br /&gt;
== Fix Suspend/Resume on AMD64 ==&lt;br /&gt;
&lt;br /&gt;
* Use cbmem in romstage on the AMD64 board(s) that have suspend/resume.&lt;br /&gt;
&lt;br /&gt;
== Clear phases in romstage ==&lt;br /&gt;
&lt;br /&gt;
* Split up the code (esp. in romstage) into more sensibly separated phases.&lt;br /&gt;
* Maybe use v3 for inspiration where the lines can be drawn.&lt;br /&gt;
&lt;br /&gt;
== Refactor SMBUS code ==&lt;br /&gt;
&lt;br /&gt;
We have tons of duplication in the smbus/spd related functions and #defines. Every chipset (and sometimes board) does the same with the exception of the 2 or 3 boards that multiplex spd roms.&lt;br /&gt;
* Deduplicate SMBUS related defines, they're virtually everywhere (and all the same)&lt;br /&gt;
* Deduplicate the lowlevel functions - they should really be the same (except for some style differences)&lt;br /&gt;
* Deduplicate the non-multiplexing highlevel functions. Mark them weak, so multiplexing boards can simply provide their own variant, which override the weak functions automatically&lt;br /&gt;
&lt;br /&gt;
== Move all registers/chip definitions in XML format for all tools ==&lt;br /&gt;
&lt;br /&gt;
For easy creating definitions of new chips, or editing old register definitions, improve readability support, and add support for humanless parsing the logs we decide move all data for msrtool, inteltool, superiotool, etc in XML-based format. See here: [[XML]]&lt;br /&gt;
&lt;br /&gt;
== Device dependency engine ==&lt;br /&gt;
&lt;br /&gt;
We have a couple of places where we want to disable (or otherwise reconfigure) a device if another one is active: SATA and IDE covering the same ports, integrated graphics / plugin video cards, ...&lt;br /&gt;
Right now, such things are done &amp;quot;somewhere&amp;quot;, usually far away from any meaningful context. This idea isn't as actionable as the others as it's still missing even a sketch of a design.&lt;br /&gt;
&lt;br /&gt;
* Find a good place (or multiple places) where such device decisions can be made&lt;br /&gt;
* Refactor the code to make use of it&lt;br /&gt;
&lt;br /&gt;
== Clean out duplicates ==&lt;br /&gt;
&lt;br /&gt;
Tools like http://duplo.giants.ch/ or http://pmd.sourceforge.net/cpd.html might be able to help finding duplicates that can be factored out.&lt;br /&gt;
&lt;br /&gt;
== CONFIG_MAX_PHYSICAL_CPUS ==&lt;br /&gt;
&lt;br /&gt;
CONFIG_MAX_PHYSICAL_CPUS should be dropped. It's set for all boards, but it's only really used by AMD K8 and newer systems (and not on Intel based systems at all).&lt;br /&gt;
In the AMD code it is used wrongly:&lt;br /&gt;
&lt;br /&gt;
* for determining which SPD offsets to include&lt;br /&gt;
* to determine APIC IDs&lt;br /&gt;
* possibly some more things&lt;br /&gt;
&lt;br /&gt;
== Add a config for selecting a SeaBIOS git revision ==&lt;br /&gt;
&lt;br /&gt;
Currently there is only the choice between coreboot master and the lastest stable revision.&lt;br /&gt;
&lt;br /&gt;
= Finished =&lt;br /&gt;
&lt;br /&gt;
Finished projects are on a [[Infrastructure/Done|separate page]] now&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Infrastructure_Projects/Done</id>
		<title>Infrastructure Projects/Done</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Infrastructure_Projects/Done"/>
				<updated>2013-03-15T09:55:56Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: move finished infrastructure projects on their own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Port v3 Resource Allocator ==&lt;br /&gt;
&lt;br /&gt;
The v3 resource allocator should be ported to v4.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream. It's limited to one area for resources, that doesn't overlap with fixed resources.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Myles&lt;br /&gt;
&lt;br /&gt;
== Config &amp;amp; Build System ==&lt;br /&gt;
&lt;br /&gt;
The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow. Use kconfig to improve the configuration management.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, boards are converted. Old system is gone. All boards build. HOWEVER, not all boards have been boot-tested yet, please report any issues you encounter!&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Uwe, Cristi&lt;br /&gt;
&lt;br /&gt;
== Unify text printing functions ==&lt;br /&gt;
&lt;br /&gt;
There are several copies of print_* and printk_* in the code. Unify them so everything is happier than before (because the disjoint features are merged).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Stefan&lt;br /&gt;
&lt;br /&gt;
== Common payload location ==&lt;br /&gt;
&lt;br /&gt;
Many boards have different names for the payload in targets/.../Config.lb (payload.elf, filo.elf, etherboot.elf, etc) and locations (../payload.elf, or various absolute paths which only work for one developer). The problem will be fixed with kconfig, where the user specifies a payload manually in &amp;quot;make menuconfig&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
== Fix ALL build warnings ==&lt;br /&gt;
&lt;br /&gt;
* Someone has to do the deed.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, the build usually issues no warnings. If you see warnings/errors, please report a bug.&lt;br /&gt;
&lt;br /&gt;
== Post codes ==&lt;br /&gt;
&lt;br /&gt;
Find all outb(x, 0x80) and replace them with post_code(). Use common numbers / defines across the boards.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, except for some local delay routines in early smbus code.&lt;br /&gt;
&lt;br /&gt;
== Use central oprom init ==&lt;br /&gt;
&lt;br /&gt;
* Get rid of all vgabios.c, make all chipsets with own vgabios.c use devices/oprom/x86.c.&lt;br /&gt;
* Use the realmode code for vsmsetup too.&lt;br /&gt;
&lt;br /&gt;
== Use nvramtool for static option table creation ==&lt;br /&gt;
&lt;br /&gt;
Instead of maintaining two tools (build_opt_tbl, nvramtool), maintain only one. This mostly requires adding an binary output writer to nvramtool, a cmos.layout parser already exists.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, upstream.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Vikram&lt;br /&gt;
&lt;br /&gt;
== Local APIC addresses ==&lt;br /&gt;
&lt;br /&gt;
There are several defines in several places that describe the local APIC address:&lt;br /&gt;
&lt;br /&gt;
* LAPIC_ADDR&lt;br /&gt;
* LOCAL_APIC_ADDR (even twice)&lt;br /&gt;
* LAPIC_DEFAULT_BASE&lt;br /&gt;
&lt;br /&gt;
This should be unified.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;br /&gt;
&lt;br /&gt;
== printk into buffer ==&lt;br /&gt;
&lt;br /&gt;
Port the v3 feature that printk can write into a buffer (that might be usable from the client OS, or dumped to output, as soon as output exists).&lt;br /&gt;
&lt;br /&gt;
Consider use cases first (no need to provide buffer support, if all it would be useful for is buffering pre-CAR messages - which can't be buffered).&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' ChromiumOS Team&lt;br /&gt;
&lt;br /&gt;
== USB Debug Console ==&lt;br /&gt;
&lt;br /&gt;
Fix USB debug console and make the Kconfig choice actually work. Right now it's possible to transmit single characters but it's not really hooked up.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' SvenS&lt;br /&gt;
&lt;br /&gt;
== CBFS ==&lt;br /&gt;
&lt;br /&gt;
A filesystem-alike layout for the coreboot image, to enable systems like bayou and to clean up the system in general (eg. no more buildrom).&lt;br /&gt;
&lt;br /&gt;
'''Status:'''&lt;br /&gt;
&lt;br /&gt;
Upstream, pre-CBFS infrastructure removed.&lt;br /&gt;
&lt;br /&gt;
There are places where using CBFS might be a good idea: Everything that makes use of external files, for example the VSA code in the Geode chipset code. VSA is converted, and tested on a couple of configurations, but untested on others.&lt;br /&gt;
&lt;br /&gt;
Some boards have issues with CBFS because it requires the whole ROM to be accessible at a quite early point in time (compared to the old mechanism). The following table contains validated knowledge if the ROM mapping happens at the right time.&lt;br /&gt;
&lt;br /&gt;
All boards that manage to boot in a tinybootblock configuration are capable at least for the used ROM size (it might be that larger ROMs would fail because they require mapping the larger space)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | ROM enabled&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tiny bootblock&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status / Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amd8111&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5530&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5535&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5536&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb600&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on siemens/sitemp_g1p1 by [[User:PatrickGeorgi|PatrickGeorgi]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb700&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| broadcom/bcm5785&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/esb6300&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82371eb&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on ASUS P2B by [[User:Uwe|Uwe Hermann]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ax&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801bx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801cx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801dx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ex&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801gx&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on Kontron 986LCD-m by PatrickGeorgi&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/ck804&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/mcp55&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| sis/sis966&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8231&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8235&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8237r&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt82c686&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Myles, Uwe&lt;br /&gt;
&lt;br /&gt;
== Tiny Bootblock ==&lt;br /&gt;
&lt;br /&gt;
Right now, the decision whether to use fallback or normal is in cache_as_ram_auto.c in many boards. Make that generic again (also helps with further CBFSification at some point).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Available in Kconfig, works on a couple of boards. Requires per southbridge changes (and northbridge in some cases) on many boards (related to ROM enable, see CBFS section).&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/GSoC</id>
		<title>GSoC</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/GSoC"/>
				<updated>2013-03-14T12:29:21Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* People involved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
= Google Summer of Code 2013 = &lt;br /&gt;
&lt;br /&gt;
Welcome to the coreboot's [http://www.google-melange.com/gsoc/homepage/google/gsoc2013 Google Summer of Code 2013] page. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are preparing to apply for GSoC 2013. Please continue to add you ideas to the [[Project Ideas|projects page]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have questions, comments, or concerns, please send them to the [[Mailinglist|mailing list]] or join us in [[IRC]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The coreboot project may also host payload and [http://flashrom.org/GSoC flashrom] projects.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Previous GSoC Projects|Previous coreboot GSoC projects]]&lt;br /&gt;
&lt;br /&gt;
= Call for Mentors and Project Ideas =&lt;br /&gt;
Google has announced the 2013 GSoC program. coreboot had been a GSoC participant in the past, but was not accepted in 2012 and we would like to change that this year. The GSoC project acceptance has become much more competitive and the project ideas and student recruitment pages has become key in getting accepted.  Our project ideas were not flushed out enough in the application process and we didn't have a complete mentors list/assignment for those projects.&lt;br /&gt;
&lt;br /&gt;
I think that coreboot has some extremely talented people involved in the project and students should be attracted to the experience of working with our mentors as much as the potential projects. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What we need to apply for GSoC 2013:&lt;br /&gt;
&lt;br /&gt;
Project Admins - We need a person or two to be the main liaison between coreboot and GSoC. This person(s) register the project, fills out the application, leads and organizes the projects and mentors.&lt;br /&gt;
&lt;br /&gt;
Mentors - We need a pool of mentors willing to support students on a number of levels; Helping them from the very beginning with project ideas and writing their applications, project and development time management, research, communication, documentation, drive deadlines. &lt;br /&gt;
&lt;br /&gt;
Mentor biographies - To improve out GSoC recruitment, i would like to have a one paragraph biography for each of our mentors. It should contain what your coreboot experience and contributions. Something about your work and/or education experience and maybe some other personal information. Maybe where you are located. It helps to have mentors can be matched with the students culture.  &lt;br /&gt;
&lt;br /&gt;
Project ideas - We also need complete project ideas with pointers to background data and what the expected outcome would be. We need a list of potential mentors for each project idea. &lt;br /&gt;
&lt;br /&gt;
coreboot GSoC support roles - Even if you can't commit to being a full time mentor, we could use your help with the coreboot promotion, student recruitment, wiki, project ideas, blog postings,  and code reviews , and encouragement and advice to students and mentors. &lt;br /&gt;
&lt;br /&gt;
Important dates:&lt;br /&gt;
March18 - 29 - Org applications. We should have a list of mentors and suitable project ideas, policies, etc by this date. &lt;br /&gt;
April 1 - 5-  GSoC application review&lt;br /&gt;
April 8 - Org acceptance &lt;br /&gt;
April 22 - May 5 - student applications&lt;br /&gt;
&lt;br /&gt;
If you are interested in helping, please feel free to contact me and/or start updating the wiki and add yourself and/or project ideas.&lt;br /&gt;
&lt;br /&gt;
= People involved =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Role !! Comms&lt;br /&gt;
|-&lt;br /&gt;
| David Hendricks || flashrom: possible mentor || IRC: dhendrix, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML]&lt;br /&gt;
|-&lt;br /&gt;
| Stefan Tauner || flashrom: organizer/possible mentor/wannabe student || IRC: stefanct, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML]&lt;br /&gt;
|-&lt;br /&gt;
| Patrick Georgi || coreboot: possible co-organizer, possible co-mentor (&amp;quot;co-&amp;quot; since on vacation during GSoC period) || IRC: patrickg, pgeorgi&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/GSoC</id>
		<title>GSoC</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/GSoC"/>
				<updated>2013-03-14T12:29:07Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* People involved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
= Google Summer of Code 2013 = &lt;br /&gt;
&lt;br /&gt;
Welcome to the coreboot's [http://www.google-melange.com/gsoc/homepage/google/gsoc2013 Google Summer of Code 2013] page. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are preparing to apply for GSoC 2013. Please continue to add you ideas to the [[Project Ideas|projects page]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have questions, comments, or concerns, please send them to the [[Mailinglist|mailing list]] or join us in [[IRC]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The coreboot project may also host payload and [http://flashrom.org/GSoC flashrom] projects.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Previous GSoC Projects|Previous coreboot GSoC projects]]&lt;br /&gt;
&lt;br /&gt;
= Call for Mentors and Project Ideas =&lt;br /&gt;
Google has announced the 2013 GSoC program. coreboot had been a GSoC participant in the past, but was not accepted in 2012 and we would like to change that this year. The GSoC project acceptance has become much more competitive and the project ideas and student recruitment pages has become key in getting accepted.  Our project ideas were not flushed out enough in the application process and we didn't have a complete mentors list/assignment for those projects.&lt;br /&gt;
&lt;br /&gt;
I think that coreboot has some extremely talented people involved in the project and students should be attracted to the experience of working with our mentors as much as the potential projects. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What we need to apply for GSoC 2013:&lt;br /&gt;
&lt;br /&gt;
Project Admins - We need a person or two to be the main liaison between coreboot and GSoC. This person(s) register the project, fills out the application, leads and organizes the projects and mentors.&lt;br /&gt;
&lt;br /&gt;
Mentors - We need a pool of mentors willing to support students on a number of levels; Helping them from the very beginning with project ideas and writing their applications, project and development time management, research, communication, documentation, drive deadlines. &lt;br /&gt;
&lt;br /&gt;
Mentor biographies - To improve out GSoC recruitment, i would like to have a one paragraph biography for each of our mentors. It should contain what your coreboot experience and contributions. Something about your work and/or education experience and maybe some other personal information. Maybe where you are located. It helps to have mentors can be matched with the students culture.  &lt;br /&gt;
&lt;br /&gt;
Project ideas - We also need complete project ideas with pointers to background data and what the expected outcome would be. We need a list of potential mentors for each project idea. &lt;br /&gt;
&lt;br /&gt;
coreboot GSoC support roles - Even if you can't commit to being a full time mentor, we could use your help with the coreboot promotion, student recruitment, wiki, project ideas, blog postings,  and code reviews , and encouragement and advice to students and mentors. &lt;br /&gt;
&lt;br /&gt;
Important dates:&lt;br /&gt;
March18 - 29 - Org applications. We should have a list of mentors and suitable project ideas, policies, etc by this date. &lt;br /&gt;
April 1 - 5-  GSoC application review&lt;br /&gt;
April 8 - Org acceptance &lt;br /&gt;
April 22 - May 5 - student applications&lt;br /&gt;
&lt;br /&gt;
If you are interested in helping, please feel free to contact me and/or start updating the wiki and add yourself and/or project ideas.&lt;br /&gt;
&lt;br /&gt;
= People involved =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Role !! Comms&lt;br /&gt;
|-&lt;br /&gt;
| David Hendricks || flashrom: possible mentor || IRC: dhendrix, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML]&lt;br /&gt;
|-&lt;br /&gt;
| Stefan Tauner || flashrom: organizer/possible mentor/wannabe student || IRC: stefanct, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML]&lt;br /&gt;
|-&lt;br /&gt;
| Patrick Georgi || coreboot: possible co-organizer, possible co-mentor (&amp;quot;co-&amp;quot; since on vacation within GSoC period) || IRC: patrickg, pgeorgi&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-03-08T08:08:21Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* coreboot test suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are some ideas that have come up in the community. Some are more or less suitable for GSoC and prospective students' application should expand on some ideas and pair back others.&lt;br /&gt;
&lt;br /&gt;
== Linux Firmware Kit, BITS ==&lt;br /&gt;
&lt;br /&gt;
There are various test suites for firmware aspects, esp. those that interacts with the operating systems. Unfortunately, some of these projects are dead, some seem to be forked and developed semi-publically, and having all that stuff in lots of different places is a big hassle.&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to pick up the pieces, and create a single tool (most likely a bootable CD/USB drive image) that can be booted on vendor BIOS (for the Red Hat and Canonical developers that work on these) as well as coreboot (preferably seabios and FILO to improve testability - is an issue created/fixed by coreboot or seabios?). This can then be improved in various ways.&lt;br /&gt;
&lt;br /&gt;
There's also intel-gpu-tools that might have some useful tests (at least for intel-boards): http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think might be worthy extensions to the existing tests.&lt;br /&gt;
&lt;br /&gt;
Required knowledge for this task: Not so much coreboot/firmware level, but you should have some idea of the boot process of a Linux system (as these test suites are mostly Linux based). GSoC probably won't provide enough time to learn all that (Linux boot process, firmware interfaces such as ACPI) and still develop the tools in some useful way.&lt;br /&gt;
&lt;br /&gt;
Further reading: https://wiki.ubuntu.com/Kernel/Reference/fwts http://biosbits.org/ http://linuxfirmwarekit.org/&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
We already have a build bot that builds various configurations of coreboot. It would be nice to extend it with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
* Work on code coverage support for coreboot code (dump data into ram, or via serial. Provide tools to fetch it). Analyse that data.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Coverage: [http://ltp.sourceforge.net/test/coverage/lcov.php LCOV], [http://ggcov.sourceforge.net GGCOV]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot test suite ==&lt;br /&gt;
Create a test suite to gather and report coreboot mainboard and payload settings. This project may leverage libpayload, coreinfo, memtest86, BITS, and other tools like benchmarks for CPU and RAM performance. Konstantin Aladyshev reported according to the benchmark [http://www.cs.virginia.edu/stream/ STREAM],  RAM access on his system with coreboot is four times slower than with the proprietary vendor BIOS. Such issues should be easily spotted with the test suite.&lt;br /&gt;
&lt;br /&gt;
The suite should gather result and report them at summary and detailed levels.  The goal is to help coreboot developers identify problems and to test coreboot features. This project should work closely with the testing rig and test reporting projects. It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [http://biosbits.org/ BITS]&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://qa.coresystems.de&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
One of the biggest challenges in coreboot is support many systems in the same codebase. As systems age and coreboot continues to develop, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark. The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for Family14 mainboards == &lt;br /&gt;
Identify potential mainboards to port based on the recently released AMD Family 14 support. The goal would be to support publicly available plaftorms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*[[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI/S3/power managment ==&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but it is very mainboard specific. Create a generic solution for ACPI table generation and S3 support.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==coreboot port to ARM SOC's with PCIe==&lt;br /&gt;
&lt;br /&gt;
[http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
&lt;br /&gt;
[http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SOC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. &lt;br /&gt;
We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011. &lt;br /&gt;
&lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* Bari Ari&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system in case of a panic(). &lt;br /&gt;
&lt;br /&gt;
Ron would like to base this solution around SerialICE. The basic idea is that the system always boots to SerialICE. There is a test in CMOS for 'last boot worked' and, if this is set, SerialICE finds a coreboot in cbfs and runs it. If 'last boot worked' is not set, or the user hits some magic keyboard sequence, SerialICE takes control. &lt;br /&gt;
&lt;br /&gt;
SerialICE needs to be extended (not much) to make this work. Having this capability would make it possible for Ron to get some very hard ports working that are just not possible today. At the same time, there are lots of hardware boards to test this idea on, so it should be easy to get it working. &lt;br /&gt;
&lt;br /&gt;
It might be possible to integrate this into the coreboot build as a bootblock option (in the same spot as the fallback/normal switch and the simple loader).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There was a panic room project started in 2011 &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Project_Ideas</id>
		<title>Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Project_Ideas"/>
				<updated>2013-03-08T08:07:28Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Infrastructure for automatic code checking */ more links to tools&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are some ideas that have come up in the community. Some are more or less suitable for GSoC and prospective students' application should expand on some ideas and pair back others.&lt;br /&gt;
&lt;br /&gt;
== Linux Firmware Kit, BITS ==&lt;br /&gt;
&lt;br /&gt;
There are various test suites for firmware aspects, esp. those that interacts with the operating systems. Unfortunately, some of these projects are dead, some seem to be forked and developed semi-publically, and having all that stuff in lots of different places is a big hassle.&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to pick up the pieces, and create a single tool (most likely a bootable CD/USB drive image) that can be booted on vendor BIOS (for the Red Hat and Canonical developers that work on these) as well as coreboot (preferably seabios and FILO to improve testability - is an issue created/fixed by coreboot or seabios?). This can then be improved in various ways.&lt;br /&gt;
&lt;br /&gt;
There's also intel-gpu-tools that might have some useful tests (at least for intel-boards): http://article.gmane.org/gmane.comp.video.dri.devel/63948&lt;br /&gt;
&lt;br /&gt;
When applying for this task, please state in your proposal what you think might be worthy extensions to the existing tests.&lt;br /&gt;
&lt;br /&gt;
Required knowledge for this task: Not so much coreboot/firmware level, but you should have some idea of the boot process of a Linux system (as these test suites are mostly Linux based). GSoC probably won't provide enough time to learn all that (Linux boot process, firmware interfaces such as ACPI) and still develop the tools in some useful way.&lt;br /&gt;
&lt;br /&gt;
Further reading: https://wiki.ubuntu.com/Kernel/Reference/fwts http://biosbits.org/ http://linuxfirmwarekit.org/&lt;br /&gt;
&lt;br /&gt;
== Infrastructure for automatic code checking ==&lt;br /&gt;
We already have a build bot that builds various configurations of coreboot. It would be nice to extend it with various code validation routines, for example:&lt;br /&gt;
* Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)&lt;br /&gt;
* Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions&lt;br /&gt;
* Use LLVM's static code checking facilities, report regressions.&lt;br /&gt;
* Work on code coverage support for coreboot code (dump data into ram, or via serial. Provide tools to fetch it). Analyse that data.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* LLVM tools: [http://clang.llvm.org/StaticAnalysis.html Clang static analyser], [http://llvm.org/ProjectsWithLLVM/#Calysto SSA assertion checker], http://klee.llvm.org/&lt;br /&gt;
* Lint tools: [http://lclint.cs.virginia.edu/ Splint]&lt;br /&gt;
* Coverage: [http://ltp.sourceforge.net/test/coverage/lcov.php LCOV], [http://ggcov.sourceforge.net GGCOV]&lt;br /&gt;
* Semantic Tester: https://code.google.com/p/c-semantics/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]], [[User:PatrickGeorgi|Patrick Georgi]]&lt;br /&gt;
&lt;br /&gt;
== coreboot test suite ==&lt;br /&gt;
Create a test suite to gather and report coreboot mainboard and payload settings. This project may leverage libpayload, coreinfo, memtest86, BITS, and other tools like benchmarks for CPU and RAM performance. The user Konstantin Aladyshev reported according to the benchmark [http://www.cs.virginia.edu/stream/ STREAM],  RAM access on his system with coreboot is four times slower than with the proprietary vendor BIOS. Such issues should be easily spotted with the test suite.&lt;br /&gt;
&lt;br /&gt;
The suite should gather result and report them at summary and detailed levels.  The goal is to help coreboot developers identify problems and to test coreboot features. This project should work closely with the testing rig and test reporting projects. It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* [http://biosbits.org/ BITS]&lt;br /&gt;
* [[Supported Motherboards]]&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&lt;br /&gt;
== coreboot cheap testing rig ==&lt;br /&gt;
The goal of this project is to create a cheap testing rig which works with the existing board test infrastructure. We have a hardware test system since 2006:&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/Slides-LinuxBIOS-QA.pdf Quality Assurance Talk (Slides)]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestIntegrationManual.pdf Test Integration Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/DevelopersManual.pdf Test Developers Manual]&lt;br /&gt;
* [http://www.coresystems.de/PDFs/LinuxBIOS-testing/TestSpecification.pdf Test Specification]&lt;br /&gt;
&lt;br /&gt;
The initial version of our testing rig used a remote power switch and was rather expensive. With cheaper technologies such as X10, it's possible to drop the testing costs per board significantly.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://qa.coresystems.de&lt;br /&gt;
* [[InSystemFlasher]] is a cheap DIY hardware prototype for building an automated testing rig for modern SPI-based boards. This could be used as a starting point.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot mainboard test result reporting ==&lt;br /&gt;
One of the biggest challenges in coreboot is support many systems in the same codebase. As systems age and coreboot continues to develop, the condition of mainboards becomes unknown. This project would define a coreboot test results reporting mechanism, gather data, and report passing and failing systems on a webpage. This project would work closely with the coreboot test suite project and/or the hardware test rig project. A good example of test results gathering and reporting is done by the Phoronix/Openbenchmark. The student should investigate other test and reporting solutions to leverage the best options for coreboot.  It is important the the student considers how testing and reporting can be extended as features and tests are added in the future.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* http://openbenchmarking.org/&lt;br /&gt;
* http://www.coreboot.org/Supported_Motherboards&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;br /&gt;
* [[User:MJones|Marc Jones]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ports for Family14 mainboards == &lt;br /&gt;
Identify potential mainboards to port based on the recently released AMD Family 14 support. The goal would be to support publicly available plaftorms with a number of payloads and operating systems.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*[[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== coreboot ACPI/S3/power managment ==&lt;br /&gt;
coreboot has support for ACPI tables and S3 support for some platforms, but it is very mainboard specific. Create a generic solution for ACPI table generation and S3 support.&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==coreboot port to ARM SOC's with PCIe==&lt;br /&gt;
&lt;br /&gt;
[http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Xilinx Zynq-7030]&lt;br /&gt;
&lt;br /&gt;
[http://www.altera.com/devices/fpga/cyclone-v-fpgas/hard-processor-system/cyv-soc-hps.html  Altera Cyclone V ]&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/internet/mcu/product/251211.jsp  ST spear1340]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ARM]] SOC's with PCIe are available. These systems can take advantage of coreboot's strength in properly configuring PCI devices, fast boot time and payload support.&lt;br /&gt;
&lt;br /&gt;
Note that coreboot has in the past supported three different CPUs (x86, Alpha, PPC), so the structure is there for adding in a new processor family. &lt;br /&gt;
We will need to find the right platform to do the work, but I (Ron) can provide a board and JTAG debugger if needed. &lt;br /&gt;
&lt;br /&gt;
There was an ARM project started in 2011. &lt;br /&gt;
&lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/11/gsoc2011-project-porting-coreboot-to-arm-architecture/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* Bari Ari&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
* [[User:Jason Wang|QingPei Wang]]&lt;br /&gt;
&lt;br /&gt;
== coreboot panic room ==&lt;br /&gt;
&lt;br /&gt;
Create a safe boot solution for coreboot to easily and cheaply recover the system in case of a panic(). &lt;br /&gt;
&lt;br /&gt;
Ron would like to base this solution around SerialICE. The basic idea is that the system always boots to SerialICE. There is a test in CMOS for 'last boot worked' and, if this is set, SerialICE finds a coreboot in cbfs and runs it. If 'last boot worked' is not set, or the user hits some magic keyboard sequence, SerialICE takes control. &lt;br /&gt;
&lt;br /&gt;
SerialICE needs to be extended (not much) to make this work. Having this capability would make it possible for Ron to get some very hard ports working that are just not possible today. At the same time, there are lots of hardware boards to test this idea on, so it should be easy to get it working. &lt;br /&gt;
&lt;br /&gt;
It might be possible to integrate this into the coreboot build as a bootblock option (in the same spot as the fallback/normal switch and the simple loader).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There was a panic room project started in 2011 &lt;br /&gt;
http://blogs.coreboot.org/blog/2011/05/09/gsoc-project-coreboot-panic-room-diagnostics-also-remote-flashing/&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]]&lt;br /&gt;
&lt;br /&gt;
== Board config infrastructure ==&lt;br /&gt;
&lt;br /&gt;
Design data structures that host information about the board layout so coreboot can better initialize components and generate all kinds of tables (mptable, pirq, acpi, ...) from that dynamically (at build or runtime, as appropriate). Adapt boards to use that instead of the current hardcodes.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactor AMD code ==&lt;br /&gt;
&lt;br /&gt;
AMD K8 and AMD Fam10 are different enough to have their own code. This is unfortunate, as you have to decide which CPU type you use in a given mainboard. Refactor AMD code so a single image can support both chip types on a given board. Also move tables from get_bus_conf and the like to the device tree or kconfig options (or runtime detection), as appropriate.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
'''Mentors'''&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/ACPI</id>
		<title>ACPI</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/ACPI"/>
				<updated>2013-02-22T19:57:58Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Windows Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains some (developer) documentation about how ACPI can be used in coreboot.&lt;br /&gt;
&lt;br /&gt;
= ACPI setup HOWTO =&lt;br /&gt;
&lt;br /&gt;
Please have a look at the files in [http://tracker.coreboot.org/trac/coreboot/browser/trunk/src/mainboard/asus/a8v-e_se src/mainboard/asus/a8v-e_se]. Please also check out http://acpi.info, which contains the ACPI specification.&lt;br /&gt;
&lt;br /&gt;
== Set up hardware ==&lt;br /&gt;
&lt;br /&gt;
Set the '''PMIO base address''' to some known address, and set up the desired ACPI IRQ (usually IRQ9; sometimes it is called the SCI interrupt).&lt;br /&gt;
&lt;br /&gt;
== Fixed ACPI Description Table (FADT) ==&lt;br /&gt;
&lt;br /&gt;
You may skip this section if your SB has it already. Just call it from your MB ACPI setup code (check M2V-MX SE for details).&lt;br /&gt;
&lt;br /&gt;
Now you will need to create an ACPI table which describes the I/O port location for kernel ACPI implementation. This is the '''FACP''' table. You will need to create the '''fadt.c''' file and fill in  the I/O port values plus IRQ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fadt-&amp;gt;sci_int = 9;&lt;br /&gt;
fadt-&amp;gt;pm1a_evt_blk = VT8237R_ACPI_IO_BASE;&lt;br /&gt;
fadt-&amp;gt;pm1b_evt_blk = 0x0;&lt;br /&gt;
fadt-&amp;gt;pm1a_cnt_blk = VT8237R_ACPI_IO_BASE + 0x4;&lt;br /&gt;
fadt-&amp;gt;pm1b_cnt_blk = 0x0;&lt;br /&gt;
fadt-&amp;gt;pm2_cnt_blk = 0x0;&lt;br /&gt;
fadt-&amp;gt;pm_tmr_blk = VT8237R_ACPI_IO_BASE + 0x8;&lt;br /&gt;
fadt-&amp;gt;gpe0_blk = VT8237R_ACPI_IO_BASE + 0x20;&lt;br /&gt;
fadt-&amp;gt;gpe1_blk = 0x0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example the ACPI IRQ is 9, and the '''PM1A event block''' starts at VT8237R_ACPI_IO_BASE. You may obtain some values from '''cat /proc/ioport''' if running with the proprietary BIOS. Not all blocks are necessary&amp;amp;mdash;usually only PM1A PMTMR and GPE0 are used. Please note that this table has the I/O port information stored twice using different formats. Please consult the ACPI specification for details. Most settings in '''fadt.c''' can use their default values.&lt;br /&gt;
&lt;br /&gt;
If Linux complains about &amp;quot;IRQ 9 nobody cared&amp;quot;, recheck these values. The gpeX_blk must span both status and enable bits (which is easy to get wrong given the unclear documentation on this). If GPE0_STS is 64bit, you have to configure 16 bytes (or 128 bits in the x_* variant).&lt;br /&gt;
&lt;br /&gt;
ACPI spec says to set only one of FIRMWARE_CTRL and X_FIRMWARE_CTRL, which is different to how other x_* values are handled. Set firmware_ctrl if located at &amp;lt;4GB, x_firmware_ctrl if located at &amp;gt;=4GB, and set the other value to 0. It's generally more useful to set firmware_ctrl (to support 32bit operating systems).&lt;br /&gt;
&lt;br /&gt;
== Differentiated System Description Table (DSDT) ==&lt;br /&gt;
&lt;br /&gt;
The '''DSDT table''' contains a bytecode that is executed by a driver in the kernel. This table stores also '''ACPI routing information''' in '''_PRT''' methods. You may add those _PRT methods later.&lt;br /&gt;
&lt;br /&gt;
==== Generic part of DSDT ====&lt;br /&gt;
&lt;br /&gt;
A very generic DSDT table would look similar to the ASUS A8V-E/ASUS M2V-MX SE [http://tracker.coreboot.org/trac/coreboot/browser/trunk/src/mainboard/asus/a8v-e_se/dsdt.asl src/mainboard/asus/a8v-e_se/dsdt.asl] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        Scope (\_PR)&lt;br /&gt;
        {&lt;br /&gt;
                Processor (\_PR.CPU0, 0x00, 0x000000, 0x00) {}&lt;br /&gt;
                Processor (\_PR.CPU1, 0x01, 0x000000, 0x00) {}&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is here for compatibility. More interesting is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        /* For now only define 2 power states:&lt;br /&gt;
         *  - S0 which is fully on&lt;br /&gt;
         *  - S5 which is soft off&lt;br /&gt;
         * any others would involve declaring the wake up methods&lt;br /&gt;
         */&lt;br /&gt;
        Name (\_S0, Package () {0x00, 0x00, 0x00, 0x00 })&lt;br /&gt;
        Name (\_S5, Package () {0x02, 0x02, 0x00, 0x00 })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This defines the SLP_TYP fields in PM1A register. In my case I need to store 010 to perform soft-off, and 000 to wake up. Modify it to fit your chipset needs.&lt;br /&gt;
&lt;br /&gt;
==== Interrupt routing in DSDT ====&lt;br /&gt;
&lt;br /&gt;
The _PRT methods define the routing, similar to PIR and MP Table.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     Package (0x04) { 0x000BFFFF, 0x00, 0x00, 0x10 }, //slot 0xB&lt;br /&gt;
     Package (0x04) { 0x000BFFFF, 0x01, 0x00, 0x11 },&lt;br /&gt;
     Package (0x04) { 0x000BFFFF, 0x02, 0x00, 0x12 },&lt;br /&gt;
     Package (0x04) { 0x000BFFFF, 0x03, 0x00, 0x13 },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This defines the slot 0xB (all functions FFFF) routing as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTA -&amp;gt; IRQ16&lt;br /&gt;
INTB -&amp;gt; IRQ17&lt;br /&gt;
INTC -&amp;gt; IRQ18&lt;br /&gt;
INTD -&amp;gt; IRQ19&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you cannot indicate the special functions like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Package (0x04) { 0x000F0001, 0x00, 0x00, 0x14 }, // 0xf Native IDE IRQ 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It means 0:0f.1 INTA is routed to IRQ20. Linux likes it. Windows does not (code 12). The ACPI standard requires that function is always 0xffff.&lt;br /&gt;
&lt;br /&gt;
Please note that the 0x10, 0x11 are called '''GSI (global system interrupt)'''. All your interrupts routed through first APIC will start with 0x00, second APIC will perhaps start at IRQ24 etc. This example has no support for legacy PIC routing. For PIC routing you would need to alter the rest of the fields in the _PRT package and also crete PIRQA-PIRQD special devices.&lt;br /&gt;
&lt;br /&gt;
The described above uses static IRQ assignments. Some chipsets like MPC55/CK804 have a configuration register which indicates what APIC pins are routed to what interrupt. Those typically use dynamic IRQ routing which provides a '''_CRS''' and '''_SRS''' methods to set such registers. For now, those registers are filled in MP-Table setup of each MCP55/CK804 board. All you need is to have static wiring like the MP-Table has.&lt;br /&gt;
&lt;br /&gt;
The rest of the file contains just some legacy devices to make certain OS installers happy. Don't forget to install the '''iasl''' compiler and also adjust the coreboot buildsystem to build the binary DSDT for you.&lt;br /&gt;
&lt;br /&gt;
=== CPU Power Management ===&lt;br /&gt;
&lt;br /&gt;
The CPU power management is hardware specific. It is described in ACPI specs and also in AMD BIOS and Kernel Developer guide. The rest of this section describes the AMD specific part. AMD needs ACPI objects which describe the similar info as the legacy PowerNow table. Check the BKDG for details.&lt;br /&gt;
&lt;br /&gt;
The content of the tables must be generated at runtime, which is a bit of a problem, because the AML code must be generated or DSDT patched. There is an '''acpigen''' infrastructure to generate the AML code.&lt;br /&gt;
&lt;br /&gt;
The actual content for family 0fh revF and later P-States can be generated by complex algorithm implemented in amd_model_fxx_generate_powernow(). This function should be called in acpi_fill_ssdt_generator() callback. Up to revE, all P state info must be hardcoded in tables (not supported).&lt;br /&gt;
&lt;br /&gt;
=== C States ===&lt;br /&gt;
&lt;br /&gt;
C states are processor power states. C1 is mandantory and reached on IA32 compatible processors using the HLT instruction, C2 and C3 are optional and must be configured.&lt;br /&gt;
&lt;br /&gt;
C states can be configured in ACPI using two methods:&lt;br /&gt;
# by defining the P_BLK base address in the Processor() Definition, and P_LVLx_LAT values in the FADT&lt;br /&gt;
# using the _CST object&lt;br /&gt;
&lt;br /&gt;
P_BLK is easier to configure, if the hardware supports that method. ACPI defines that there must be two registers at P_BLK+4 and P_BLK+5 that initiate a transition to C2 or C3 when the register is read. After sleep, the read returns 0. P_LVLx_LAT define the worst case latency of the state transition.&lt;br /&gt;
&lt;br /&gt;
_CST is necessary if you want to support more than 3 C states, or if the transition procedure doesn't follow the ACPI requirement.&lt;br /&gt;
&lt;br /&gt;
=== PCI root bus _CRS method ===&lt;br /&gt;
&lt;br /&gt;
Windows needs to know the actual decode ranges for PCI root bus (and any other). Windows needs to know platform independent way, how is I/O routed on PCI0 bus (and other busses). &lt;br /&gt;
* For K8 this means to read the I/O and MMIO routing registers (same as '''k8resdump''' provides) and use them to create ACPI objects. The actual PCI regs are read in acpi-k8 in modelf and stored as SSDT table. The k8-util.asl code will construct the resources from that SSDT table. One can use the k8-util.asl code which will construct the resource objects. Check the ASUS M2V-MX mainboard ACPI code.&lt;br /&gt;
* For i945 the required registers are read in the ASL code in northbridge/intel/i945/acpi/i945_hostbridge.asl.&lt;br /&gt;
&lt;br /&gt;
=== DSDT debugging ===&lt;br /&gt;
&lt;br /&gt;
There are two ways. You can store values in &amp;quot;debug&amp;quot; object, which will print it in dmesg. Check http://www.linuxhq.com/kernel/v2.6/28-rc6/Documentation/acpi/debug.txt how to turn that on. In DSDT use store method to write to Debug object. You can write buffers, ints etc:&lt;br /&gt;
&lt;br /&gt;
 * Store (&amp;quot;The answer to the question of live universe and everything is:&amp;quot;, Debug) &lt;br /&gt;
 * Store (42, Debug) &lt;br /&gt;
&lt;br /&gt;
Second method is userspace interpretation of DSDT table. This can be achieved with ACPI CA Unix package. It is located in '''acpica-unix-20081204/tools/acpiexec'''. You can eval the objects and run the methods, like _CRS for example.&lt;br /&gt;
&lt;br /&gt;
If you receive a BSOD with '''STOP code 0xa5''', check this: http://support.microsoft.com/kb/314830.&lt;br /&gt;
&lt;br /&gt;
== Other tables ==&lt;br /&gt;
&lt;br /&gt;
Rest of the ACPI tables is located at acpi_tables.c. I will describe briefly all methods:&lt;br /&gt;
&lt;br /&gt;
=== acpi_fill_mcfg ===&lt;br /&gt;
&lt;br /&gt;
If your platform supports MMCONFIG (memory mapped PCI configuration registers, aka extended PCIe configuration) just modify the function with correct base address.&lt;br /&gt;
&lt;br /&gt;
=== acpi_fill_madt ===&lt;br /&gt;
&lt;br /&gt;
[[Image:ApicSystem.svg|thumb|right|A system with 8259s and APICs]] &lt;br /&gt;
&lt;br /&gt;
This table describes the ACPI IRQ information, as well as IRQ override. For code example check the M2V-MX SE acpi_tables. You will need to create the sub-table for LAPIC (the APIC counterpart in CPU) and describe the APICs and also deal with so called IRQ overrides. &lt;br /&gt;
&lt;br /&gt;
Let’s look at the figure below which explains how the interrupts are routed.&lt;br /&gt;
&lt;br /&gt;
The interrupt sources are on the right side. The legacy IRQs and the PCI IRQs are connected to both APIC and 8259. &lt;br /&gt;
&lt;br /&gt;
In the legacy case, the APIC is programmed in virtual wire mode. It will just interconnect pin0 of APIC with its output, bypassing APIC completely. OS uses 8259s, and ignores APICs at all.&lt;br /&gt;
&lt;br /&gt;
The APIC should be in this mode in BIOS, to do that for your SB, check the setup_ioapic in vt8237r_lpc.c. Please note that there is some bit which also says if APIC is delivering through wires, or through FSB messages.&lt;br /&gt;
&lt;br /&gt;
But back to the table. You need to provide some kind of description of the APICs. Each APIC is identified with its own ID and with the offset where its IRQ starts. It is called GSI base – Global System Interrupt base. This is just the value which is used in the _PRT entries as offset for IRQ nr. Typically the first SB APIC has offset 0, second APIC starts where the first has finished, so at IRQ 24 if the first has 24 interrupt sources.&lt;br /&gt;
&lt;br /&gt;
Last thing in this table are IRQ overrides. Usually there are two IRQ overrides. IRQ0 override means that IRQ0 is not connected to pin 0 on APIC but to another, most likely pin 2. Check the figure above why. Second IRQ override is for ACPI IRQ. This overrides the 'level' of the interrupt to 'active low'.  The rest of the table is filled with NMI entries for the processor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== write_acpi_tables ===&lt;br /&gt;
&lt;br /&gt;
This is the main function which constructs the tables. Functions described above are callbacks from the &amp;quot;construct&amp;quot; functions called here. You may omit the HPET and MCFG tables.&lt;br /&gt;
&lt;br /&gt;
=== FACS table ===&lt;br /&gt;
&lt;br /&gt;
This table must be aligned to 64B boundary (Windows checks this).&lt;br /&gt;
&lt;br /&gt;
= Suspend to RAM =&lt;br /&gt;
&lt;br /&gt;
There are patches on the mailing list which add support for suspend to RAM in coreboot. The resume start of the computer does not differ until OS waking vector is executed instead of payload.&lt;br /&gt;
&lt;br /&gt;
Checklist of things which needs to be setup correctly:&lt;br /&gt;
&lt;br /&gt;
* Supend clocks, SUSA/B/C plane pins&lt;br /&gt;
* Often the Super I/O has some pin to toggle the power for RAM&lt;br /&gt;
* SLP_TYPE with S3 definition to your DSDT&lt;br /&gt;
* Support for exit-self-refresh in your RAM controller&lt;br /&gt;
* An NVRAM which stores the memory configuration, which is known runtime (DQS)&lt;br /&gt;
* Chipset tweaks for S3 (like various signal delays)&lt;br /&gt;
* CPU tweaks (for AMD the PM1 and PM2 registers and SMAF codes)&lt;br /&gt;
* _RAMBASE of coreboot setup to 31MB and set LB_MEM_TOPK to 32MB&lt;br /&gt;
* Make sure new code does not corrupt any memory&lt;br /&gt;
* Make sure that you reserve _RAMBASE - LB_MEM_TOPK&lt;br /&gt;
* SMP might need some fixes&lt;br /&gt;
&lt;br /&gt;
= ACPI bytecode generator =&lt;br /&gt;
&lt;br /&gt;
Some ACPI stuff is generated runtime. To achieve this goal we have a AML code generator which generates binary ACPI bytecode. Such code then resides typically in SSDT table. There is a helper function which creates such a table - acpi_create_ssdt_generator(). The content of the table is created through the callback function acpi_fill_ssdt_generator(). So far we have two big users of the generator k8acpi_write_vars() and amd_model_fxx_generate_powernow(). The first function will generate some runtime configuration of HT bus and PCI decode ranges. Second function generates the P-States.&lt;br /&gt;
&lt;br /&gt;
The available functions are in acpigen.h. Mostly there are functions generating some primitive named data structures. However sometimes it's necessary to put more data to a package. ACPI AML code needs to know the block lengths. The len is unknown until we have filled the payload of such package. Therefore when we are done, we need&lt;br /&gt;
to call function acpigen_patch_len(int len) which will patch last object (package) which need patching. It uses stack internally so more structures can be nested. Look to acpigen.c and learn what functions call acpigen_write_len_f() - those needs patching.&lt;br /&gt;
&lt;br /&gt;
= Debugging ACPI =&lt;br /&gt;
&lt;br /&gt;
When CONFIG_ACPI_DEBUG is compiled into the kernel, the ACPI debug level can be specified on the kernel command line:&lt;br /&gt;
&lt;br /&gt;
 acpi.debug_level=0x2003&lt;br /&gt;
 (warn, error und tables debug enabled)&lt;br /&gt;
&lt;br /&gt;
The values can be checked at runtime:&lt;br /&gt;
 # cat /sys/module/acpi/parameters/debug_level&lt;br /&gt;
 Description                     Hex        SET &lt;br /&gt;
 ACPI_LV_ERROR                   0x00000001 [*]&lt;br /&gt;
 ACPI_LV_WARN                    0x00000002 [*]&lt;br /&gt;
 ACPI_LV_INIT                    0x00000004 [*]&lt;br /&gt;
 ACPI_LV_DEBUG_OBJECT            0x00000008 [ ]&lt;br /&gt;
 ACPI_LV_INFO                    0x00000010 [ ]&lt;br /&gt;
 ACPI_LV_INIT_NAMES              0x00000020 [ ]&lt;br /&gt;
 ACPI_LV_PARSE                   0x00000040 [ ]&lt;br /&gt;
 ACPI_LV_LOAD                    0x00000080 [ ]&lt;br /&gt;
 ACPI_LV_DISPATCH                0x00000100 [ ]&lt;br /&gt;
 ACPI_LV_EXEC                    0x00000200 [ ]&lt;br /&gt;
 ACPI_LV_NAMES                   0x00000400 [ ]&lt;br /&gt;
 ACPI_LV_OPREGION                0x00000800 [ ]&lt;br /&gt;
 ACPI_LV_BFIELD                  0x00001000 [ ]&lt;br /&gt;
 ACPI_LV_TABLES                  0x00002000 [ ]&lt;br /&gt;
 ACPI_LV_VALUES                  0x00004000 [ ]&lt;br /&gt;
 ACPI_LV_OBJECTS                 0x00008000 [ ]&lt;br /&gt;
 ACPI_LV_RESOURCES               0x00010000 [ ]&lt;br /&gt;
 ACPI_LV_USER_REQUESTS           0x00020000 [ ]&lt;br /&gt;
 ACPI_LV_PACKAGE                 0x00040000 [ ]&lt;br /&gt;
 ACPI_LV_ALLOCATIONS             0x00100000 [ ]&lt;br /&gt;
 ACPI_LV_FUNCTIONS               0x00200000 [ ]&lt;br /&gt;
 ACPI_LV_OPTIMIZATIONS           0x00400000 [ ]&lt;br /&gt;
 ACPI_LV_MUTEX                   0x01000000 [ ]&lt;br /&gt;
 ACPI_LV_THREADS                 0x02000000 [ ]&lt;br /&gt;
 ACPI_LV_IO                      0x04000000 [ ]&lt;br /&gt;
 ACPI_LV_INTERRUPTS              0x08000000 [ ]&lt;br /&gt;
 ACPI_LV_AML_DISASSEMBLE         0x10000000 [ ]&lt;br /&gt;
 ACPI_LV_VERBOSE_INFO            0x20000000 [ ]&lt;br /&gt;
 ACPI_LV_FULL_TABLES             0x40000000 [ ]&lt;br /&gt;
 ACPI_LV_EVENTS                  0x80000000 [ ]&lt;br /&gt;
 --&lt;br /&gt;
 debug_level = 0x00000007 (* = enabled)&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =&lt;br /&gt;
== Windows Errors ==&lt;br /&gt;
At first, not an error, but something to take note: Windows might cache system information and only detect ACPI changes if you modify the table versions. So tweak them liberally when debugging ACPI issues with Windows.&lt;br /&gt;
&lt;br /&gt;
=== STOP 0xa5 ===&lt;br /&gt;
A Blue Screen Of Death with STOP code 0x000000A5 is ACPI related, and it seems that Microsoft is very strict when it comes to ACPI compliance. http://support.microsoft.com/kb/314830/en explains some of the error codes, but not all of them.&lt;br /&gt;
* Parameter1 == 0x00001000 means that some memory resource is claimed by ACPI that, according to memory tables, belongs to the OS. Parameter3 is the start address, Parameter4 is the length of the range. They can probably be found somewhere in the ASL code.&lt;br /&gt;
&lt;br /&gt;
* Parameter1 == 0x0000000D means that some _ADR or _HID Symbol is missing in the dsdt.asl.&lt;br /&gt;
* Parameter1 == 0x00000011 is &amp;quot;something in the ACPI init&amp;quot;. This can be (among other things)&lt;br /&gt;
** improper object names, like an object &amp;quot;\._PR_foo&amp;quot; inside the &amp;quot;\._PR&amp;quot; scope (it should be just &amp;quot;foo&amp;quot; instead, or the surrounding scope killed)&lt;br /&gt;
** the use of qwords, which XP doesn't like (known error code tuple in this case: (0x11, 0x8, address of SSDT, unknown value))&lt;br /&gt;
** improper aml code, acpica as used by Linux is very lenient. (Wrong length field encoding in new acpigen code led to (0x11, 0x8, address of SSDT, unknown value))&lt;br /&gt;
&lt;br /&gt;
The documentation of windbg has more detailed information about STOP 0xa5 than the MSDN article.&lt;br /&gt;
STOP 0xa5 can be debugged by using checked builds of ntoskrnl and hal.dll and a second machine connected with a null-modem cable and windbg as kernel debugger.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;unexpected error&amp;quot; in Windows XP / Server 2003 setup ===&lt;br /&gt;
(from http://www.coreboot.org/pipermail/coreboot/2011-May/065179.html)&lt;br /&gt;
&lt;br /&gt;
Windows XP or Server 2003 setup might fail with an error message such as:&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;An unexpected error (805262864) occurred at line 1768 of d:\xpclient\base\boot\setup\arcdisp.c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The value 805262864 varies, and is the physical address, in decimal, of one of the ACPI tables.&lt;br /&gt;
&lt;br /&gt;
The error message is displayed when a 1024 dword page table array used by setupldr runs out of space.&lt;br /&gt;
&lt;br /&gt;
This table is used for mapping various physical addresses, such as those of ACPI tables (a separate table identity maps the lower 16MB used by setupldr code and data). Setupldr only looks at ACPI tables (FACP) to determine make and model of the system. The make and model of the system is needed when setupldr scans the good/bad bios lists contained in txtsetup.sif. The good/bad bios lists are used to bypass installation of the ACPI enabled kernel on certain systems known to have ACPI problems. The code loop that scans the lists creates a new mapping each time it reads an ACPI table, and never frees mappings. The code uses FACP OEM ID to determine the system model. The code sequentially reads tables listed in the RSDT array until the FACP is found. Each read consumes one page table entry. If more that 4 tables precede the FACP in the RSDT array, the 1024 entry page table array will run out of space before the good/bad bios list processing completes.&lt;br /&gt;
&lt;br /&gt;
BIOS can work around this Windows XP/Server 2003 limitation by placing the FACP early in the RSDT array.&lt;br /&gt;
&lt;br /&gt;
=== Other errors ===&lt;br /&gt;
* Quoting [http://support.microsoft.com/?scid=kb%3Ben-us%3B935806&amp;amp;x=14&amp;amp;y=18 MSDN]: A &amp;quot;Stop: 0x0000007E&amp;quot; error message or a &amp;quot;Stop: 0x0000008E&amp;quot; error message typically means that a kernel mode component, such as a driver, encountered an error that could not be handled by the built-in Windows error handler.&lt;br /&gt;
&lt;br /&gt;
=== Using checked builds ===&lt;br /&gt;
There's a faulty assert in acpi.sys that trips only on checked builds. Get rid of &amp;quot;else&amp;quot; statements in ASL code that the compiler can't optimize away (ie. &amp;quot;if () { Return Foo } else { Return Bar }&amp;quot; is changed to &amp;quot;if () { Return Foo } Return Bar&amp;quot; and thus won't trigger this assert). We primarily had that with acpigen generated ElseOps (since those see no optimizer pass).&lt;br /&gt;
&lt;br /&gt;
== Linux Errors ==&lt;br /&gt;
=== ACPI 2.0/3.0 without XSDT ===&lt;br /&gt;
Linux 2.6.12.x requires an XSDT if the RSDP revision is larger than 0 as it's hardcoded to use that instead of the RSDT then. Fixed in later Linux versions.&lt;br /&gt;
=== PCI Hotplug _BBN fail ===&lt;br /&gt;
&lt;br /&gt;
If you are seeing the following error you are on a (most likely old) system with PCI(e) hotplug. &lt;br /&gt;
&lt;br /&gt;
 pci_hotplug: PCI Hot Plug PCI Core version: 0.5&lt;br /&gt;
 pciehp: acpi_pciehprm:\_SB_.PCI0 evaluate _BBN fail=0x5&lt;br /&gt;
 pciehp: acpi_pciehprm:get_device PCI ROOT HID fail=0x5&lt;br /&gt;
&lt;br /&gt;
Add the following under PCI0 device to get rid of the error:&lt;br /&gt;
 Name(_ADR, 0) &lt;br /&gt;
 Name(_BBN, 0)&lt;br /&gt;
== Random Notes ==&lt;br /&gt;
=== Don't nest scopes improperly ===&lt;br /&gt;
Windows ACPI doesn't like&lt;br /&gt;
 Scope(\foo) {&lt;br /&gt;
   Name(\foo.bar) { ... }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Either make that &lt;br /&gt;
 Scope(\foo) {&lt;br /&gt;
   Name (bar) { .. }&lt;br /&gt;
 }&lt;br /&gt;
or eliminate the scope:&lt;br /&gt;
 Name(\foo.bar) { ... }&lt;br /&gt;
=== Shutdown sequences differ between systems ===&lt;br /&gt;
Success with shutting down a system from Windows doesn't mean that Linux properly shuts down the system (and this probably applies the other way around, too)&lt;br /&gt;
&lt;br /&gt;
= Further Resources =&lt;br /&gt;
&lt;br /&gt;
* A good FAQ: http://www.acpi.info/acpi_faq.htm&lt;br /&gt;
* [ftp://ftp.suse.com/pub/people/trenn/ACPI_BIOS_on_Linux_guide/acpi_guideline_for_vendors.pdf ACPI BIOS Guideline for Linux] by Thomas Renninger&lt;br /&gt;
* [http://lwn.net/Articles/237085/ How to debug ACPI Problems] by Thomas Renninger&lt;br /&gt;
* [http://www.coreboot.org/pipermail/coreboot/2009-January/044210.html ACPI table dump script]&lt;br /&gt;
* [http://en.opensuse.org/S2ram Suspend to RAM utility]&lt;br /&gt;
* [http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/CPA002_WH06.ppt Windows Vista ACPI information, incl. advice on common problems in ACPI implementations]&lt;br /&gt;
* [http://smackerelofopinion.blogspot.com/2010/03/debugging-acpi-using-acpiexec.html Debugging ACPI using acpiexec]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Fallback_mechanism</id>
		<title>Fallback mechanism</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Fallback_mechanism"/>
				<updated>2013-02-21T11:56:12Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: PatrickGeorgi moved page Fallback mecanism to Fallback mechanism: typo in page name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The fallback mecanism permits to have 2 different romstage,ramstage,payload in the same images under a different prefix.&lt;br /&gt;
The switch between both can be governed by an nvram configuration parameter.&lt;br /&gt;
&lt;br /&gt;
== Howto ==&lt;br /&gt;
* build the coreboot image as usual, it will produce an image in build/coreboot.rom&lt;br /&gt;
* After the first build run:&lt;br /&gt;
 make menuconfig&lt;br /&gt;
* Optionally change the payload.&lt;br /&gt;
* Go in &lt;br /&gt;
 General setup  ---&amp;gt;&lt;br /&gt;
* Change:&lt;br /&gt;
 (fallback) CBFS prefix to use&lt;br /&gt;
To:&lt;br /&gt;
 (normal) CBFS prefix to use&lt;br /&gt;
* Go back to the main menu and select:&lt;br /&gt;
 Architecture (x86)  ---&amp;gt;&lt;br /&gt;
select the following option:&lt;br /&gt;
 [*] Update existing coreboot.rom image&lt;br /&gt;
Exit and save and rebuild...&lt;br /&gt;
&lt;br /&gt;
The image will then have fallback and normal:&lt;br /&gt;
 Name                           Offset     Type         Size&lt;br /&gt;
 cmos_layout.bin                0x0        cmos_layout  1776&lt;br /&gt;
 pci1002,9710.rom               0x740      optionrom    60928&lt;br /&gt;
 fallback/romstage              0xf580     stage        92823&lt;br /&gt;
 fallback/coreboot_ram          0x26080    stage        66639&lt;br /&gt;
 fallback/payload               0x36540    payload      54976&lt;br /&gt;
 config                         0x43c40    raw          4455&lt;br /&gt;
 normal/romstage                0x44e00    stage        92823&lt;br /&gt;
 normal/coreboot_ram            0x5b8c0    stage        68820&lt;br /&gt;
 normal/payload                 0x6c600    payload      159949&lt;br /&gt;
 (empty)                        0x93700    null         442136&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Fallback_mecanism</id>
		<title>Fallback mecanism</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Fallback_mecanism"/>
				<updated>2013-02-21T11:56:12Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: PatrickGeorgi moved page Fallback mecanism to Fallback mechanism: typo in page name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Fallback mechanism]]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/OpenVSA</id>
		<title>OpenVSA</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/OpenVSA"/>
				<updated>2013-02-07T10:32:51Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''VSA''', or '''Virtual System Architecture''' is a low-level software library included in the bootloader/BIOS for system using AMD Geode-series CPUs and companion chips.&lt;br /&gt;
&lt;br /&gt;
AMD released VSA sources under the name '''geode-vsa''' in 2006 (licensed under the terms of the GNU LGPL).  The original sources were hosted by the OLPC project, and can be pulled with git from &amp;lt;code&amp;gt;git://dev.laptop.org/geode-vsa&amp;lt;/code&amp;gt;.  Updated sources are hosted by coreboot.org located in the [http://review.coreboot.org/gitweb?p=blobs.git;a=tree;f=cpu/amd/geode_lx;hb=HEAD blobs repository]. The '''OpenVSA''' sources include modified '''geode-vsa''' sources, as well as some new components also released under the GNU LGPL.&lt;br /&gt;
&lt;br /&gt;
The VSA code runs under x86 SMM (System Management Mode) which is like &amp;quot;real mode&amp;quot; with some extra opcodes, priviledges, and side-effects.&lt;br /&gt;
&lt;br /&gt;
As originally published, the VSA code compiled and assembled with older, commercially unavailable versions of Microsoft tools.  The OpenVSA code has been modified in order to build under a GNU toolchain so that it may be maintained and enhanced by a wider group of users. It still requires MASM or a compatible assembler, such as [http://www.japheth.de/JWasm.html JWasm]. Because of this, it wasn't integrated in the coreboot build process yet.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
The current status of the OpenVSA is: '''''experimental'''''.  Please do not use OpenVSA in your system unless you have access to a low-level re-flashing tools.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
Please refer to the [[AMD_Geode_Porting_Guide#Manual_build|AMD_Geode_Porting_Guide]].&lt;br /&gt;
&lt;br /&gt;
== Differences Between VSA and OpenVSA ==&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot; &lt;br /&gt;
!Category&lt;br /&gt;
!VSA&lt;br /&gt;
!OpenVSA&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
|Assembler&lt;br /&gt;
|MASM 6.11c or greater&lt;br /&gt;
|GNU gas (part of binutils)&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
|Make&lt;br /&gt;
|NMAKE.EXE Version 1.40 or greater&lt;br /&gt;
|GNU make&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
|C-compiler&lt;br /&gt;
|MSVC Version 1.52&lt;br /&gt;
|GNU gcc&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
|Final binary output&lt;br /&gt;
|exe2bin.exe&lt;br /&gt;
|GNU objcopy (part of binutils)&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
|Assembly syntax&lt;br /&gt;
|Microsoft/Intel&lt;br /&gt;
|GNU gas/AT&amp;amp;T&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
|Code Generation&lt;br /&gt;
|16-bit, inherent to the toolchain commands used during build&lt;br /&gt;
|16-bit assembly, generated by using &amp;lt;code&amp;gt;.code16&amp;lt;/code&amp;gt; in assembly files; 32-bit from C, prefixes generated by using &amp;lt;code&amp;gt;.code16gcc&amp;lt;/code&amp;gt; in C files&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
|Memory Model&lt;br /&gt;
|&amp;quot;tiny&amp;quot;: merges CS and DS, inherent to the toolchain commands used during build&lt;br /&gt;
|&amp;quot;tiny&amp;quot; model accomplished with specific section names and linker script statements&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
|SMM-only opcode assembly&lt;br /&gt;
|MASM macros&lt;br /&gt;
|Perl script &amp;lt;code&amp;gt;smimac.pl&amp;lt;/code&amp;gt; pre-processes to constant-sequences&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
|Internal assembly functions: calling convention&lt;br /&gt;
|custom/random, no apparent fixed pattern&lt;br /&gt;
|unchanged&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
|Assembly functions called from C: calling convention&lt;br /&gt;
|Microsoft &amp;lt;code&amp;gt;pascal&amp;lt;/code&amp;gt;&lt;br /&gt;
|GNU &amp;lt;code&amp;gt;__attribute__((fastcall))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
|C header file translation to assembly include&lt;br /&gt;
|h2inc.exe&lt;br /&gt;
|manual/static translation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Calling Conventions And Stack ===&lt;br /&gt;
&lt;br /&gt;
==== VSA: MASM and Microsoft C ====&lt;br /&gt;
&lt;br /&gt;
The original VSA sources used 16-bit &amp;lt;code&amp;gt;MS PASCAL&amp;lt;/code&amp;gt; calling convention (&amp;lt;code&amp;gt;__pascal&amp;lt;/code&amp;gt;):&lt;br /&gt;
* stack parameter order: left-to-right&lt;br /&gt;
* called function cleans up the stack&lt;br /&gt;
* all parameters are pushed onto the stack&lt;br /&gt;
* return values to 16 bits returned in &amp;lt;code&amp;gt;AX&amp;lt;/code&amp;gt;&lt;br /&gt;
* return values 17 to 32 bits returned in &amp;lt;code&amp;gt;DX:AX&amp;lt;/code&amp;gt;&lt;br /&gt;
* scratch registers &amp;lt;code&amp;gt;AX, BX, CX, DX, ES&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^           |&amp;lt;- 16 bits -&amp;gt;|&lt;br /&gt;
| higher&lt;br /&gt;
| address&lt;br /&gt;
| (pop)&lt;br /&gt;
&lt;br /&gt;
             -------------&lt;br /&gt;
            | first param |&lt;br /&gt;
             -------------&lt;br /&gt;
                  ...&lt;br /&gt;
             -------------&lt;br /&gt;
            |  last param |   4(BP)&lt;br /&gt;
             -------------&lt;br /&gt;
            |  return IP  |   2(BP)&lt;br /&gt;
             -------------&lt;br /&gt;
            |   old BP    | &amp;lt;-- BP&lt;br /&gt;
             -------------&lt;br /&gt;
                (locals)     -2(BP)&lt;br /&gt;
             -------------&lt;br /&gt;
              (saved regs)&lt;br /&gt;
             -------------&lt;br /&gt;
            | (saved reg) | &amp;lt;-- SP&lt;br /&gt;
             -------------&lt;br /&gt;
&lt;br /&gt;
| lower&lt;br /&gt;
| address&lt;br /&gt;
| (push)&lt;br /&gt;
v&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== OpenVSA: GNU ====&lt;br /&gt;
&lt;br /&gt;
With GNU on the Intel 386, the fastcall attribute (&amp;lt;code&amp;gt;__attribute__(fastcall)&amp;lt;/code&amp;gt;) calling convention:&lt;br /&gt;
* stack parameter order: right-to-left&lt;br /&gt;
* called function cleans up the stack&lt;br /&gt;
* if the first one or two arguments are integers/pointers (&amp;lt;=32bit), they are passed via &amp;lt;code&amp;gt;ECX&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;EDX&amp;lt;/code&amp;gt;&lt;br /&gt;
* all other parameters are pushed onto the stack&lt;br /&gt;
* return values to 32 bits are returned in &amp;lt;code&amp;gt;EAX&amp;lt;/code&amp;gt;&lt;br /&gt;
* scratch registers &amp;lt;code&amp;gt;EAX, ECX, EDX&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^           |&amp;lt;- 32 bits -&amp;gt;|&lt;br /&gt;
| higher&lt;br /&gt;
| address&lt;br /&gt;
| (pop)                      (uses              (no&lt;br /&gt;
                              frame)             frame)&lt;br /&gt;
&lt;br /&gt;
             -------------&lt;br /&gt;
            | last param  |&lt;br /&gt;
             -------------&lt;br /&gt;
                  ...&lt;br /&gt;
             -------------&lt;br /&gt;
            |  3rd param  |   8(EBP)            4(ESP)&lt;br /&gt;
             -------------&lt;br /&gt;
            | return EIP  |                   &amp;lt;-- ESP&lt;br /&gt;
             -------------&lt;br /&gt;
            |  saved EBP  | &amp;lt;-- EBP&lt;br /&gt;
             -------------&lt;br /&gt;
                (locals)     -4(EBP)&lt;br /&gt;
             -------------&lt;br /&gt;
              (saved regs)&lt;br /&gt;
             -------------&lt;br /&gt;
              (saved reg)   &amp;lt;-- ESP&lt;br /&gt;
| lower&lt;br /&gt;
| address&lt;br /&gt;
| (push)&lt;br /&gt;
v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notable C-Code Differences ===&lt;br /&gt;
&lt;br /&gt;
Microsoft C appears to accept a statement like:&lt;br /&gt;
&lt;br /&gt;
  ULONG Data;&lt;br /&gt;
  ...&lt;br /&gt;
  (UCHAR)Data = 0;&lt;br /&gt;
&lt;br /&gt;
This is not a portable construction, GCC rejects is, so has been changed to:&lt;br /&gt;
&lt;br /&gt;
  *((UCHAR *) &amp;amp;Data) = 0;&lt;br /&gt;
&lt;br /&gt;
== Feature Wish List ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Hacking Notes ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{PD-self}}&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/TianoCore</id>
		<title>TianoCore</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/TianoCore"/>
				<updated>2013-02-06T18:04:27Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[http://tianocore.org TianoCore]''' is an open source implementation of '''UEFI''', the '''Unified Extensible Firmware Interface'''. UEFI (formerly EFI) is intended to replace the traditional PC BIOS. TianoCore as in implementation cannot do that, as it lacks the code to do hardware initalization. Since hardware initialization is exactly what coreboot does, the combination of coreboot + TianoCore is the most straightforward option to provide a complete, opensource UEFI environment.&lt;br /&gt;
&lt;br /&gt;
There are various approaches for loading TianoCore. One is to use SeaBIOS' floppy mechanism to load DUET, a TianoCore-on-BIOS. The other is to make TianoCore a true coreboot payload.&lt;br /&gt;
== DUET ==&lt;br /&gt;
=== Howto DuetPkg ===&lt;br /&gt;
* Setup edk2 for compilation:&lt;br /&gt;
* First compile DuetPkg:&lt;br /&gt;
 cd BaseTools&lt;br /&gt;
 export EDK_TOOLS_PATH=$(pwd)&lt;br /&gt;
 cd ../&lt;br /&gt;
 . ./edksetup.sh BaseTools&lt;br /&gt;
 build -p DuetPkg/DuetPkgIa32.dsc&lt;br /&gt;
&lt;br /&gt;
* Then package it in a floppy file:&lt;br /&gt;
Go in the edk2 directory, then run the following commands:&lt;br /&gt;
 cd BaseTools&lt;br /&gt;
 export EDK_TOOLS_PATH=$(pwd)&lt;br /&gt;
 cd ../&lt;br /&gt;
 . ./edksetup.sh BaseTools&lt;br /&gt;
 ./DuetPkg/PostBuild.sh IA32 GCC44&lt;br /&gt;
 ./DuetPkg/CreateBootDisk.sh file ./floppy.img ./floppy.img FAT12 IA32 GCC44&lt;br /&gt;
 lzma -zc floppy.img &amp;gt; myfloppy.img.lzma&lt;br /&gt;
* Then add it to cbfs:&lt;br /&gt;
Go into the coreboot directory and do:&lt;br /&gt;
 ./build/cbfstool coreboot.rom add -f /path/to/myfloppy.img.lzma -n floppyimg/MyFloppy.lzma -t raw&lt;br /&gt;
 ./build/cbfstool coreboot.rom print&lt;br /&gt;
* reflash coreboot and reboot.&lt;br /&gt;
* Then while booting press F12 and choose it:&lt;br /&gt;
 Press F12 for boot menu.&lt;br /&gt;
 &lt;br /&gt;
 Select boot device:&lt;br /&gt;
 &lt;br /&gt;
 1. Ramdisk [MyFloppy]&lt;br /&gt;
 2. ata1-0: Hitachi HDP725050GLA360 ATA-8 Hard-Disk (465 GiByte&lt;br /&gt;
&lt;br /&gt;
=== Result ===&lt;br /&gt;
M4A785T-M =&amp;gt; fails with an interrupt issue&lt;br /&gt;
&lt;br /&gt;
Qemu =&amp;gt; way too slow&lt;br /&gt;
&lt;br /&gt;
x60 =&amp;gt; seem to work,no media to test&lt;br /&gt;
&lt;br /&gt;
== TianoCore as coreboot payload ==&lt;br /&gt;
http://www.phisch.org/website/efiboot/ reports on a first implementation, but for various reasons there is no source code.&lt;br /&gt;
&lt;br /&gt;
https://github.com/pgeorgi/edk2/tree/coreboot-pkg hosts an attempt to do an published open source implementation of such a payload. It boots, but still lacks many features, most notably a driver for the Graphic Output Protocol (but many more, really), so for now the only path for user interaction is the serial port.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Welcome_to_coreboot</id>
		<title>Welcome to coreboot</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Welcome_to_coreboot"/>
				<updated>2013-02-04T12:54:18Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: pipermail url changed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:0.5em; margin-bottom:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#efefff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
'''coreboot''' is a Free Software project aimed at replacing the proprietary [http://wikipedia.org/wiki/BIOS BIOS] (firmware) found in most computers. coreboot performs a little bit of hardware initialization and then executes additional boot logic, called a [[Payloads|payload]].&lt;br /&gt;
&lt;br /&gt;
With the separation of hardware initialization and later boot logic, coreboot can scale from specialized applications that run directly from firmware, run operating systems in flash, load custom bootloaders, or implement firmware standards, like [[SeaBIOS | PC BIOS services]] or [[TianoCore | UEFI]]. This allows for systems to only include the features necessary in the target application, reducing the amount of code and flash space required.&lt;br /&gt;
&lt;br /&gt;
coreboot currently supports over '''[[Supported Motherboards|230]]''' different mainboards. Check the [[Support]] page to see if your system is supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
coreboot was formerly known as [http://www.coreboot.org/pipermail/coreboot/2008-January/029135.html LinuxBIOS]. &lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:0.5em; margin-bottom:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#efefff; align:right; border:1px solid #aabbcc;&amp;quot;&amp;gt;&lt;br /&gt;
coreboot recently switched to [[git]] and [http://review.coreboot.org gerrit] is now used as patch review tool.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=8 border=0 margin=0 padding=0 align=&amp;quot;top&amp;quot; width=100%&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = yellow|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Benefits|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Benefits]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* 100% Free Software (GPL), no royalties, no license fees!&lt;br /&gt;
* Fast boot times (500 milliseconds to verified Linux kernel)&lt;br /&gt;
&amp;lt;!-- * Avoids the need for a slow/buggy/proprietary BIOS --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Runs in 32-Bit protected mode almost from the start --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Written in C, contains virtually no assembly code --&amp;gt;&lt;br /&gt;
* Supports many [[Supported Motherboards|mainboards]], [[Supported Chipsets and Devices|chipsets]], and [[payloads]]&lt;br /&gt;
&amp;lt;!-- * Further features: netboot, serial console, remote flashing, ... --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = #d1adf6|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Use Cases|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Use Cases]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* Desktop PCs, servers, [[Laptop|laptops]]&lt;br /&gt;
* [[Clusters]]&lt;br /&gt;
&amp;lt;!-- * Set-Top-Boxes, thin clients --&amp;gt;&lt;br /&gt;
* Embedded solutions&lt;br /&gt;
&amp;lt;!-- * [http://en.wikipedia.org/wiki/Small_form_factor Small form factor computers], [http://en.wikipedia.org/wiki/Home_theater_PC Home-theater PCs] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * No-moving-parts solutions (ROM chip as &amp;quot;disk&amp;quot;) --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * Non-standard scenarios (e.g. FPGA in Opteron socket) --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{{Box|&lt;br /&gt;
BORDER = #8898bf|&lt;br /&gt;
BACKGROUND = lime|&lt;br /&gt;
WIDTH = 100%|&lt;br /&gt;
ICON = &amp;lt;small&amp;gt;[[Payloads|More...]]&amp;lt;/small&amp;gt;|&lt;br /&gt;
HEADING = &amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Payloads]]&amp;lt;/span&amp;gt;|&lt;br /&gt;
CONTENT =&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* [[SeaBIOS]] / [[FILO]] / [[GRUB2]] / [[Payloads|...]] &amp;lt;!-- / [[OpenFirmware]] / [[OpenBIOS]] --&amp;gt;&lt;br /&gt;
* [[Linux]] / [[Windows]] / [[FreeBSD]] / [[NetBSD]] / [[Payloads|...]] &amp;lt;!-- / [http://openbsd.org/ OpenBSD]--&amp;gt;&lt;br /&gt;
* [[Etherboot]] / [[GPXE]] / [[iPXE]] / [[Payloads|...]]&lt;br /&gt;
&amp;lt;!--* [[Memtest86]]&lt;br /&gt;
* [[Bayou]] / [[Coreinfo]] / [[Tint]] / [[Libpayload]]--&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=5 cellpadding=15 border=0 valign=&amp;quot;top&amp;quot; width=100%&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_cb.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;About&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Find out more about coreboot.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Press]] | [[Logo]] | [[History]] | [[Screenshots|Screenshots/Videos]] | [[Contributors]] | [[Sponsors]] | [[Products]] | [[Vendors]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_devel.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Developers&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Get involved! Help us make coreboot better.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Development Guidelines]] | [[Developer Manual]] | [http://qa.coreboot.org/docs/doxygen.php Doxygen] | [http://review.coreboot.org/gitweb?p=coreboot.git;a=tree Browse Source] | [[GSoC]] | [[Flag Days]] | [[Distributed and Automated Testsystem|Testsystem]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_status.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Find out whether your hardware is already supported.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Supported Motherboards|Supported Boards]] | [[Supported Chipsets and Devices|Supported Chipsets]] | [[:Category:Tutorials|Board Status Pages]] | [http://qa.coreboot.org Build Status]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_tools.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Related Tools&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Tools and libraries related to coreboot.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Flashrom]] | [[Superiotool]] | [[Nvramtool]] | [[Buildrom]] | [[Mkelfimage]] | [[Inteltool]] | [[Msrtool]] | [[Ectool]] | [[Developer_Manual/Tools|Hardware tools]] | [[Abuild]] | [[SerialICE]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=50% style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_101.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Getting Started&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Download coreboot and get started.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[Build HOWTO]] | [[Download coreboot|Downloads]] | [[Documentation]] | [[QEMU]] | [[AMD SimNow]] | [[Build from Windows]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[Image:chip_support.png]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:150%&amp;quot;&amp;gt;Support&amp;lt;/span&amp;gt;'''&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;Learn how to contact us and find help and support.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;hr /&amp;gt;[[FAQ]] | [[Mailinglist]] | [[IRC]] | [http://tracker.coreboot.org/trac/coreboot/ Issue Tracker] | [[Glossary]] | [[coreboot Options|coreboot Options]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Coreboot menuconfig.png|center|thumb|[[Build HOWTO|make menuconfig]] in coreboot]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[http://blogs.coreboot.org News (blog)]&amp;lt;/span&amp;gt;'''&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;rss max=5&amp;gt;http://blogs.coreboot.org/feed/&amp;lt;/rss&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-variant:small-caps; font-size:120%&amp;quot;&amp;gt;[[Current events|Upcoming Events]]&amp;lt;/span&amp;gt;'''&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;!-- List of upcoming events (remove events after they have taken place). --&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;!-- * '''2011/mon/day:''' coreboot event at [[Link]] in somecity --&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
{{#widget:Ohloh Project|id=coreboot|type=partner_badge}}&lt;br /&gt;
{{#widget:Ohloh Project|id=coreboot|type=cocomo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Supported_Chipsets_and_Devices</id>
		<title>Supported Chipsets and Devices</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Supported_Chipsets_and_Devices"/>
				<updated>2013-02-01T16:59:40Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: move v1 and v3 information to separate pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''coreboot v4''' is the current stable coreboot tree recommended for productive use and for porting new boards.&lt;br /&gt;
* If a device is not supported by coreboot v4, try [[Supported_Chipsets_and_Devices/v1|checking coreboot v1]] or [[Supported_Chipsets_and_Devices/v3|coreboot v3]] for support.&lt;br /&gt;
* In general it is '''not'''  recommended to use coreboot v3 &amp;amp;mdash; this was an experimental development tree which is gradually being merged into v4.&lt;br /&gt;
* Also, coreboot v1 should be avoided (if v4 can be used instead for your board), as it has been unmaintained for a long time. However, it is definitely desirable to port boards from v1 to v4 whereever possible.&lt;br /&gt;
&lt;br /&gt;
See also [[Supported Motherboards]].&lt;br /&gt;
&lt;br /&gt;
== Devices supported in coreboot v4 ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Northbridges'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Northbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Fam14h - G-Series&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Fam12h - Llano&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Fam10h&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| K8&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| GX1&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| GX&amp;amp;nbsp;(GX2)&lt;br /&gt;
| style=&amp;quot;background: lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| LX&lt;br /&gt;
| style=&amp;quot;background: lime&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| E7501&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| E7520&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| E7525&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 3100&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 5000P&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82443BX&amp;amp;nbsp;(440BX)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82810&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82830&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82855&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| EP80579 (Tolapai)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 945&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| SCH US15W (Poulsbo)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| SiS761GX&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8601 (PLE133)&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8623 (CLE266)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| K8T890&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| K8M890&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| CN400&lt;br /&gt;
| ?&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| CN700&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;14&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| CX700&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VX800&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Southbridges'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Southbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD8111&lt;br /&gt;
| style=&amp;quot;background: lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD8131&lt;br /&gt;
| style=&amp;quot;background: lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD8132&lt;br /&gt;
| style=&amp;quot;background: lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD8151&lt;br /&gt;
| style=&amp;quot;background: lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| CS5530/CS5530A&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| CS5535&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| CS5536&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| RS690&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| SB600&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| RS780/RS785&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| SB700/SB7x0&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| SR56x0&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| SB5100&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| SB800&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Broadcom&lt;br /&gt;
| BCM21000&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Broadcom&lt;br /&gt;
| BCM5780&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Broadcom&lt;br /&gt;
| BCM5785&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 6300ESB (ESB6300)&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 3100&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801AA/AB&amp;amp;nbsp;(ICH/ICH0)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801BA/BAM&amp;amp;nbsp;(ICH2/ICH2-M)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801CA/CAM&amp;amp;nbsp;(ICH3-S/ICH3-M)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801DB/DBL/DBM&amp;lt;br/&amp;gt;(ICH4/ICH4-L/ICH4-M)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801EB/ER&amp;amp;nbsp;(ICH5/ICH5R)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801GX&amp;amp;nbsp;(ICH7)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82870&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| PXHD&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| EP80579 (Tolapai)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| SCH US15W (Poulsbo)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NVIDIA&lt;br /&gt;
| CK804&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;17&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NVIDIA&lt;br /&gt;
| MCP55&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;17&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Ricoh&lt;br /&gt;
| RL5C476&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| SiS966(L)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8231&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8235&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8237R&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8237A&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8237S&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT82C686&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Super I/Os'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Super&amp;amp;nbsp;I/O&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| A8000&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;, &amp;lt;sup&amp;gt;13&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fintek&lt;br /&gt;
| F71805F/FG&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fintek&lt;br /&gt;
| F71859&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fintek&lt;br /&gt;
| F71863F/FG&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fintek&lt;br /&gt;
| F71872F/FG&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fintek&lt;br /&gt;
| F71889&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fintek&lt;br /&gt;
| F81865F&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8661F&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8671F&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8673F&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8705F&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8712F&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8716F&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8718F&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 3100&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| EP80579 (Tolapai)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC8374&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87309&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87351&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87360&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87366&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87382&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87384&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87392&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87417&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87427&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC97307 &lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC97317&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ServerEngines&lt;br /&gt;
| PILOT&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&amp;lt;sup&amp;gt;18&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| FDC37M70x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| FDC37B80x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| FDC37B78x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| FDC37B72x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| FDC37B81x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| FDC37M60x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| LPC47B27x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| LPC47M10x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| LPC47M112&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| LPC47M13x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| LPC47M15x&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| LPC47M192&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| LPC47B397&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| DME1737&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| SCH5307&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMSC&amp;amp;reg;&lt;br /&gt;
| LPC47N217&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT1211&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT82C686(A/B)&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83627DHG&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83627UHG&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83627EHG/HF/EHF/THF&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83697HF/HG&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83627THF/THG&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83977F&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83977TF&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83977EF&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''CPUs'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Type&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | CPU&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| x86&lt;br /&gt;
| AMD&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| x86&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| x86&lt;br /&gt;
| VIA&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Emulated&lt;br /&gt;
| QEMU&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''SOCs'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | SOC&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Elan SC520&lt;br /&gt;
| style=&amp;quot;background: lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| EP80579 (Tolapai)&lt;br /&gt;
| style=&amp;quot;background: yellow&amp;quot; | OK&amp;lt;sup&amp;gt;20&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; The W83977EF works fine with the W83977TF code (the pre-RAM serial part at least).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; Pre-RAM serial output works fine, but nothing else, yet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; Works mostly, but currently there are some limitations as to which RAM DIMMs can be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt; All these Super I/O chips should be supported by the &amp;quot;smscsuperio&amp;quot; driver. Only the ASUS A8000 is tested, though. The floppy disk controller, the parallel port, the serial ports (COM1 + COM2), and the keyboard should work for all chips. More advanced stuff may need more work, though.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;13&amp;lt;/sup&amp;gt; The ASUS A8000 Super I/O seems to be a rebranded SMSC DME1737.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;14&amp;lt;/sup&amp;gt; Working, but not widely tested, yet. Works with single DIMM DDR2.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; The Intel 3100/EP80579 UARTs and watchdog timer are integrated as a Super I/O-like device; only the UARTs have been tested so far.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt; Two implementations: Rev B-C supported in coreboot, Rev D-E support via AGESA&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;17&amp;lt;/sup&amp;gt; MCP55 and CK804 are supported, but no open documents are available from NVIDIA.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;18&amp;lt;/sup&amp;gt; Partially supported, but not all features implemented.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt; Only support for serial port 1 implemented, everything else is unsupported so far due to lack of datasheet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;20&amp;lt;/sup&amp;gt; Working, but not widely tested, yet. Works with single DIMM DDR2.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Supported_Chipsets_and_Devices/v3</id>
		<title>Supported Chipsets and Devices/v3</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Supported_Chipsets_and_Devices/v3"/>
				<updated>2013-02-01T16:59:01Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: copy coreboot v3 information to separate page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Devices supported in coreboot v3 =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #ff0000&amp;quot;&amp;gt;coreboot v3 was an experimental development tree of coreboot which should not be used anymore (there are only very few exceptions)! Most features from v3 are gradually being merged into v4.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Northbridges'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Northbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Geode&amp;amp;nbsp;LX&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Geode&amp;amp;nbsp;K8&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82443BX&amp;amp;nbsp;(440BX)&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 945&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| CN700&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Southbridges'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Southbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD-8111&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD-8132&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD-8151&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | ?&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| CS5536&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| RS690&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| SB600&lt;br /&gt;
| style=&amp;quot;background: lime &amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801GX&amp;amp;nbsp;(ICH7)&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NVIDIA&lt;br /&gt;
| MCP55&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8237R&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Super I/Os'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Super&amp;amp;nbsp;I/O&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fintek&lt;br /&gt;
| F71805F&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8712F&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8716F&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT1211&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83627HF&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83627THG&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''CPUs'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Type&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | CPU&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Geode LX&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| K8&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Generic&lt;br /&gt;
| i586&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| Core Duo / Core 2 Duo&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| C7&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; MCP55 and CK804 are supported, but no open documents are available from NVIDIA.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Supported_Chipsets_and_Devices/v1</id>
		<title>Supported Chipsets and Devices/v1</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Supported_Chipsets_and_Devices/v1"/>
				<updated>2013-02-01T16:58:28Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: copy coreboot v1 information to separate page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Devices supported in coreboot v1 =&lt;br /&gt;
&lt;br /&gt;
Not all devices have been ported from coreboot v1 to coreboot v4, yet (check &amp;quot;v4?&amp;quot; field). If you want to work on such a port contact us on the [[Mailinglist|mailing list]].&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Northbridges'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Northbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | v4?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Acer&lt;br /&gt;
| M1631&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Alpha&lt;br /&gt;
| Tsunami&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | &amp;amp;mdash;&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD76x&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 430TX&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 440BX&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 440GX&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82815EP&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82830&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82860&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| E7500&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| E7501&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| E7505&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Micron&lt;br /&gt;
| 21PAD&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Motorola&lt;br /&gt;
| MPC107&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | &amp;amp;mdash;&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC/AMD&lt;br /&gt;
| GX1&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT694&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8601&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8623&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Southbridges'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Southbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | v4?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Acer&lt;br /&gt;
| M1535&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Acer&lt;br /&gt;
| M1543&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD766&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| AMD768&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801CA&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82801DB&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| 82870&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| PIIX4E&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC/AMD&lt;br /&gt;
| CS5530&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| SCX200&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8231&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8235&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT82C686&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83C553&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | &amp;amp;mdash;&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Super I/Os'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Super&amp;amp;nbsp;I/O&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | v4?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Acer&lt;br /&gt;
| M1535&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ITE&lt;br /&gt;
| IT8671F&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87309&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC87351&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC97307&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| PC97317&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 950&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMC&lt;br /&gt;
| FDC37B72X&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMC&lt;br /&gt;
| FDC37B78X&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMC&lt;br /&gt;
| FDC37B807&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMC&lt;br /&gt;
| FDC37C669&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMC&lt;br /&gt;
| FDC37C67X&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SMC&lt;br /&gt;
| FDC37N769&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT1211&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8231&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT82C686&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83627HF&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83877TF&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Winbond&amp;amp;trade;&lt;br /&gt;
| W83977EF&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''North-/Southbridges'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | North/South&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | v4?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| NSC&lt;br /&gt;
| SCX200&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 540&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 550&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 630&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 635&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 730&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 735&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ST&lt;br /&gt;
| STPC&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''CPUs'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Type&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | CPU&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | v4?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Alpha&lt;br /&gt;
| EV6&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | &amp;amp;mdash;&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PowerPC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | &amp;amp;mdash;&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| x86&lt;br /&gt;
| AMD&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| x86&lt;br /&gt;
| Intel&amp;amp;reg;&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| x86&lt;br /&gt;
| VIA&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; The W83977EF works fine with the W83977TF code in coreboot v4 (the pre-RAM serial part at least).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Pre-RAM serial output works in coreboot v4, but the rest is not supported, yet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; Will not be ported anytime soon, we focus on x86 in coreboot v4.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Current_events</id>
		<title>Current events</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Current_events"/>
				<updated>2013-02-01T13:07:42Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contact [[User:Stepan|Stefan Reinauer]], [[User:Rminnich|Ronald Minnich]] or [[User:Stuge|Peter Stuge]] for more information on the events.&lt;br /&gt;
&lt;br /&gt;
== Upcoming Events ==&lt;br /&gt;
&lt;br /&gt;
'''2013'''&lt;br /&gt;
* coreboot and flashrom share a booth at [[FOSDEM 2013]] in Brussels on February 2-3, 2013.&lt;br /&gt;
&lt;br /&gt;
== Past Events ==&lt;br /&gt;
&lt;br /&gt;
'''2012'''&lt;br /&gt;
* [[GSoC|2012 Google Summer of Code]]&lt;br /&gt;
* coreboot and flashrom share a booth at [[FOSDEM 2012]] in Brussels on February 4-5, 2012, and a presentation about coreboot on laptops will be held by [[User:Hailfinger|Carl-Daniel Hailfinger]].&lt;br /&gt;
&lt;br /&gt;
'''2011'''&lt;br /&gt;
&lt;br /&gt;
* coreboot and flashrom exhibit at [http://www.linuxtag.org/ LinuxTag] in Berlin on May 11-14, 2011.&lt;br /&gt;
&lt;br /&gt;
* coreboot and flashrom shared a booth at [[FOSDEM 2011]] in Brussels on February 5-6, 2011, and several presentations were held by [[User:Ruik|Rudolf Marek]] and [[User:Hailfinger|Carl-Daniel Hailfinger]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2010'''&lt;br /&gt;
&lt;br /&gt;
* coreboot exhibited at [http://www.linuxtag.org/ LinuxTag 2010] in Berlin on June 9-12, 2010.&lt;br /&gt;
* coreboot had its [[FOSDEM 2010|very first DevRoom]] at [http://www.fosdem.org/ FOSDEM] in Brussels on February 6, 2010.&lt;br /&gt;
&lt;br /&gt;
'''2009'''&lt;br /&gt;
&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented [http://events.ccc.de/congress/2009/Fahrplan/events/3661.en.html coreboot] at [http://events.ccc.de/congress/2009/ the 26th Chaos Communication Congress (26C3)] in Berlin on December 27, 2009.&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented [http://www.databadge.net/ifsec2009/reg/lin/show_sessions.php coreboot] at [http://www.linux-world.nl/nl-NL/Bezoeker.aspx?sc_lang=en LinuxWorld Conference &amp;amp; Expo] in Utrecht on November 4, 2009.&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented [https://har2009.org/program/events/210.en.html coreboot] at [https://wiki.har2009.org/page/Main_Page HAR2009] in Vierhouten on August 13, 2009.&lt;br /&gt;
* coreboot had a booth at [[LinuxTag 2009|LinuxTag]] in Berlin on June 24-27, 2009.&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented coreboot at [http://freedomhectaipei.pbworks.com/ FreedomHEC Taipei] on June 11, 2009.&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented coreboot at [http://goopen2009.friprog.no/ GoOpen 2009] in Oslo on April 16-17, 2009.&lt;br /&gt;
* [[User:Stepan|Stefan Reinauer]], [[User:Stuge|Peter Stuge]] and [[User:Ruik|Rudolf Marek]] made a visit at [http://www.embedded-world.de/ embedded world 2009] in Nürnberg on March 3-5.&lt;br /&gt;
* [[User:Rminnich|Ron Minnich]] had a [http://scale7x.socallinuxexpo.org/dotorg/coreboot coreboot booth] at the [http://scale7x.socallinuxexpo.org/ Southern California Linux Expo] (SCALE 7x) on February 20-22, 2009.&lt;br /&gt;
&lt;br /&gt;
'''2008'''&lt;br /&gt;
&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented [http://events.ccc.de/congress/2008/Fahrplan/events/2970.en.html coreboot: Beyond The Final Frontier] and held a coreboot workshop at [http://events.ccc.de/congress/2008/ the 25th Chaos Communication Congress (25C3)] on December 27-30.&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented coreboot at the [http://www.nluug.nl/events/nj08/ NLUUG Autumn Conference on Mobile Computing] and [http://www.embeddedlinuxconference.com/elc_europe08/ CE Linux Forum - Embedded Linux conference Europe 2008] on November 6-7.&lt;br /&gt;
* [[User:Rminnich|Ronald Minnich]], [[User:Stuge|Peter Stuge]] and [[User:Stepan|Stefan Reinauer]] presented coreboot in a [[Screenshots#Google_Tech_Talks_2008:_coreboot_.28aka_LinuxBIOS.29:_The_Free.2FOpen-Source_x86_Firmware|Google TechTalk]] on October 30.&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented [http://fscons.org/events/?action=event&amp;amp;id=32 coreboot] at the [http://fscons.org/ Free Society Conference and Nordic Summit 2008] on October 24-26.&lt;br /&gt;
* [[User:Stuge|Peter Stuge]] presented coreboot at the [http://slackathon.se/2008/ Slackathon 2008] OpenBSD meeting in September.&lt;br /&gt;
* Coreboot was exhibiting at [[LinuxTag 2008]] in Berlin on May 28-31.&lt;br /&gt;
* The [[Coreboot Symposium 2008|coreboot symposium 2008]] was held in Denver, April 3 – 5, 2008 during the High Performance Computer Science Week [http://www.hpcsw.org HPCSW].&lt;br /&gt;
&lt;br /&gt;
'''2007'''&lt;br /&gt;
&lt;br /&gt;
* There was a [[News#2007.2F05.2F23_LinuxBIOS_booth_at_LinuxTag_in_Berlin.2C_29.2F5-2.2F6|LinuxBIOS booth at the LinuxTag in Berlin, May 29 - June 6, 2007]], as well as a hands-on workshop by Peter Stuge.&lt;br /&gt;
* Ron Minnich gave [http://www.fosdem.org/2007/schedule/events/linuxbios a talk about LinuxBIOS] on February 24, 2007 at [http://www.fosdem.org/2007/ FOSDEM 2007].&lt;br /&gt;
&lt;br /&gt;
'''2006'''&lt;br /&gt;
&lt;br /&gt;
* The [[LinuxBIOS Symposium 2006]] took place on October 1-3, 2006 in Hamburg, Germany.&lt;br /&gt;
&lt;br /&gt;
'''2005'''&lt;br /&gt;
&lt;br /&gt;
* The [[LinuxBIOS Summit 2005]] took place on October 11-13 in Santa Fe, NM.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Debugging</id>
		<title>Debugging</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Debugging"/>
				<updated>2013-01-24T22:04:36Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: Add Windows Debugger Instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GDB Interface =&lt;br /&gt;
== GDB Wait ==&lt;br /&gt;
Coreboot has an easy to use interface to the GNU debugger gdb. To enable it, select the CONFIG_GDB_STUB and the CONFIG_GDB_WAIT options in the Debugging menu of coreboot's configuration:&lt;br /&gt;
 [*] GDB debugging support&lt;br /&gt;
 [*]   Wait for a GDB connection&lt;br /&gt;
Then Coreboot will stop and wait for a GDB connection.&lt;br /&gt;
&lt;br /&gt;
To connect to the remote coreboot instance  over serial do:&lt;br /&gt;
 $ gdb&lt;br /&gt;
 GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08&lt;br /&gt;
 Copyright (C) 2011 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;x86_64-linux-gnu&amp;quot;.&lt;br /&gt;
 For bug reporting instructions, please see:&lt;br /&gt;
 &amp;lt;http://bugs.launchpad.net/gdb-linaro/&amp;gt;.&lt;br /&gt;
 (gdb) file ./build/cbfs/fallback/coreboot_ram.debug&lt;br /&gt;
 Reading symbols from /home/gnutoo/Coreboot/coreboot/build/cbfs/fallback/coreboot_ram.debug...done.&lt;br /&gt;
 (gdb) set remotebaud 115200&lt;br /&gt;
 (gdb) target remote /dev/ttyUSB0&lt;br /&gt;
 Remote debugging using /dev/ttyUSB0&lt;br /&gt;
 _text () at src/arch/x86/lib/c_start.S:85&lt;br /&gt;
 85		call	hardwaremain&lt;br /&gt;
 (gdb) &lt;br /&gt;
&lt;br /&gt;
== Exceptions with GDB ==&lt;br /&gt;
Else if you just enable CONFIG_GDB_STUB option in the Debugging menu of coreboot's configuration you will still get some benefit.&lt;br /&gt;
 [*] GDB debugging support&lt;br /&gt;
&lt;br /&gt;
For instance you will not get exceptions like this:&lt;br /&gt;
&lt;br /&gt;
 Unexpected Exception: 0 @ 10:0012724b - Halting&lt;br /&gt;
 Code: 0 eflags: 00010046&lt;br /&gt;
 eax: 00000001 ebx: 00000061 ecx: 00000004 edx: 00000000&lt;br /&gt;
 edi: 00000000 esi: 00000061 ebp: 00163abc esp: 00163a98&lt;br /&gt;
&lt;br /&gt;
But instead you will be able to connect to the machine using gdb over a serial line in case of an exception:&lt;br /&gt;
&lt;br /&gt;
 (gdb) file coreboot/build/cbfs/fallback/coreboot_ram.debug&lt;br /&gt;
 Reading symbols from coreboot/build/cbfs/fallback/coreboot_ram.debug...done.&lt;br /&gt;
 (gdb) set remotebaud 115200&lt;br /&gt;
 (gdb) target remote /dev/ttyUSB0&lt;br /&gt;
 Remote debugging using /dev/ttyUSB0&lt;br /&gt;
 0x0012824b in __udivdi3 (n=17082841390, d=0) at ...&lt;br /&gt;
 ...&lt;br /&gt;
 (gdb) bt&lt;br /&gt;
 #0  0x0012824b in __udivdi3 (n=17082841390, d=0)&lt;br /&gt;
     at /usr/lib/gcc/gcc- 4.3.2/libgcc/../gcc/libgcc2.c:899 &lt;br /&gt;
 #1  0x0011efa2 in handle_port_61h ()&lt;br /&gt;
 #2  0x0011fbc3 in my_inb ()&lt;br /&gt;
 #3  0x001189f5 in x86emuOp_in_byte_AL_IMM ()&lt;br /&gt;
 #4  0x001092f1 in X86EMU_exec ()&lt;br /&gt;
 #5  0x0010a06f in biosemu ()&lt;br /&gt;
 #6  0x0011fcfb in run_bios ()&lt;br /&gt;
 #7  0x0010cbcb in pci_dev_init ()&lt;br /&gt;
 #8  0x00103d9b in dev_initialize ()&lt;br /&gt;
 #9  0x0010f8b5 in hardwaremain ()&lt;br /&gt;
 #10 0x00100099 in _text ()&lt;br /&gt;
&lt;br /&gt;
= Windows 7 USB =&lt;br /&gt;
This is documentation on how to setup Windows 7 on USB, so it can be used with a USB debug device and WinDbg to track down Windows errors that are otherwise hard to debug (eg. black screen, Stop codes, ACPI issues).&lt;br /&gt;
&lt;br /&gt;
== Prepare Windows Media ==&lt;br /&gt;
=== Step 1: Get media ===&lt;br /&gt;
I used Windows 7 Ultimate 64bit English, ISO image has SHA1: 36AE90DEFBAD9D9539E649B193AE573B77A71C83&lt;br /&gt;
&lt;br /&gt;
I also tried Windows 8 Consumer Preview 64bit English, ISO image has SHA1: 1288519C5035BCAC83CBFA23A33038CCF5522749&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Prepare disk ===&lt;br /&gt;
Use some sufficiently large USB media (4GB+), and format it as NTFS.&lt;br /&gt;
&lt;br /&gt;
Windows 7 might work on FAT, but Windows 8 definitely won’t, as the main file archive is &amp;gt;4GB, which even FAT32 doesn't like.&lt;br /&gt;
&lt;br /&gt;
For reference, I called the volume “WININST”, but I doubt that matters.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Copy the entire disk content to disk ===&lt;br /&gt;
I started out from an ISO image (as obtained from digitalriver), and extracted it using 7-zip to the media.&lt;br /&gt;
After that I had a directory that looks like this:&lt;br /&gt;
&lt;br /&gt;
 E:\&amp;gt;dir&lt;br /&gt;
 Datenträger in Laufwerk E: ist WININST&lt;br /&gt;
 Volumeseriennummer: 86DF-6846&lt;br /&gt;
 &lt;br /&gt;
 Verzeichnis von E:\&lt;br /&gt;
 &lt;br /&gt;
 12.04.2011  11:38               122 autorun.inf&lt;br /&gt;
 03.05.2012  18:54    &amp;lt;DIR&amp;gt;          boot&lt;br /&gt;
 12.04.2011  11:38           383.786 bootmgr&lt;br /&gt;
 12.04.2011  11:38           669.568 bootmgr.efi&lt;br /&gt;
 03.05.2012  18:54    &amp;lt;DIR&amp;gt;          efi&lt;br /&gt;
 12.04.2011  11:38           106.768 setup.exe&lt;br /&gt;
 03.05.2012  18:56    &amp;lt;DIR&amp;gt;          sources&lt;br /&gt;
 03.05.2012  18:56    &amp;lt;DIR&amp;gt;          support&lt;br /&gt;
 03.05.2012  18:56    &amp;lt;DIR&amp;gt;          upgrade&lt;br /&gt;
               4 Datei(en),      1.160.244 Bytes&lt;br /&gt;
               5 Verzeichnis(se),  4.976.803.840 Bytes frei&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Install boot sector ===&lt;br /&gt;
For this, you need to run a Windows Console prompt as Administrator. It’s not enough to run as the admin user, but you need to go through the “run as administrator” + UAC motions.&lt;br /&gt;
&lt;br /&gt;
On Windows 7, the fastest way is to open the start menu, type “cmd” in the search field, wait for cmd to appear (with that black window + C:\ icon), right click it, and select “run as administrator”. On Windows 8, there's an Admin Command Line in the Win+X menu.&lt;br /&gt;
&lt;br /&gt;
Move to the drive with the install data (E:\ in my case), enter boot\, and run bootsect like this:&lt;br /&gt;
&lt;br /&gt;
 C:\Windows\System32&amp;gt;e:&lt;br /&gt;
 &lt;br /&gt;
 E:\&amp;gt;cd boot&lt;br /&gt;
 &lt;br /&gt;
 E:\boot&amp;gt;bootsect /nt60 e: /force /mbr&lt;br /&gt;
 Target volumes will be updated with BOOTMGR compatible bootcode.&lt;br /&gt;
 &lt;br /&gt;
 E: (\\?\Volume{39f55ea8-3ea1-11e1-afe7-005056c00008})&lt;br /&gt;
 &lt;br /&gt;
     Forced dismount complete, open handles to this volume are now invalid.&lt;br /&gt;
 &lt;br /&gt;
     Successfully updated NTFS filesystem bootcode.&lt;br /&gt;
 &lt;br /&gt;
 \??\PhysicalDrive2&lt;br /&gt;
 &lt;br /&gt;
     Successfully updated disk bootcode.&lt;br /&gt;
 &lt;br /&gt;
 Bootcode was successfully updated on all targeted volumes.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Prepare installer for USB debug device ===&lt;br /&gt;
In the same Console prompt (and same directory), run:&lt;br /&gt;
&lt;br /&gt;
 bcdedit /store bcd /dbgsettings usb targetname:TargetSystem&lt;br /&gt;
 bcdedit /store bcd /set {default} debug yes&lt;br /&gt;
&lt;br /&gt;
If you have access to the legacy serial port, you can use that to run a kernel debugger session without usb debug device (and its setup, which can be complicated in the presence of Rate Matching Hubs).&lt;br /&gt;
&lt;br /&gt;
In such a setup, instead of the first command use&lt;br /&gt;
 bcdedit /store bcd /dbgsettings serial debugport:1 baudrate:115200&lt;br /&gt;
&lt;br /&gt;
=== Step 6: Install ===&lt;br /&gt;
Start your coreboot + seabios system, and make it boot from your USB device.&lt;br /&gt;
If everything is well, dance and jump with joy! If not, you have a chance to improve coreboot!&lt;br /&gt;
&lt;br /&gt;
=== Step 7: Boot Windows ===&lt;br /&gt;
Once installation is done, boot the new system. That’s another source of trouble, since this is a slightly different Windows than the one driving the installer.&lt;br /&gt;
And there was no chance to setup debug mode for it yet! (TBD)&lt;br /&gt;
&lt;br /&gt;
== Setup Debugging Environment ==&lt;br /&gt;
=== Configuring WinDbg ===&lt;br /&gt;
First, install WinDbg. You can find in the Debugging Utilities for Windows. Set up the symbol file path, so it can resolve the addresses it gets from the target:&lt;br /&gt;
&lt;br /&gt;
* Create a directory somewhere (C:\Symbols is the default).&lt;br /&gt;
* Create an empty &amp;quot;index2.txt&amp;quot; in there.&lt;br /&gt;
* Start Windbg&lt;br /&gt;
* File, Symbol File Path&lt;br /&gt;
* Enter &amp;lt;code&amp;gt;&amp;quot;SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols&amp;quot;&amp;lt;/code&amp;gt; (fill in your path instead of &amp;lt;code&amp;gt;C:\Symbols&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
With this configuration, WinDbg will fetch symbol files from the Microsoft server.&lt;br /&gt;
&lt;br /&gt;
=== Start debug operation ===&lt;br /&gt;
Select the communication channel in File, Kernel Debug (USB 2.0 or serial).&lt;br /&gt;
&lt;br /&gt;
For USB, fill in the name (TargetSystem in the example above), for serial, configure the port. Press OK.&lt;br /&gt;
&lt;br /&gt;
WinDbg will wait for the target to break into the kernel debugger now. It might take a while on the first runs as it has to download the symbol files. Eventually it will print the error and location.&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Lenovo_x60x</id>
		<title>Lenovo x60x</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Lenovo_x60x"/>
				<updated>2013-01-19T06:56:46Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Recovery */ raket on IRC reported another method to reset BUC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Flashing on the laptop instructions. ==&lt;br /&gt;
'''Lenovo X60''', '''X60s''', '''T60''' and '''T60p''' flashing instructions.&lt;br /&gt;
&lt;br /&gt;
These Lenovo laptops have a register that must be flipped before coreboot can be flashed.&lt;br /&gt;
&lt;br /&gt;
For those/some models with SPI flash chips you have also to modify flashrom. Because the chipset locks down the available commands that flashrom can send to the flash chip, you also need to change the flashrom source in a way that is not suitable to upstream.  Flash chips can be identified by various commands (REMS*, RDID etc.). Some of them reply with an ID for the vendor and the exact chip model; others just reply with a single byte which is fine if there is only a small number of chips to distinguish, but won't work for the huge number of flash chips known to flashrom. The problem with the vendor BIOS is that it forbids the higher quality identification commands, so you need to force flashrom to use the lower quality opcode for the chip in your Thinkpad. You have to know the chip model beforehand (e.g. by inspection).&lt;br /&gt;
&lt;br /&gt;
You will need: the flashrom source, a small patch for it, and [http://git.stuge.se/?p=bucts.git the bucts utility].&lt;br /&gt;
&lt;br /&gt;
# Patch flashrom to use RES1 SPI identification and spi_chip_write_1 for your flash chip, as well as change the flash chip model id to fit the RES1 command.  &lt;br /&gt;
#: Alternatively, you can copy the existing definition first as it is done in [http://patchwork.coreboot.org/patch/3621/ this patch]. Choose either method: apply the patch in the link, or do the patch yourself, as per instruction below.&lt;br /&gt;
#* Find the definition of your flash chip in flashrom's flashchips.c&lt;br /&gt;
#* Change the .probe field to probe_spi_res1&lt;br /&gt;
#* Change the .model_id field to the RES1 ID given in the datasheet of the flash chip&lt;br /&gt;
#* Change the .write field to spi_chip_write_1&lt;br /&gt;
# Run &amp;lt;code&amp;gt;flashrom -p internal:laptop=force_I_want_a_brick -r factory.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#: This step is IMPORTANT since the factory BIOS in your machine is tied to your particular system board (or &amp;quot;planar&amp;quot; in IBM FRU terms) with a unique ID not present in factory BIOS updates.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump&amp;lt;/code&amp;gt;&lt;br /&gt;
#: Verify that the complete range is filled with ff bytes before proceeding! The above command must output:&lt;br /&gt;
#: &amp;lt;code&amp;gt;0000000 ffff ffff ffff ffff ffff ffff ffff ffff&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;0010000&amp;lt;/code&amp;gt;&lt;br /&gt;
#: If this is not the case, the coreboot image needs to be rebuilt with the second-to-last 64kbyte block unused.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;bucts 1&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;flashrom -p internal:laptop=force_I_want_a_brick -w coreboot.rom&amp;lt;/code&amp;gt;&lt;br /&gt;
#: This will be slow, it will output errors for addresses 0x0 and 0x1f0000 when working with a 2 Mbyte flash chip, and it will say &amp;quot;FAILED!&amp;quot; at the end, see [http://www.flashrom.org/pipermail/flashrom/2012-April/009121.html Peter's mail] before you panic.&lt;br /&gt;
# Power cycle the machine (i.e. a cold boot, not just a reboot), now starting with coreboot&lt;br /&gt;
# Run &amp;lt;code&amp;gt;flashrom -p internal:laptop=force_I_want_a_brick -w coreboot.rom&amp;lt;/code&amp;gt;.&lt;br /&gt;
#: This will successfully overwrite the entire flash chip, including the last 64k that were write protected with the factory BIOS.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;bucts 0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also http://thread.gmane.org/gmane.linux.bios/69354 http://thread.gmane.org/gmane.linux.bios.flashrom/575&lt;br /&gt;
&lt;br /&gt;
== Recovery ==&lt;br /&gt;
If you had a bad flash you will need a recovery method.&lt;br /&gt;
&lt;br /&gt;
If you only set bucts, then rebooted without doing any flash writes, things might be easier:&lt;br /&gt;
bucts sets a register that lives on the RTC well, ie. it is powered by the same source that keeps the clock alive. Usually that's a battery on the mainboard, and often there's some way to cut the source (by removing the battery, a jumper, or pads that can be shorted).&lt;br /&gt;
After doing that (for a few seconds, there might be some capacitors in the way that keep power stable), the register should be reset and the system should boot as normal.&lt;br /&gt;
&lt;br /&gt;
On the x60x, bucts issues might also be solved by &amp;quot;discarging RTC&amp;quot;, which is done by pressing the power button 5 times for 10 seconds.&lt;br /&gt;
=== Required/advised hardware and informations ===&lt;br /&gt;
* [http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/42x3550_04.pdf X60 Hardware Maintenance Manual] (for disassembling the laptop)&lt;br /&gt;
* An SO-8 IC clip, like the [http://www.tme.eu/en/details/pom-5250/test-clips/pomona/5250/ Pomona 5250] for instance.&lt;br /&gt;
* An external flashrom programmer&lt;br /&gt;
&lt;br /&gt;
=== Howto ===&lt;br /&gt;
0.  wire the pomona clip to a programmer that way:&lt;br /&gt;
&lt;br /&gt;
From the #coreboot IRC Channel on FreeNode servers:&lt;br /&gt;
 Oct 01 15:35:48 &amp;lt;CareBear\&amp;gt;     one important thing is that when you connect the clip to the X60 you should not connect all pins&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 15:36:22 &amp;lt;CareBear\&amp;gt;     only connect these pins: 1, 2, 4, 5, 6&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 15:37:21 &amp;lt;CareBear\&amp;gt;     also important: first connect charger to laptop, then connect the clip&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:49:41 &amp;lt;CareBear\&amp;gt;     GNUtoo-desktop : the mainboard must be powered off, but with the charger connected&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:50:39 &amp;lt;CareBear\&amp;gt;     um, that way there is no way anything will break&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:51:00 &amp;lt;CareBear\&amp;gt;     it is important not to connect 3v3 from the outside&lt;br /&gt;
 Oct 01 17:51:39 &amp;lt;CareBear\&amp;gt;     because the correct power sequencing is not known, and if any other rail must come on before the standby 3v3 then the machine may well break when 3v3 is applied from the outside&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:52:48 &amp;lt;CareBear\&amp;gt;     it may also be fine - but it is unknown what happens&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:53:47 &amp;lt;CareBear\&amp;gt;     not supplying 3v3 from the outside is safer&lt;br /&gt;
 Oct 01 17:54:25 &amp;lt;CareBear\&amp;gt;     and because the machine is powered off, there is no risk of the chipset accessing the flash chip&lt;br /&gt;
In another hand I didn't follow that and wired it without powering the mainboard(mainboard disconnected from power plug, no battery in) and with all pins and it worked...&lt;br /&gt;
# Disassemble carefully the laptop, the SO-8 chip is on the bottom of the mainboard...&lt;br /&gt;
# connect the pomona clip to the BIOS chip&lt;br /&gt;
# flash coreboot or the BIOS&lt;br /&gt;
# remount the laptop&lt;br /&gt;
&lt;br /&gt;
== Coreboot configuration ==&lt;br /&gt;
* It's advised to make SeaBios(instead of coreboot) run the VGA option rom by disabling CONFIG_VGA_ROM_RUN:&lt;br /&gt;
 [ ] Run VGA Option ROMs&lt;br /&gt;
in make menuconfig.&lt;br /&gt;
Note that you still need to include the option rom in coreboot:&lt;br /&gt;
 [*] Add a VGA BIOS image&lt;br /&gt;
See [[VGA_support]] for details on how to include the VGA BIOS image.&lt;br /&gt;
* Also disable CONFIG_S3_VGA_ROM_RUN which is for really old linux kernels(2.4) (which is disabled automatically if you don't select CONFIG_VGA_ROM_RUN).&lt;br /&gt;
&lt;br /&gt;
From the #coreboot IRC Channel on FreeNode servers: &lt;br /&gt;
 Oct 04 13:47:09 &amp;lt;patrickg&amp;gt;      that's about running vga init on s3 wakeup - required for some older linux kernels&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 04 13:47:25 &amp;lt;patrickg&amp;gt;      BIOSes call it &amp;quot;POST on wakeup&amp;quot; or sth like that&lt;br /&gt;
 Oct 04 13:47:30 &amp;lt;patrickg&amp;gt;      older ~ 2.4 class ;)&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
* [[Thinkpad_X60s|Thinkpad X60s Status]]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Lenovo_x60x</id>
		<title>Lenovo x60x</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Lenovo_x60x"/>
				<updated>2013-01-18T22:47:06Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: explain that recovery from bucts is possible (if flash content is still okay)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Flashing on the laptop instructions. ==&lt;br /&gt;
'''Lenovo X60''', '''X60s''', '''T60''' and '''T60p''' flashing instructions.&lt;br /&gt;
&lt;br /&gt;
These Lenovo laptops have a register that must be flipped before coreboot can be flashed.&lt;br /&gt;
&lt;br /&gt;
For those/some models with SPI flash chips you have also to modify flashrom. Because the chipset locks down the available commands that flashrom can send to the flash chip, you also need to change the flashrom source in a way that is not suitable to upstream.  Flash chips can be identified by various commands (REMS*, RDID etc.). Some of them reply with an ID for the vendor and the exact chip model; others just reply with a single byte which is fine if there is only a small number of chips to distinguish, but won't work for the huge number of flash chips known to flashrom. The problem with the vendor BIOS is that it forbids the higher quality identification commands, so you need to force flashrom to use the lower quality opcode for the chip in your Thinkpad. You have to know the chip model beforehand (e.g. by inspection).&lt;br /&gt;
&lt;br /&gt;
You will need: the flashrom source, a small patch for it, and [http://git.stuge.se/?p=bucts.git the bucts utility].&lt;br /&gt;
&lt;br /&gt;
# Patch flashrom to use RES1 SPI identification and spi_chip_write_1 for your flash chip, as well as change the flash chip model id to fit the RES1 command.  &lt;br /&gt;
#: Alternatively, you can copy the existing definition first as it is done in [http://patchwork.coreboot.org/patch/3621/ this patch]. Choose either method: apply the patch in the link, or do the patch yourself, as per instruction below.&lt;br /&gt;
#* Find the definition of your flash chip in flashrom's flashchips.c&lt;br /&gt;
#* Change the .probe field to probe_spi_res1&lt;br /&gt;
#* Change the .model_id field to the RES1 ID given in the datasheet of the flash chip&lt;br /&gt;
#* Change the .write field to spi_chip_write_1&lt;br /&gt;
# Run &amp;lt;code&amp;gt;flashrom -p internal:laptop=force_I_want_a_brick -r factory.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#: This step is IMPORTANT since the factory BIOS in your machine is tied to your particular system board (or &amp;quot;planar&amp;quot; in IBM FRU terms) with a unique ID not present in factory BIOS updates.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump&amp;lt;/code&amp;gt;&lt;br /&gt;
#: Verify that the complete range is filled with ff bytes before proceeding! The above command must output:&lt;br /&gt;
#: &amp;lt;code&amp;gt;0000000 ffff ffff ffff ffff ffff ffff ffff ffff&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;0010000&amp;lt;/code&amp;gt;&lt;br /&gt;
#: If this is not the case, the coreboot image needs to be rebuilt with the second-to-last 64kbyte block unused.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;bucts 1&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;flashrom -p internal:laptop=force_I_want_a_brick -w coreboot.rom&amp;lt;/code&amp;gt;&lt;br /&gt;
#: This will be slow, it will output errors for addresses 0x0 and 0x1f0000 when working with a 2 Mbyte flash chip, and it will say &amp;quot;FAILED!&amp;quot; at the end, see [http://www.flashrom.org/pipermail/flashrom/2012-April/009121.html Peter's mail] before you panic.&lt;br /&gt;
# Power cycle the machine (i.e. a cold boot, not just a reboot), now starting with coreboot&lt;br /&gt;
# Run &amp;lt;code&amp;gt;flashrom -p internal:laptop=force_I_want_a_brick -w coreboot.rom&amp;lt;/code&amp;gt;.&lt;br /&gt;
#: This will successfully overwrite the entire flash chip, including the last 64k that were write protected with the factory BIOS.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;bucts 0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also http://thread.gmane.org/gmane.linux.bios/69354 http://thread.gmane.org/gmane.linux.bios.flashrom/575&lt;br /&gt;
&lt;br /&gt;
== Recovery ==&lt;br /&gt;
If you had a bad flash you will need a recovery method.&lt;br /&gt;
&lt;br /&gt;
If you only set bucts, then rebooted without doing any flash writes, things might be easier:&lt;br /&gt;
bucts sets a register that lives on the RTC well, ie. it is powered by the same source that keeps the clock alive. Usually that's a battery on the mainboard, and often there's some way to cut the source (by removing the battery, a jumper, or pads that can be shorted).&lt;br /&gt;
After doing that (for a few seconds, there might be some capacitors in the way that keep power stable), the register should be reset and the system should boot as normal.&lt;br /&gt;
=== Required/advised hardware and informations ===&lt;br /&gt;
* [http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/42x3550_04.pdf X60 Hardware Maintenance Manual] (for disassembling the laptop)&lt;br /&gt;
* An SO-8 IC clip, like the [http://www.tme.eu/en/details/pom-5250/test-clips/pomona/5250/ Pomona 5250] for instance.&lt;br /&gt;
* An external flashrom programmer&lt;br /&gt;
&lt;br /&gt;
=== Howto ===&lt;br /&gt;
0.  wire the pomona clip to a programmer that way:&lt;br /&gt;
&lt;br /&gt;
From the #coreboot IRC Channel on FreeNode servers:&lt;br /&gt;
 Oct 01 15:35:48 &amp;lt;CareBear\&amp;gt;     one important thing is that when you connect the clip to the X60 you should not connect all pins&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 15:36:22 &amp;lt;CareBear\&amp;gt;     only connect these pins: 1, 2, 4, 5, 6&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 15:37:21 &amp;lt;CareBear\&amp;gt;     also important: first connect charger to laptop, then connect the clip&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:49:41 &amp;lt;CareBear\&amp;gt;     GNUtoo-desktop : the mainboard must be powered off, but with the charger connected&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:50:39 &amp;lt;CareBear\&amp;gt;     um, that way there is no way anything will break&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:51:00 &amp;lt;CareBear\&amp;gt;     it is important not to connect 3v3 from the outside&lt;br /&gt;
 Oct 01 17:51:39 &amp;lt;CareBear\&amp;gt;     because the correct power sequencing is not known, and if any other rail must come on before the standby 3v3 then the machine may well break when 3v3 is applied from the outside&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:52:48 &amp;lt;CareBear\&amp;gt;     it may also be fine - but it is unknown what happens&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 01 17:53:47 &amp;lt;CareBear\&amp;gt;     not supplying 3v3 from the outside is safer&lt;br /&gt;
 Oct 01 17:54:25 &amp;lt;CareBear\&amp;gt;     and because the machine is powered off, there is no risk of the chipset accessing the flash chip&lt;br /&gt;
In another hand I didn't follow that and wired it without powering the mainboard(mainboard disconnected from power plug, no battery in) and with all pins and it worked...&lt;br /&gt;
# Disassemble carefully the laptop, the SO-8 chip is on the bottom of the mainboard...&lt;br /&gt;
# connect the pomona clip to the BIOS chip&lt;br /&gt;
# flash coreboot or the BIOS&lt;br /&gt;
# remount the laptop&lt;br /&gt;
&lt;br /&gt;
== Coreboot configuration ==&lt;br /&gt;
* It's advised to make SeaBios(instead of coreboot) run the VGA option rom by disabling CONFIG_VGA_ROM_RUN:&lt;br /&gt;
 [ ] Run VGA Option ROMs&lt;br /&gt;
in make menuconfig.&lt;br /&gt;
Note that you still need to include the option rom in coreboot:&lt;br /&gt;
 [*] Add a VGA BIOS image&lt;br /&gt;
See [[VGA_support]] for details on how to include the VGA BIOS image.&lt;br /&gt;
* Also disable CONFIG_S3_VGA_ROM_RUN which is for really old linux kernels(2.4) (which is disabled automatically if you don't select CONFIG_VGA_ROM_RUN).&lt;br /&gt;
&lt;br /&gt;
From the #coreboot IRC Channel on FreeNode servers: &lt;br /&gt;
 Oct 04 13:47:09 &amp;lt;patrickg&amp;gt;      that's about running vga init on s3 wakeup - required for some older linux kernels&lt;br /&gt;
 [...]&lt;br /&gt;
 Oct 04 13:47:25 &amp;lt;patrickg&amp;gt;      BIOSes call it &amp;quot;POST on wakeup&amp;quot; or sth like that&lt;br /&gt;
 Oct 04 13:47:30 &amp;lt;patrickg&amp;gt;      older ~ 2.4 class ;)&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
* [[Thinkpad_X60s|Thinkpad X60s Status]]&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Infrastructure_Projects</id>
		<title>Infrastructure Projects</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Infrastructure_Projects"/>
				<updated>2013-01-10T08:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: coreboot is always CBFS and tinybootblock now&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects a list of projects to improve the infrastructure of coreboot v4. Infrastructure means those parts of the code that aren't chipset or mainboard specific, but are used by all of them. The idea is to consolidate a list of things &amp;quot;to do&amp;quot; with their status and responsible developers.&lt;br /&gt;
&lt;br /&gt;
= In progress =&lt;br /&gt;
&lt;br /&gt;
== Low/High Tables ==&lt;br /&gt;
&lt;br /&gt;
SeaBIOS requires a copy of various BIOS tables outside the fseg as it overwrites that segment. Generally clean out the table generation code.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, implemented on some boards. There are problems on some chipsets/boards because of incorrect CONFIG_VIDEO_MB handling. The might be other issues, too (not clear, yet).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tested&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdfam10&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdht&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdk8&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdmct&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx1&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx2&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/lx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7501&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7520&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7525&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i440bx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82810&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82830&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i855&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i945&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on Kontron 986LCD-M and Roda RK886EX&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn400&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn700&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on VIA pc2500e.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cx700&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8601&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8623&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vx800&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan&lt;br /&gt;
&lt;br /&gt;
== Remove .c includes ==&lt;br /&gt;
&lt;br /&gt;
Currently we include lots of code in the romstage using the preprocessor. This makes it harder to support new boards (where chipset components are supported already) and maintenance in general. So we should get rid of it where possible, using the linker for CAR boards and the build system for the remaining non-CAR boards appropriately.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' CAR boards only for now, to keep the project manageable. i945 is modified already, and boards based on it have only one or two remaining source files they include. Interacts with the next project &amp;quot;Move configuration to Kconfig&amp;quot;, which ensures that code still sees all configuration when it is compiled separately.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Move configuration to Kconfig ==&lt;br /&gt;
&lt;br /&gt;
Many boards have lots of &amp;lt;code&amp;gt;#define VAR somevalue&amp;lt;/code&amp;gt; statements in their romstage.c which define how certain component drivers are compiled. With Kconfig, there's a better place to store them. This project is about moving all configuration values out of romstage.c (and other places if appropriate) and into Kconfig. &amp;lt;code&amp;gt;util/lint/lint-001-no-global-config-in-romstage&amp;lt;/code&amp;gt; helps figuring out what remains to be done.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Intel and VIA based boards should be mostly configuration free, AMD boards still have defines in their romstage. AMD/AGESA Boards have platform_cfg.h for which a solution should be found.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Unify ACPI ==&lt;br /&gt;
* Figure out generic ACPI code and deduplicate it.&lt;br /&gt;
* Fix issues like http://www.coreboot.org/pipermail/coreboot/2011-May/065179.html&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Every ACPI board has its own routines to compile the ACPI sources. Unify that.&lt;br /&gt;
&lt;br /&gt;
== CMOS handling ==&lt;br /&gt;
&lt;br /&gt;
The subprojects are ordered in a way that minimizes lost work.&lt;br /&gt;
&lt;br /&gt;
=== Done: Simplify get_option ===&lt;br /&gt;
Replace &amp;lt;code&amp;gt;get_option(VALstart, VALlen, default)&amp;lt;/code&amp;gt; with a macro that hides start/len in something like &amp;lt;code&amp;gt;get_option(VAL, default)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement a new cmos.layout format ===&lt;br /&gt;
The current layout is simple to parse, but not so simple to maintain or extend.&lt;br /&gt;
Create a format that combines the various fields into a single representation, eg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
400/8 century enum { 0x19=&amp;quot;1900&amp;quot;, 0x20=&amp;quot;2000&amp;quot;, 0x21=&amp;quot;2100&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
408/512 some_string string&lt;br /&gt;
&lt;br /&gt;
984/16 checksum checksum 392 983&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement an include statement ===&lt;br /&gt;
That way, we can have global fields (RTC, century byte), per chipset component fields (defined by northbrigde/southbridge/superio), per mainboard fields at their appropriate places.&lt;br /&gt;
&lt;br /&gt;
=== CMOS defaults ===&lt;br /&gt;
Allow (somehow) to define defaults for all CMOS fields, and create a static table from that. Use that at runtime if the CMOS checksum fails.&lt;br /&gt;
In the above format, it could simply be a suffix &amp;lt;code&amp;gt;default=VALUE&amp;lt;/code&amp;gt;&lt;br /&gt;
Also drop the &amp;quot;default&amp;quot; argument in get_options. As components have their own cmos.layout snippets, we can always take those definitions' defaults, even if mainboards don't make use of CMOS themselves.&lt;br /&gt;
&lt;br /&gt;
=== Value overrides ===&lt;br /&gt;
A chipset might provide options (eg. SATA/IDE) that a board might override (eg. because it doesn't provide IDE even if the chipset would support it). Allow the mainboard to override config options. This wouldn't just set a new default, but drop the option from CMOS entirely, hardcoding the value in the build. Some autogenerated #ifdef/#define magic might help there.&lt;br /&gt;
&lt;br /&gt;
=== Provide update paths and avoid conflicts in addressing ===&lt;br /&gt;
Research topic: How could updates to nvram configuration (eg. new fields) be handled safely, and how could we get away from carving out the CMOS memory space manually? (one proposal: http://article.gmane.org/gmane.linux.bios/64572)&lt;br /&gt;
&lt;br /&gt;
Simple solution: Add smarts to flashrom: When running from coreboot, it has current cmos.layout and the table, as well as the new cmos.layout (and the new defaults). Take new defaults, fill up with current settings, and write the result to CMOS. This provides automatic values for new configuration options.&lt;br /&gt;
&lt;br /&gt;
=== Checksums ===&lt;br /&gt;
&lt;br /&gt;
The Linux kernel driver expects a non-inverted CMOS checksum for the &amp;quot;PC&amp;quot; area. coreboot inverts this checksum, which makes nvram unusable for the driver. This should be fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global variables ==&lt;br /&gt;
&lt;br /&gt;
* Make use of global variables where appropriate.&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Provide v3 style global variables framework&lt;br /&gt;
&lt;br /&gt;
= More ideas =&lt;br /&gt;
&lt;br /&gt;
== Unify UMA / onboard video code and config ==&lt;br /&gt;
&lt;br /&gt;
Unify CONFIG_VIDEO_MB, CONFIG_GFXUMA, and similar options and make all code honor them.&lt;br /&gt;
&lt;br /&gt;
== Add / Unify / Test kconfig compile-time options and runtime CMOS options in coreboot ==&lt;br /&gt;
&lt;br /&gt;
Some coreboot options are compile-time configurable only at the moment (via kconfig), but should also be runtime-configurable via CMOS/NVRAM options. We should fix this.&lt;br /&gt;
&lt;br /&gt;
* Make all options (where it makes sense) run-time configurable via CMOS options, in addition to having sane compile-time defaults configured via kconfig.&lt;br /&gt;
* This includes many options which are northbridge-specific, many southbridge-specific, and some board-specific ones.&lt;br /&gt;
* Example options: Enable/disable IDE channel(s) / SATA / USB / SCSI / etc., enable/disable UDMA on older boards, amount of memory used for IGP/UMA, choice between IDE or NAND flash (on CS5536 boards), IDE 40/80 pin cable selection (VT8237R boards for example), and many more.&lt;br /&gt;
* Some of these options are already handled in the code via CMOS options, some are compile-time only so far, so do not yet exist at all.&lt;br /&gt;
&lt;br /&gt;
== Kconfig TODO ==&lt;br /&gt;
&lt;br /&gt;
Notes / Style guide:&lt;br /&gt;
&lt;br /&gt;
* Any bool variables that are (re-)defined to 'y' in Kconfig files can be simplified by using '''select FOO''' instead of the usual paragraph, as long as they're defined globally as '''default n''' boolean elsewhere.&lt;br /&gt;
* Use '''bool''' instead of '''boolean'''.&lt;br /&gt;
* Use '''default n''' instead of '''default false'''.&lt;br /&gt;
&lt;br /&gt;
Various post-conversion things to consider:&lt;br /&gt;
&lt;br /&gt;
* Consider ways to move crt0-y and ldscript-y out of $(src)/arch/i386/Makefile.inc where appropriate (ie. component specific)&lt;br /&gt;
* Make various CONFIG_* variable which were in each board's Kconfig file global or per-chipset options (instead of per-board). Examples:&lt;br /&gt;
** UDELAY_TSC, TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 (also check UDELAY_IO, APIC, etc.)&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
Stuff to port from v3 to v4:&lt;br /&gt;
&lt;br /&gt;
* All boards that are in v3 but not in v4 (especially Geode LX stuff. Also check amd/model_gx*).&lt;br /&gt;
* Some remaining useful Kconfig options.&lt;br /&gt;
&lt;br /&gt;
== Clean up Assembler / Linker mess ==&lt;br /&gt;
&lt;br /&gt;
* Drop / combine / normalize .ld/.lb/.lds linker scripts.&lt;br /&gt;
* Move them to a common place.&lt;br /&gt;
* Drop / combine / normalize .inc / .S files.&lt;br /&gt;
&lt;br /&gt;
== Geode issues ==&lt;br /&gt;
&lt;br /&gt;
* Fix / Unify vsmsetup.c.&lt;br /&gt;
* Fix CS5535/CS5536/GX2/LX &amp;quot;chipsetinit&amp;quot; issue.&lt;br /&gt;
* Convert openvsa from MASM to something gnu as can use ( Or use JWasm as intermediate solution (it can compile MASM code) http://www.japheth.de/JWasm.html )&lt;br /&gt;
&lt;br /&gt;
== Stack and Suspend/Resume ==&lt;br /&gt;
&lt;br /&gt;
* Use CONFIG_RAMBASE + HIGH_MEMORY_SAFE instead of 0x40000 for stack.&lt;br /&gt;
&lt;br /&gt;
== Fix Suspend/Resume on AMD64 ==&lt;br /&gt;
&lt;br /&gt;
* Use cbmem in romstage on the AMD64 board(s) that have suspend/resume.&lt;br /&gt;
&lt;br /&gt;
== Clear phases in romstage ==&lt;br /&gt;
&lt;br /&gt;
* Split up the code (esp. in romstage) into more sensibly separated phases.&lt;br /&gt;
* Maybe use v3 for inspiration where the lines can be drawn.&lt;br /&gt;
&lt;br /&gt;
== Refactor SMBUS code ==&lt;br /&gt;
&lt;br /&gt;
We have tons of duplication in the smbus/spd related functions and #defines. Every chipset (and sometimes board) does the same with the exception of the 2 or 3 boards that multiplex spd roms.&lt;br /&gt;
* Deduplicate SMBUS related defines, they're virtually everywhere (and all the same)&lt;br /&gt;
* Deduplicate the lowlevel functions - they should really be the same (except for some style differences)&lt;br /&gt;
* Deduplicate the non-multiplexing highlevel functions. Mark them weak, so multiplexing boards can simply provide their own variant, which override the weak functions automatically&lt;br /&gt;
&lt;br /&gt;
== Move all registers/chip definitions in XML format for all tools ==&lt;br /&gt;
&lt;br /&gt;
For easy creating definitions of new chips, or editing old register definitions, improve readability support, and add support for humanless parsing the logs we decide move all data for msrtool, inteltool, superiotool, etc in XML-based format. See here: [[XML]]&lt;br /&gt;
&lt;br /&gt;
== Device dependency engine ==&lt;br /&gt;
&lt;br /&gt;
We have a couple of places where we want to disable (or otherwise reconfigure) a device if another one is active: SATA and IDE covering the same ports, integrated graphics / plugin video cards, ...&lt;br /&gt;
Right now, such things are done &amp;quot;somewhere&amp;quot;, usually far away from any meaningful context. This idea isn't as actionable as the others as it's still missing even a sketch of a design.&lt;br /&gt;
&lt;br /&gt;
* Find a good place (or multiple places) where such device decisions can be made&lt;br /&gt;
* Refactor the code to make use of it&lt;br /&gt;
&lt;br /&gt;
== Clean out duplicates ==&lt;br /&gt;
&lt;br /&gt;
Tools like http://duplo.giants.ch/ or http://pmd.sourceforge.net/cpd.html might be able to help finding duplicates that can be factored out.&lt;br /&gt;
&lt;br /&gt;
== CONFIG_MAX_PHYSICAL_CPUS ==&lt;br /&gt;
&lt;br /&gt;
CONFIG_MAX_PHYSICAL_CPUS should be dropped. It's set for all boards, but it's only really used by AMD K8 and newer systems (and not on Intel based systems at all).&lt;br /&gt;
In the AMD code it is used wrongly:&lt;br /&gt;
&lt;br /&gt;
* for determining which SPD offsets to include&lt;br /&gt;
* to determine APIC IDs&lt;br /&gt;
* possibly some more things&lt;br /&gt;
&lt;br /&gt;
== Add a config for selecting a SeaBIOS git revision ==&lt;br /&gt;
Currently there is only the choice between coreboot master and the lastest stable revision.&lt;br /&gt;
&lt;br /&gt;
= Finished =&lt;br /&gt;
&lt;br /&gt;
== Port v3 Resource Allocator ==&lt;br /&gt;
&lt;br /&gt;
The v3 resource allocator should be ported to v4.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream. It's limited to one area for resources, that doesn't overlap with fixed resources.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Myles&lt;br /&gt;
&lt;br /&gt;
== Config &amp;amp; Build System ==&lt;br /&gt;
&lt;br /&gt;
The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow. Use kconfig to improve the configuration management.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, boards are converted. Old system is gone. All boards build. HOWEVER, not all boards have been boot-tested yet, please report any issues you encounter!&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Uwe, Cristi&lt;br /&gt;
&lt;br /&gt;
== Unify text printing functions ==&lt;br /&gt;
&lt;br /&gt;
There are several copies of print_* and printk_* in the code. Unify them so everything is happier than before (because the disjoint features are merged).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Stefan&lt;br /&gt;
&lt;br /&gt;
== Common payload location ==&lt;br /&gt;
&lt;br /&gt;
Many boards have different names for the payload in targets/.../Config.lb (payload.elf, filo.elf, etherboot.elf, etc) and locations (../payload.elf, or various absolute paths which only work for one developer). The problem will be fixed with kconfig, where the user specifies a payload manually in &amp;quot;make menuconfig&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
== Fix ALL build warnings ==&lt;br /&gt;
&lt;br /&gt;
* Someone has to do the deed.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, the build usually issues no warnings. If you see warnings/errors, please report a bug.&lt;br /&gt;
&lt;br /&gt;
== Post codes ==&lt;br /&gt;
&lt;br /&gt;
Find all outb(x, 0x80) and replace them with post_code(). Use common numbers / defines across the boards.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, except for some local delay routines in early smbus code.&lt;br /&gt;
&lt;br /&gt;
== Use central oprom init ==&lt;br /&gt;
&lt;br /&gt;
* Get rid of all vgabios.c, make all chipsets with own vgabios.c use devices/oprom/x86.c.&lt;br /&gt;
* Use the realmode code for vsmsetup too.&lt;br /&gt;
&lt;br /&gt;
== Use nvramtool for static option table creation ==&lt;br /&gt;
&lt;br /&gt;
Instead of maintaining two tools (build_opt_tbl, nvramtool), maintain only one. This mostly requires adding an binary output writer to nvramtool, a cmos.layout parser already exists.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, upstream.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Vikram&lt;br /&gt;
&lt;br /&gt;
== Local APIC addresses ==&lt;br /&gt;
&lt;br /&gt;
There are several defines in several places that describe the local APIC address:&lt;br /&gt;
&lt;br /&gt;
* LAPIC_ADDR&lt;br /&gt;
* LOCAL_APIC_ADDR (even twice)&lt;br /&gt;
* LAPIC_DEFAULT_BASE&lt;br /&gt;
&lt;br /&gt;
This should be unified.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;br /&gt;
&lt;br /&gt;
== printk into buffer ==&lt;br /&gt;
&lt;br /&gt;
Port the v3 feature that printk can write into a buffer (that might be usable from the client OS, or dumped to output, as soon as output exists).&lt;br /&gt;
&lt;br /&gt;
Consider use cases first (no need to provide buffer support, if all it would be useful for is buffering pre-CAR messages - which can't be buffered).&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' ChromiumOS Team&lt;br /&gt;
&lt;br /&gt;
== USB Debug Console ==&lt;br /&gt;
&lt;br /&gt;
Fix USB debug console and make the Kconfig choice actually work. Right now it's possible to transmit single characters but it's not really hooked up.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' SvenS&lt;br /&gt;
&lt;br /&gt;
== CBFS ==&lt;br /&gt;
&lt;br /&gt;
A filesystem-alike layout for the coreboot image, to enable systems like bayou and to clean up the system in general (eg. no more buildrom).&lt;br /&gt;
&lt;br /&gt;
'''Status:'''&lt;br /&gt;
&lt;br /&gt;
Upstream, pre-CBFS infrastructure removed.&lt;br /&gt;
&lt;br /&gt;
There are places where using CBFS might be a good idea: Everything that makes use of external files, for example the VSA code in the Geode chipset code. VSA is converted, and tested on a couple of configurations, but untested on others.&lt;br /&gt;
&lt;br /&gt;
Some boards have issues with CBFS because it requires the whole ROM to be accessible at a quite early point in time (compared to the old mechanism). The following table contains validated knowledge if the ROM mapping happens at the right time.&lt;br /&gt;
&lt;br /&gt;
All boards that manage to boot in a tinybootblock configuration are capable at least for the used ROM size (it might be that larger ROMs would fail because they require mapping the larger space)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | ROM enabled&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tiny bootblock&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status / Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amd8111&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5530&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5535&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5536&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb600&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on siemens/sitemp_g1p1 by [[User:PatrickGeorgi|PatrickGeorgi]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb700&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| broadcom/bcm5785&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/esb6300&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82371eb&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on ASUS P2B by [[User:Uwe|Uwe Hermann]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ax&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801bx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801cx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801dx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ex&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801gx&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on Kontron 986LCD-m by PatrickGeorgi&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/ck804&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/mcp55&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| sis/sis966&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8231&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8235&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8237r&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt82c686&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Myles, Uwe&lt;br /&gt;
&lt;br /&gt;
== Tiny Bootblock ==&lt;br /&gt;
&lt;br /&gt;
Right now, the decision whether to use fallback or normal is in cache_as_ram_auto.c in many boards. Make that generic again (also helps with further CBFSification at some point).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Available in Kconfig, works on a couple of boards. Requires per southbridge changes (and northbridge in some cases) on many boards (related to ROM enable, see CBFS section).&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Infrastructure_Projects</id>
		<title>Infrastructure Projects</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Infrastructure_Projects"/>
				<updated>2012-11-29T12:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: Move projects to &amp;quot;in progress&amp;quot; and &amp;quot;done&amp;quot; as appropriate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects a list of projects to improve the infrastructure of coreboot v4. Infrastructure means those parts of the code that aren't chipset or mainboard specific, but are used by all of them. The idea is to consolidate a list of things &amp;quot;to do&amp;quot; with their status and responsible developers.&lt;br /&gt;
&lt;br /&gt;
= In progress =&lt;br /&gt;
&lt;br /&gt;
== Low/High Tables ==&lt;br /&gt;
&lt;br /&gt;
SeaBIOS requires a copy of various BIOS tables outside the fseg as it overwrites that segment. Generally clean out the table generation code.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, implemented on some boards. There are problems on some chipsets/boards because of incorrect CONFIG_VIDEO_MB handling. The might be other issues, too (not clear, yet).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tested&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdfam10&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdht&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdk8&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdmct&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx1&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx2&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/lx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7501&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7520&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7525&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i440bx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82810&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82830&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i855&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i945&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on Kontron 986LCD-M and Roda RK886EX&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn400&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn700&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on VIA pc2500e.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cx700&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8601&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8623&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vx800&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan&lt;br /&gt;
&lt;br /&gt;
== CBFS ==&lt;br /&gt;
&lt;br /&gt;
A filesystem-alike layout for the coreboot image, to enable systems like bayou and to clean up the system in general (eg. no more buildrom).&lt;br /&gt;
&lt;br /&gt;
'''Status:'''&lt;br /&gt;
&lt;br /&gt;
Upstream, pre-CBFS infrastructure removed.&lt;br /&gt;
&lt;br /&gt;
There are places where using CBFS might be a good idea: Everything that makes use of external files, for example the VSA code in the Geode chipset code. VSA is converted, and tested on a couple of configurations, but untested on others.&lt;br /&gt;
&lt;br /&gt;
Some boards have issues with CBFS because it requires the whole ROM to be accessible at a quite early point in time (compared to the old mechanism). The following table contains validated knowledge if the ROM mapping happens at the right time.&lt;br /&gt;
&lt;br /&gt;
All boards that manage to boot in a tinybootblock configuration are capable at least for the used ROM size (it might be that larger ROMs would fail because they require mapping the larger space)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | ROM enabled&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tiny bootblock&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status / Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amd8111&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5530&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5535&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5536&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb600&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on siemens/sitemp_g1p1 by [[User:PatrickGeorgi|PatrickGeorgi]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb700&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| broadcom/bcm5785&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/esb6300&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82371eb&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on ASUS P2B by [[User:Uwe|Uwe Hermann]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ax&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801bx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801cx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801dx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ex&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801gx&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on Kontron 986LCD-m by PatrickGeorgi&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/ck804&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/mcp55&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| sis/sis966&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8231&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8235&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8237r&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt82c686&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Myles, Uwe&lt;br /&gt;
&lt;br /&gt;
== Tiny Bootblock ==&lt;br /&gt;
&lt;br /&gt;
Right now, the decision whether to use fallback or normal is in cache_as_ram_auto.c in many boards. Make that generic again (also helps with further CBFSification at some point).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Available in Kconfig, works on a couple of boards. Requires per southbridge changes (and northbridge in some cases) on many boards (related to ROM enable, see CBFS section).&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;br /&gt;
&lt;br /&gt;
== Remove .c includes ==&lt;br /&gt;
&lt;br /&gt;
Currently we include lots of code in the romstage using the preprocessor. This makes it harder to support new boards (where chipset components are supported already) and maintenance in general. So we should get rid of it where possible, using the linker for CAR boards and the build system for the remaining non-CAR boards appropriately.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' CAR boards only for now, to keep the project manageable. i945 is modified already, and boards based on it have only one or two remaining source files they include. Interacts with the next project &amp;quot;Move configuration to Kconfig&amp;quot;, which ensures that code still sees all configuration when it is compiled separately.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Move configuration to Kconfig ==&lt;br /&gt;
&lt;br /&gt;
Many boards have lots of &amp;lt;code&amp;gt;#define VAR somevalue&amp;lt;/code&amp;gt; statements in their romstage.c which define how certain component drivers are compiled. With Kconfig, there's a better place to store them. This project is about moving all configuration values out of romstage.c (and other places if appropriate) and into Kconfig. &amp;lt;code&amp;gt;util/lint/lint-001-no-global-config-in-romstage&amp;lt;/code&amp;gt; helps figuring out what remains to be done.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Intel and VIA based boards should be mostly configuration free, AMD boards still have defines in their romstage. AMD/AGESA Boards have platform_cfg.h for which a solution should be found.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Unify ACPI ==&lt;br /&gt;
* Figure out generic ACPI code and deduplicate it.&lt;br /&gt;
* Fix issues like http://www.coreboot.org/pipermail/coreboot/2011-May/065179.html&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Every ACPI board has its own routines to compile the ACPI sources. Unify that.&lt;br /&gt;
&lt;br /&gt;
== CMOS handling ==&lt;br /&gt;
&lt;br /&gt;
The subprojects are ordered in a way that minimizes lost work.&lt;br /&gt;
&lt;br /&gt;
=== Done: Simplify get_option ===&lt;br /&gt;
Replace &amp;lt;code&amp;gt;get_option(VALstart, VALlen, default)&amp;lt;/code&amp;gt; with a macro that hides start/len in something like &amp;lt;code&amp;gt;get_option(VAL, default)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement a new cmos.layout format ===&lt;br /&gt;
The current layout is simple to parse, but not so simple to maintain or extend.&lt;br /&gt;
Create a format that combines the various fields into a single representation, eg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
400/8 century enum { 0x19=&amp;quot;1900&amp;quot;, 0x20=&amp;quot;2000&amp;quot;, 0x21=&amp;quot;2100&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
408/512 some_string string&lt;br /&gt;
&lt;br /&gt;
984/16 checksum checksum 392 983&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement an include statement ===&lt;br /&gt;
That way, we can have global fields (RTC, century byte), per chipset component fields (defined by northbrigde/southbridge/superio), per mainboard fields at their appropriate places.&lt;br /&gt;
&lt;br /&gt;
=== CMOS defaults ===&lt;br /&gt;
Allow (somehow) to define defaults for all CMOS fields, and create a static table from that. Use that at runtime if the CMOS checksum fails.&lt;br /&gt;
In the above format, it could simply be a suffix &amp;lt;code&amp;gt;default=VALUE&amp;lt;/code&amp;gt;&lt;br /&gt;
Also drop the &amp;quot;default&amp;quot; argument in get_options. As components have their own cmos.layout snippets, we can always take those definitions' defaults, even if mainboards don't make use of CMOS themselves.&lt;br /&gt;
&lt;br /&gt;
=== Value overrides ===&lt;br /&gt;
A chipset might provide options (eg. SATA/IDE) that a board might override (eg. because it doesn't provide IDE even if the chipset would support it). Allow the mainboard to override config options. This wouldn't just set a new default, but drop the option from CMOS entirely, hardcoding the value in the build. Some autogenerated #ifdef/#define magic might help there.&lt;br /&gt;
&lt;br /&gt;
=== Provide update paths and avoid conflicts in addressing ===&lt;br /&gt;
Research topic: How could updates to nvram configuration (eg. new fields) be handled safely, and how could we get away from carving out the CMOS memory space manually? (one proposal: http://article.gmane.org/gmane.linux.bios/64572)&lt;br /&gt;
&lt;br /&gt;
Simple solution: Add smarts to flashrom: When running from coreboot, it has current cmos.layout and the table, as well as the new cmos.layout (and the new defaults). Take new defaults, fill up with current settings, and write the result to CMOS. This provides automatic values for new configuration options.&lt;br /&gt;
&lt;br /&gt;
=== Checksums ===&lt;br /&gt;
&lt;br /&gt;
The Linux kernel driver expects a non-inverted CMOS checksum for the &amp;quot;PC&amp;quot; area. coreboot inverts this checksum, which makes nvram unusable for the driver. This should be fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global variables ==&lt;br /&gt;
&lt;br /&gt;
* Make use of global variables where appropriate.&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Provide v3 style global variables framework&lt;br /&gt;
&lt;br /&gt;
= More ideas =&lt;br /&gt;
&lt;br /&gt;
== Unify UMA / onboard video code and config ==&lt;br /&gt;
&lt;br /&gt;
Unify CONFIG_VIDEO_MB, CONFIG_GFXUMA, and similar options and make all code honor them.&lt;br /&gt;
&lt;br /&gt;
== Add / Unify / Test kconfig compile-time options and runtime CMOS options in coreboot ==&lt;br /&gt;
&lt;br /&gt;
Some coreboot options are compile-time configurable only at the moment (via kconfig), but should also be runtime-configurable via CMOS/NVRAM options. We should fix this.&lt;br /&gt;
&lt;br /&gt;
* Make all options (where it makes sense) run-time configurable via CMOS options, in addition to having sane compile-time defaults configured via kconfig.&lt;br /&gt;
* This includes many options which are northbridge-specific, many southbridge-specific, and some board-specific ones.&lt;br /&gt;
* Example options: Enable/disable IDE channel(s) / SATA / USB / SCSI / etc., enable/disable UDMA on older boards, amount of memory used for IGP/UMA, choice between IDE or NAND flash (on CS5536 boards), IDE 40/80 pin cable selection (VT8237R boards for example), and many more.&lt;br /&gt;
* Some of these options are already handled in the code via CMOS options, some are compile-time only so far, so do not yet exist at all.&lt;br /&gt;
&lt;br /&gt;
== Kconfig TODO ==&lt;br /&gt;
&lt;br /&gt;
Notes / Style guide:&lt;br /&gt;
&lt;br /&gt;
* Any bool variables that are (re-)defined to 'y' in Kconfig files can be simplified by using '''select FOO''' instead of the usual paragraph, as long as they're defined globally as '''default n''' boolean elsewhere.&lt;br /&gt;
* Use '''bool''' instead of '''boolean'''.&lt;br /&gt;
* Use '''default n''' instead of '''default false'''.&lt;br /&gt;
&lt;br /&gt;
Various post-conversion things to consider:&lt;br /&gt;
&lt;br /&gt;
* Consider ways to move crt0-y and ldscript-y out of $(src)/arch/i386/Makefile.inc where appropriate (ie. component specific)&lt;br /&gt;
* Make various CONFIG_* variable which were in each board's Kconfig file global or per-chipset options (instead of per-board). Examples:&lt;br /&gt;
** UDELAY_TSC, TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 (also check UDELAY_IO, APIC, etc.)&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
Stuff to port from v3 to v4:&lt;br /&gt;
&lt;br /&gt;
* All boards that are in v3 but not in v4 (especially Geode LX stuff. Also check amd/model_gx*).&lt;br /&gt;
* Some remaining useful Kconfig options.&lt;br /&gt;
&lt;br /&gt;
== Clean up Assembler / Linker mess ==&lt;br /&gt;
&lt;br /&gt;
* Drop / combine / normalize .ld/.lb/.lds linker scripts.&lt;br /&gt;
* Move them to a common place.&lt;br /&gt;
* Drop / combine / normalize .inc / .S files.&lt;br /&gt;
&lt;br /&gt;
== Geode issues ==&lt;br /&gt;
&lt;br /&gt;
* Fix / Unify vsmsetup.c.&lt;br /&gt;
* Fix CS5535/CS5536/GX2/LX &amp;quot;chipsetinit&amp;quot; issue.&lt;br /&gt;
* Convert openvsa from MASM to something gnu as can use ( Or use JWasm as intermediate solution (it can compile MASM code) http://www.japheth.de/JWasm.html )&lt;br /&gt;
&lt;br /&gt;
== Stack and Suspend/Resume ==&lt;br /&gt;
&lt;br /&gt;
* Use CONFIG_RAMBASE + HIGH_MEMORY_SAFE instead of 0x40000 for stack.&lt;br /&gt;
&lt;br /&gt;
== Fix Suspend/Resume on AMD64 ==&lt;br /&gt;
&lt;br /&gt;
* Use cbmem in romstage on the AMD64 board(s) that have suspend/resume.&lt;br /&gt;
&lt;br /&gt;
== Clear phases in romstage ==&lt;br /&gt;
&lt;br /&gt;
* Split up the code (esp. in romstage) into more sensibly separated phases.&lt;br /&gt;
* Maybe use v3 for inspiration where the lines can be drawn.&lt;br /&gt;
&lt;br /&gt;
== Refactor SMBUS code ==&lt;br /&gt;
&lt;br /&gt;
We have tons of duplication in the smbus/spd related functions and #defines. Every chipset (and sometimes board) does the same with the exception of the 2 or 3 boards that multiplex spd roms.&lt;br /&gt;
* Deduplicate SMBUS related defines, they're virtually everywhere (and all the same)&lt;br /&gt;
* Deduplicate the lowlevel functions - they should really be the same (except for some style differences)&lt;br /&gt;
* Deduplicate the non-multiplexing highlevel functions. Mark them weak, so multiplexing boards can simply provide their own variant, which override the weak functions automatically&lt;br /&gt;
&lt;br /&gt;
== Move all registers/chip definitions in XML format for all tools ==&lt;br /&gt;
&lt;br /&gt;
For easy creating definitions of new chips, or editing old register definitions, improve readability support, and add support for humanless parsing the logs we decide move all data for msrtool, inteltool, superiotool, etc in XML-based format. See here: [[XML]]&lt;br /&gt;
&lt;br /&gt;
== Device dependency engine ==&lt;br /&gt;
&lt;br /&gt;
We have a couple of places where we want to disable (or otherwise reconfigure) a device if another one is active: SATA and IDE covering the same ports, integrated graphics / plugin video cards, ...&lt;br /&gt;
Right now, such things are done &amp;quot;somewhere&amp;quot;, usually far away from any meaningful context. This idea isn't as actionable as the others as it's still missing even a sketch of a design.&lt;br /&gt;
&lt;br /&gt;
* Find a good place (or multiple places) where such device decisions can be made&lt;br /&gt;
* Refactor the code to make use of it&lt;br /&gt;
&lt;br /&gt;
== Clean out duplicates ==&lt;br /&gt;
&lt;br /&gt;
Tools like http://duplo.giants.ch/ or http://pmd.sourceforge.net/cpd.html might be able to help finding duplicates that can be factored out.&lt;br /&gt;
&lt;br /&gt;
== CONFIG_MAX_PHYSICAL_CPUS ==&lt;br /&gt;
&lt;br /&gt;
CONFIG_MAX_PHYSICAL_CPUS should be dropped. It's set for all boards, but it's only really used by AMD K8 and newer systems (and not on Intel based systems at all).&lt;br /&gt;
In the AMD code it is used wrongly:&lt;br /&gt;
&lt;br /&gt;
* for determining which SPD offsets to include&lt;br /&gt;
* to determine APIC IDs&lt;br /&gt;
* possibly some more things&lt;br /&gt;
&lt;br /&gt;
== Add a config for selecting a SeaBIOS git revision ==&lt;br /&gt;
Currently there is only the choice between coreboot master and the lastest stable revision.&lt;br /&gt;
&lt;br /&gt;
= Finished =&lt;br /&gt;
&lt;br /&gt;
== Port v3 Resource Allocator ==&lt;br /&gt;
&lt;br /&gt;
The v3 resource allocator should be ported to v4.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream. It's limited to one area for resources, that doesn't overlap with fixed resources.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Myles&lt;br /&gt;
&lt;br /&gt;
== Config &amp;amp; Build System ==&lt;br /&gt;
&lt;br /&gt;
The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow. Use kconfig to improve the configuration management.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, boards are converted. Old system is gone. All boards build. HOWEVER, not all boards have been boot-tested yet, please report any issues you encounter!&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Uwe, Cristi&lt;br /&gt;
&lt;br /&gt;
== Unify text printing functions ==&lt;br /&gt;
&lt;br /&gt;
There are several copies of print_* and printk_* in the code. Unify them so everything is happier than before (because the disjoint features are merged).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Stefan&lt;br /&gt;
&lt;br /&gt;
== Common payload location ==&lt;br /&gt;
&lt;br /&gt;
Many boards have different names for the payload in targets/.../Config.lb (payload.elf, filo.elf, etherboot.elf, etc) and locations (../payload.elf, or various absolute paths which only work for one developer). The problem will be fixed with kconfig, where the user specifies a payload manually in &amp;quot;make menuconfig&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
== Fix ALL build warnings ==&lt;br /&gt;
&lt;br /&gt;
* Someone has to do the deed.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, the build usually issues no warnings. If you see warnings/errors, please report a bug.&lt;br /&gt;
&lt;br /&gt;
== Post codes ==&lt;br /&gt;
&lt;br /&gt;
Find all outb(x, 0x80) and replace them with post_code(). Use common numbers / defines across the boards.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, except for some local delay routines in early smbus code.&lt;br /&gt;
&lt;br /&gt;
== Use central oprom init ==&lt;br /&gt;
&lt;br /&gt;
* Get rid of all vgabios.c, make all chipsets with own vgabios.c use devices/oprom/x86.c.&lt;br /&gt;
* Use the realmode code for vsmsetup too.&lt;br /&gt;
&lt;br /&gt;
== Use nvramtool for static option table creation ==&lt;br /&gt;
&lt;br /&gt;
Instead of maintaining two tools (build_opt_tbl, nvramtool), maintain only one. This mostly requires adding an binary output writer to nvramtool, a cmos.layout parser already exists.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, upstream.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Vikram&lt;br /&gt;
&lt;br /&gt;
== Local APIC addresses ==&lt;br /&gt;
&lt;br /&gt;
There are several defines in several places that describe the local APIC address:&lt;br /&gt;
&lt;br /&gt;
* LAPIC_ADDR&lt;br /&gt;
* LOCAL_APIC_ADDR (even twice)&lt;br /&gt;
* LAPIC_DEFAULT_BASE&lt;br /&gt;
&lt;br /&gt;
This should be unified.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;br /&gt;
&lt;br /&gt;
== printk into buffer ==&lt;br /&gt;
&lt;br /&gt;
Port the v3 feature that printk can write into a buffer (that might be usable from the client OS, or dumped to output, as soon as output exists).&lt;br /&gt;
&lt;br /&gt;
Consider use cases first (no need to provide buffer support, if all it would be useful for is buffering pre-CAR messages - which can't be buffered).&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' ChromiumOS Team&lt;br /&gt;
&lt;br /&gt;
== USB Debug Console ==&lt;br /&gt;
&lt;br /&gt;
Fix USB debug console and make the Kconfig choice actually work. Right now it's possible to transmit single characters but it's not really hooked up.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' SvenS&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Supported_Motherboards</id>
		<title>Supported Motherboards</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Supported_Motherboards"/>
				<updated>2012-10-13T09:12:55Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Motherboards supported in coreboot v4 */ Filled in EPIA MII data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
See the page [[Confirmed working svn revisions]] for a table of which revision to start testing with on your particular mainboard. Click on the Status column bellow to learn more info about the board.&lt;br /&gt;
&lt;br /&gt;
'''coreboot v4''' is the current stable coreboot tree recommended for productive use and for porting new boards. For AMD Geode LX targets, '''coreboot v3''' might be better than coreboot v4 in some minor aspects, but most features should be ported to v4 by now.&lt;br /&gt;
* If a mainboard is not supported by coreboot v4, try [[Supported_Motherboards#Motherboards_supported_in_coreboot_v1|checking coreboot v1]] or [[Supported_Motherboards#Motherboards_supported_in_coreboot_v3|coreboot v3]] for support.&lt;br /&gt;
* However, in general it is '''not'''  recommended to use coreboot v3 &amp;amp;mdash; this was an experimental development tree which is gradually being merged into v4.&lt;br /&gt;
* Also, coreboot v1 should be avoided (if v4 can be used instead for your board), as it has been unmaintained for a long time. It is definately desirable to port boards from v1 to v4 whereever possible.&lt;br /&gt;
&lt;br /&gt;
See also [[Supported Chipsets and Devices|Supported Chipsets &amp;amp; Devices]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''Warning''': here, &amp;quot;supported&amp;quot; means someone got it to work.  It is not a guarantee that coreboot will successfully boot on any particular device.  You should only compile and flash coreboot if you are prepared to deal with your device being bricked.  That means having an [[Developer Manual/Tools|external programmer]] and possibly a soldering iron.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; align=&amp;quot;right&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
'''Color Legend'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | Motherboard is work in progress, unfinished, or on hold.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Motherboard mostly works, but some issues remain.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Motherboard is fully supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Motherboards supported in coreboot v4 ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Mainboard&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Northbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Southbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Super&amp;amp;nbsp;I/O&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | CPU&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Socket&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;ROM chip package&amp;quot;&amp;gt;ROM&amp;amp;nbsp;&amp;lt;sup&amp;gt;35&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;ROM chip protocol&amp;quot;&amp;gt;P&amp;amp;nbsp;&amp;lt;sup&amp;gt;36&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;ROM chip socketed?&amp;quot;&amp;gt;S&amp;amp;nbsp;&amp;lt;sup&amp;gt;37&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;Board supported by Flashrom?&amp;quot;&amp;gt;F&amp;amp;nbsp;&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;Vendor Cooperation Score&amp;quot;&amp;gt;VCS&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | &amp;lt;h4&amp;gt;Desktops / Workstations&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Abit&lt;br /&gt;
| [http://www.abit.com.tw/page/en/motherboard/motherboard_detail.php?pMODEL_NAME=BE6-II+V2.0&amp;amp;fMTYPE=Slot+1 Abit BE6-II V2.0]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977EF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Arima&lt;br /&gt;
| [http://www.advantech.com.tw/epc/newsletter/v27-07-01_00/PCM-5820.htm PCM 5820]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Advantech_PCM-5820|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;CS5530&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977F&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| -&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| ?&lt;br /&gt;
| Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| ASRock&lt;br /&gt;
| [http://www.asrock.com/mb/overview.asp?Model=939A785GMH/128M&amp;amp;s=939 939A785GMH/128M]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASRock 939A785GMH-128M|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;RS785/SB710&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627DHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket 939&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com.tw/products.aspx?l1=3&amp;amp;l2=15&amp;amp;l3=171&amp;amp;l4=0&amp;amp;model=455&amp;amp;modelmenu=2 A8N-E]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS A8N-E|OK...]]&amp;lt;sup&amp;gt;25&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;CK804&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;939&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/product.aspx?P_ID=J9FKa8z2xVId3pDK A8N-SLI]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS_A8N-SLI|OK...]]&amp;lt;sup&amp;gt;25&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;CK804&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;939&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/products.aspx?modelmenu=1&amp;amp;model=596&amp;amp;l1=3&amp;amp;l2=15&amp;amp;l3=207 A8N5X]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS A8N5X|OK...]]&amp;lt;sup&amp;gt;25&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;CK804&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;939&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com.tw/products.aspx?l1=3&amp;amp;l2=15&amp;amp;l3=143&amp;amp;l4=0&amp;amp;model=576&amp;amp;modelmenu=1 A8V-E SE]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS A8V-E SE|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| VIA&amp;amp;nbsp;K8T890 / VT8237R&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;939&lt;br /&gt;
| PLCC&lt;br /&gt;
| LPC&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com.tw/products.aspx?l1=3&amp;amp;l2=15&amp;amp;l3=143&amp;amp;l4=0&amp;amp;model=376&amp;amp;modelmenu=1 A8V-E Deluxe]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS A8V-E Deluxe|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| VIA&amp;amp;nbsp;K8T890 / VT8237R&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;939&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/products.aspx?l1=3&amp;amp;l2=101&amp;amp;l3=496&amp;amp;l4=0&amp;amp;model=1568&amp;amp;modelmenu=1 M2A-VM]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS M2A-VM|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;690G&lt;br /&gt;
| ATI&amp;amp;nbsp;SB600&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8716F&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2(+)&lt;br /&gt;
| PLCC&lt;br /&gt;
| LPC&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/product.aspx?P_ID=NFlvt10av3F7ayQ9 M2N-E]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS M2N-E|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;MCP55&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8716F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2 / Phenom&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| PLCC&lt;br /&gt;
| LPC&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/product.aspx?P_ID=OqYlEDFfF6ZqZGvp M2V]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS M2V|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| VIA&amp;amp;nbsp;K8T890CF / VT8237A&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| PLCC&lt;br /&gt;
| LPC&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/products.aspx?l1=3&amp;amp;l2=101&amp;amp;l3=324&amp;amp;l4=0&amp;amp;model=1807&amp;amp;modelmenu=1 M2V-MX SE]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS M2V-MX SE|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| VIA&amp;amp;nbsp;K8M890 / VT8237S&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/product.aspx?P_ID=ef0qgvMIwOUagAVl M4A785-M]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[ASUS M4A785-M|WIP...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;RS780/SB700&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM3/AM2(+)&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/Motherboards/AMD_AM3/M4A785TM/ M4A785T-M]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS M4A785T-M|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;RS780/SB700&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM3&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/Motherboards/AMD_AM3/M4A78LTM/ M4A78LT-M]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | [[ASUS M4A78LT-M|WIP...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;RS780/SB700&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM3&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/product.aspx?P_ID=0KyowHKUFAQqH2DO M4A78-EM]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS M4A78-EM|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;RS780/SB700&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM3/AM2(+)&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.com/Motherboards/AMD_AM3Plus/M5A88V_EVO/ M5A88-V]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS M5A88V|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;880G/850&lt;br /&gt;
| ITE&amp;amp;trade;&amp;amp;nbsp;IT8721F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;Phenom&amp;amp;trade;Sempron&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM3/AM3+&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| MEDION2001&lt;br /&gt;
| &amp;lt;span title=&amp;quot;VIA Apollo Pro133A&amp;quot;&amp;gt;VIA VT82C694X&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | [[ASUS MEDION2001|WIP...]]&lt;br /&gt;
| VIA VT82C686A&lt;br /&gt;
| integrated&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;,&amp;amp;nbsp;VIA&amp;amp;nbsp;C3&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [ftp://ftp.asus.com.tw/pub/ASUS/mb/sock370/810/mew-am/ MEW-AM]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS MEW-AM|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82810&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801AA&amp;amp;nbsp;(ICH)&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;LPC47B272&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.elhvb.com/mboards/OEM/HP/manual/ASUS%20MEW-VM.htm MEW-VM]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&amp;lt;sup&amp;gt;28&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82810&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801AA&amp;amp;nbsp;(ICH)&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;LPC47B272&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p2b/ P2B]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS P2B|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p2b-f/ P2B-F]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS P2B-F|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977EF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p2b-d/ P2B-D]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS P2B-D|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| 2x Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p2b-ds/ P2B-DS]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS P2B-DS|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| 2x Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p2b-ls/ P2B-LS]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS P2B-LS|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977EF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [ftp://ftp.asus.com.tw/pub/ASUS/mb/slot1/440bx/p3b-f/ P3B-F]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASUS P3B-F|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977EF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| A-Trend&lt;br /&gt;
| [http://www.motherboard.cz/mb/atrend/atc6220.htm ATC-6220]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[A-Trend ATC-6220|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| A-Trend&lt;br /&gt;
| [http://active-hardware.com/english/reviews/mainboard/atc6240.htm ATC-6240]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Avalue&lt;br /&gt;
| [http://www.avalue.com.tw/products/EAX-785E.cfm EAX-785E]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Avalue_EAX_785E|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Family 10h&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;RS785E(RS880M)/SB850M&lt;br /&gt;
| Nuvoton&amp;amp;trade;&amp;amp;nbsp;W83627DHG-P FINTEK&amp;amp;trade;&amp;amp;nbsp;F81216AD&lt;br /&gt;
| AMD&amp;amp;nbsp;Phenom II&amp;amp;trade;&amp;amp;nbsp;&lt;br /&gt;
| AM3&lt;br /&gt;
| SOIC-8&lt;br /&gt;
| SPI&lt;br /&gt;
| N&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| AZZA&lt;br /&gt;
| [http://web.tiscali.it/acorp/?http://web.archive.org/web/20050426181911/http://web.tiscali.it/acorp/mobo_spec/azza/pt-6ibd/pt-6ibd.htm PT-6IBD]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[AZZA PT-6IBD|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977EF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Biostar&lt;br /&gt;
| [http://www.motherboard.cz/mb/biostar/M6TBA.htm M6TBA]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Biostar M6TBA|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| SMSC&amp;amp;nbsp;FDC37M60x&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Compaq&lt;br /&gt;
| Deskpro EN SFF P600&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| NSC&amp;amp;nbsp;PC97307&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| DFI&lt;br /&gt;
| P2XLX&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[DFI P2XLX|WIP]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440LX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| ECS&lt;br /&gt;
| [http://www.ecs.com.tw/ECSWebSite/Product/Product_Detail.aspx?CategoryID=1&amp;amp;DetailID=95&amp;amp;DetailName=Feature&amp;amp;MenuID=24&amp;amp;LanID=4 P6IWP-Fe]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ECS P6IWP-Fe|OK]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82810&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801AA&amp;amp;nbsp;(ICH)&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| PLCC&lt;br /&gt;
| FWH&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| GIGABYTE&lt;br /&gt;
| [http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ProductID=1445 GA-6BXC]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[GIGABYTE GA-6BXC|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8671F&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| &amp;amp;mdash;| GIGABYTE&lt;br /&gt;
| [http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ProductID=1430 GA-6BXE]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[GIGABYTE GA-6BXE|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8671F&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| GIGABYTE&lt;br /&gt;
| [http://www.computerbase.de/news/hardware/mainboards/amd-systeme/2007/mai/gigabyte_dtx-mainboard/ GA-2761GXDK] (Churchill)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[GIGABYTE GA-2761GXDK|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| SiS761GX/SiS966&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8716F&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2 (?)&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| GIGABYTE&lt;br /&gt;
| [http://www.gigabyte.com.tw/Products/Motherboard/Products_Overview.aspx?ProductID=2287&amp;amp;ModelName=GA-M57SLI-S4 GA-M57SLI-S4]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[GIGABYTE GA-M57SLI-S4|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;MCP55&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8716F&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow; text-align:center&amp;quot; | [[Gigabyte m57sli Vendor Cooperation Score|3]]&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| GIGABYTE&lt;br /&gt;
| [http://www.gigabyte.com/products/product-page.aspx?pid=3274 GA-MA785GMT-UD2H]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[GIGABYTE GA-MA785GMT-UD2H|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD 785G / SB710&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8718F&lt;br /&gt;
| AMD&amp;amp;nbsp;Phenom&amp;amp;trade;&amp;amp;nbsp;II / Athlon&amp;amp;trade;&amp;amp;nbsp;II&lt;br /&gt;
| Socket&amp;amp;nbsp;AM3&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| GIGABYTE&lt;br /&gt;
| [http://www.gigabyte.com/products/product-page.aspx?pid=2995 GA-MA78GM-US2H]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD 780G / SB700&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8718F&lt;br /&gt;
| AMD&amp;amp;nbsp;Phenom&amp;amp;trade; / Athlon&amp;amp;trade; / Sempron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2+&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| HP&lt;br /&gt;
| e-Vectra P2706T&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;nbsp;82810E&lt;br /&gt;
| Intel&amp;amp;nbsp;82801AA (ICH)&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87364&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| PGA370&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| [http://support.gateway.com/s/MOTHERBD/INTEL/2514906/2514906nv.shtml D810E2CB]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Intel D810E2CB|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82810E&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801BA&amp;amp;nbsp;(ICH2)&lt;br /&gt;
| SMSC&amp;amp;nbsp;LPC47M102&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| PLCC&lt;br /&gt;
| FWH&lt;br /&gt;
| N&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| [http://www.intel.com/Products/Desktop/Motherboards/D945GCLF/D945GCLF-overview.htm D945GCLF]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | WIP&amp;lt;sup&amp;gt;44&amp;lt;sup&amp;gt;&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;945GC&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801GB&amp;amp;nbsp;(ICH7)&lt;br /&gt;
| SMSC&amp;amp;nbsp;LPC47M15x&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Atom&amp;amp;trade;&amp;amp;nbsp;230&lt;br /&gt;
| Socket&amp;amp;nbsp;441&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Jetway&lt;br /&gt;
| [http://www.jetway.com.tw/jw/motherboard_view.asp?productid=567&amp;amp;proname=PA78VM5 PA78VM5]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Jetway PA78VM5|OK...]]&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;RS780/SB700&lt;br /&gt;
| Fintek&amp;amp;nbsp;F71863FG&lt;br /&gt;
| ?&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2(+)&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Lanner&lt;br /&gt;
| em8510&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Lanner em8510|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;I855&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;I82801DX&lt;br /&gt;
| Winbond&amp;amp;nbsp;W83627THG&lt;br /&gt;
| ?&lt;br /&gt;
| Socket&amp;amp;nbsp;479&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Mitac&lt;br /&gt;
| [http://web.archive.org/web/20050313054828/http://www.mitac.com/micweb/products/tyan/6513wu/6513wu.htm 6513WU]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Mitac 6513WU|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82810E&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801AB&amp;amp;nbsp;(ICH0)&lt;br /&gt;
| SMSC&amp;amp;nbsp;LPC47U332&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://global.msi.com.tw/index.php?func=proddesc&amp;amp;prod_no=332&amp;amp;maincat_no=1 MS-6119]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://global.msi.com.tw/index.php?func=proddesc&amp;amp;maincat_no=1&amp;amp;prod_no=335 MS-6147]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/Boards/Motherboards/MicroStar/Ms6156/MS6156.htm MS-6156]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://www.msi-technology.de/index.php?func=proddesc&amp;amp;prod_no=343&amp;amp;maincat_no=1 MS-6178]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[MSI MS-6178|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82810&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801AB&amp;amp;nbsp;(ICH0)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://global.msi.com.tw/index.php?func=proddesc&amp;amp;prod_no=170&amp;amp;maincat_no=1 MS-7135 (K8N Neo3)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[MSI MS-7135|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;CK804&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Winbond&amp;amp;reg;&amp;amp;nbsp;W83627THF&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;64 / Turion&amp;amp;trade;&amp;amp;nbsp;64&lt;br /&gt;
| Socket&amp;amp;nbsp;754&lt;br /&gt;
| PLCC&lt;br /&gt;
| LPC&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | ...&amp;lt;sup&amp;gt;29&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://global.msi.com.tw/index.php?func=proddesc&amp;amp;prod_no=255&amp;amp;maincat_no=1&amp;amp;cat2_no=171 MS-7260 (K9N Neo)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[MSI MS-7260|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;MCP55&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;64 / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | ...&amp;lt;sup&amp;gt;39&amp;lt;/sup&amp;gt;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| NEC&lt;br /&gt;
| [http://support.necam.com/mobilesolutions/hardware/Desktops/pm2000/celeron/ PowerMate 2000]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[NEC PowerMate 2000|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82810&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801AB&amp;amp;nbsp;(ICH0)&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;LPC47B27x&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&amp;amp;nbsp;/&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Shuttle&lt;br /&gt;
| [http://global.shuttle.com/product_detail.jsp?PI=89 SN25P]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | [[Shuttle SN25P|WIP...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;CK804&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;64 / X2 / Opteron&amp;amp;trade;&amp;amp;nbsp;1XX&lt;br /&gt;
| Socket&amp;amp;nbsp;939&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Soyo&lt;br /&gt;
| Soyo SY-6BA+ III&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Soyo SY-6BA Plus III|OK]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8671F&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot 1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Sun&lt;br /&gt;
| [http://www.sun.com/desktop/workstation/ultra40/index.xml Ultra 40]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;CK804&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;LPC47B397&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/tsunamiatx.html Tsunami&amp;amp;nbsp;ATX&amp;amp;nbsp;(S1846)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87309&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot&amp;amp;nbsp;1&lt;br /&gt;
| DIP32&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/tigerk8w.html Tiger&amp;amp;nbsp;K8W&amp;amp;nbsp;(S2875)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8151&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8w.html Thunder&amp;amp;nbsp;K8W&amp;amp;nbsp;(S2885)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;,&amp;amp;nbsp;8151&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8we.html Thunder&amp;amp;nbsp;K8WE&amp;amp;nbsp;(S2895)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8131&amp;amp;trade;,&amp;amp;nbsp;NVIDIA CK804&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;LPC47B397&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Winent&lt;br /&gt;
| [http://www.win-ent.com/network-computing/network-systems/desktop-platforms/440-pl-60640.html PL60640]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| Winbond&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | &amp;lt;h4&amp;gt;Servers&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Serengeti&amp;amp;nbsp;Cheetah&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8151&amp;amp;trade;,&amp;amp;nbsp;8132&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Serengeti&amp;amp;nbsp;Cheetah&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8151&amp;amp;trade;,&amp;amp;nbsp;8132&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Arima&lt;br /&gt;
| [http://web.archive.org/web/20080127024444/http://www.arima.com.tw/server/Product/ViewProduct.asp?View=HDAMA HDAMA]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| NSC PC87360&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Dell&lt;br /&gt;
| [http://support.dell.com/support/edocs/systems/pe1850/en/index.htm PowerEdge 1850]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7520&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801ER&amp;amp;nbsp;(ICH5R)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| Socket 604 &lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| HP&lt;br /&gt;
| [http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?lang=en&amp;amp;cc=us&amp;amp;objectID=c00346784&amp;amp;prodTypeId=15351&amp;amp;prodSeriesId=3219755 ProLiant DL145 G1]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[HP DL145 G3|OK]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| PLCC&lt;br /&gt;
| LPC&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| HP&lt;br /&gt;
| [http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00816835&amp;amp;lang=en&amp;amp;cc=us&amp;amp;taskId=101&amp;amp;prodSeriesId=3219755&amp;amp;prodTypeId=15351 ProLiant DL145 G3]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[HP DL145 G3|OK]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| Broadcom&amp;amp;nbsp;BCM5785/5780&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87417&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| HP&lt;br /&gt;
| [http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?lang=en&amp;amp;cc=us&amp;amp;objectID=c01765799 ProLiant DL165 G6]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[HP DL165 G6|OK]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| Broadcom&amp;amp;nbsp;BCM5785&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87417&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F 1207&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| IBM&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-53255 eServer 325]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| NSC PC87366&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| IBM&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-58655 eServer 326]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| NSC PC87366&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| [http://www.intel.com/support/motherboards/server/se7520jr2/ Jarrell (SE7520JR2)]&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7520&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801ER&amp;amp;nbsp;(ICH5R)&lt;br /&gt;
| NSC PC87427&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| IWILL&lt;br /&gt;
| [http://web.archive.org/web/20060507170150/http://www.iwill.net/product_2.asp?p_id=98 DK8-HTX]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[IWILL DK8-HTX|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| IWILL&lt;br /&gt;
| [http://web.archive.org/web/20060509143427/http://www.iwill.net/product_2.asp?p_id=42&amp;amp;sp=Y DK8S2]&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| IWILL&lt;br /&gt;
| [http://web.archive.org/web/20060213163325/http://www.iwill.net/product_2.asp?p_id=28 DK8X]&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://www.msiserver.de/de/Produkte/Server_Mainboards/K9SD_Master_S2R_MS_9185.aspx K9SD&amp;amp;nbsp;Master-S2R&amp;amp;nbsp;(MS-9185)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| Broadcom&amp;amp;nbsp;BCM5785/5780&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87417&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://cweb.msi.com.tw/program/products/server/svr/pro_svr_detail.php?UID=632 K9SD&amp;amp;nbsp;Master&amp;amp;nbsp;(MS-9282)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA MCP55&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Newisys&lt;br /&gt;
| [http://web.archive.org/web/20070922231423/http://www.newisys.com/core/2100e.html 2100&amp;amp;nbsp;Server] (SUN&amp;amp;nbsp;Fire&amp;amp;nbsp;v20z)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| NSC PC87360&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Nokia&lt;br /&gt;
| [[Nokia IP530|IP530]]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[Nokia IP530|WIP&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;FDC37B787&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;III-800, Celeron&amp;amp;reg;&lt;br /&gt;
| Socket 370&lt;br /&gt;
| TSOP48&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/Aplus/motherboard/Opteron2000/MCP55/H8DMR-i2.cfm H8DMR-i2]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA MCP55&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/Aplus/motherboard/Opteron8000/MCP55/H8QME-2.cfm H8QME-2+]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;8132&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/Aplus/motherboard/Opteron2000/MCP55/H8DMR-i2.cfm H8DMR-i2]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| NVIDIA MCP55&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/Aplus/motherboard/Opteron2000/MCP55/H8DME-2.cfm H8DME-2]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;41&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA MCP55&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/aplus/motherboard/opteron4000/sr56x0/h8scm.cfm H8SCM]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Supermicro_H8SCM|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam15h&amp;amp;Fam10h&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;SR5690/SP5100&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83527DHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade; Magny-Cours/Interlagos&lt;br /&gt;
| Socket&amp;amp;nbsp;C32&lt;br /&gt;
| SOIC-8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; |N&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/Aplus/motherboard/Opteron6100/SR56x0/H8QGi_-F.cfm H8QGI+-F]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Supermicro_H8QGI|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam15h&amp;amp;Fam10h&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;SR5690/SP5100&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83527DHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade; Magny-Cours/Interlagos&lt;br /&gt;
| Socket&amp;amp;nbsp;G34&lt;br /&gt;
| SOIC-8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; |N&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/xeon1333/5000p/x7db8_.cfm X7DB8+]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Supermicro_X7DB8+|OK...]]&lt;br /&gt;
| Intel&amp;amp;nbsp;5000&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;ESB2&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;nbsp;Xeon&amp;amp;trade; 5000 series&lt;br /&gt;
| Dual Socket&amp;amp;nbsp;LGA771&lt;br /&gt;
| PLCC32&lt;br /&gt;
| FWH&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; |Y&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon800/E7525/X6DAi-G.cfm X6DAi-G]&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7525&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7525, ESB6300&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;604&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon800/E7525/X6DAi-G.cfm X6DHE-G]&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7520&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7520, ESB6300&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;604&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon800/E7520/X6DHE-G2.cfm X6DHE-G2]&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7520&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801ER&amp;amp;nbsp;(ICH5R), ESB6300&lt;br /&gt;
| NSC PC87427&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;604&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon800/E7520/X6DHR-iG.cfm X6DHR-iG]&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7520&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801ER&amp;amp;nbsp;(ICH5R)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;604&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon800/E7520/X6DHR-iG2.cfm X6DHR-iG2]&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7520&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801ER&amp;amp;nbsp;(ICH5R)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;604&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/tigeri7501r.html Tiger&amp;amp;nbsp;i7501R&amp;amp;nbsp;(S2735)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7501&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801ER&amp;amp;nbsp;(ICH5R)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;604&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/tomcatk8s.html Tomcat&amp;amp;nbsp;K8S&amp;amp;nbsp;(S2850)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8s.html Thunder&amp;amp;nbsp;K8S&amp;amp;nbsp;(S2880)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8sr.html Thunder&amp;amp;nbsp;K8SR&amp;amp;nbsp;(S2881)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Tyan S2881|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8spro.html Thunder&amp;amp;nbsp;K8S&amp;amp;nbsp;Pro&amp;amp;nbsp;(S2882)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Tyan S2882|OK...]]&amp;lt;sup&amp;gt;20&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8sre.html Thunder&amp;amp;nbsp;K8SRE&amp;amp;nbsp;(S2891)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Tyan S2891|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8131&amp;amp;trade;,&amp;amp;nbsp;NVIDIA CK804&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8se.html Thunder&amp;amp;nbsp;K8SE&amp;amp;nbsp;(S2892)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Tyan S2892|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8131&amp;amp;trade;,&amp;amp;nbsp;NVIDIA CK804&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/product_board_detail.aspx?pid=157 Thunder&amp;amp;nbsp;n3600R&amp;amp;nbsp;(S2912)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Tyan S2912|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;MCP55&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/product_board_detail.aspx?pid=157 Thunder&amp;amp;nbsp;n3600R&amp;amp;nbsp;(S2912)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Tyan S2912|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;MCP55&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8qs.html Thunder&amp;amp;nbsp;K8QS&amp;amp;nbsp;(S4880)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk8qspro.html Thunder&amp;amp;nbsp;K8QS&amp;amp;nbsp;Pro&amp;amp;nbsp;(S4882)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8131&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;940&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | &amp;lt;h4&amp;gt;Laptops&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Getac&lt;br /&gt;
| [http://en.getac.com/products/P470/P470_overview.html P470]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;945&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;ICH7&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;FDC37N972 + SIO10N268&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Core 2 Duo T7200&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Roda&lt;br /&gt;
| [http://www.roda-computer.com/en/products/notebooks/rocky-iii-rk886ex.html RK886EX (Rocky III+)]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;945&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;ICH7&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;LPC47N227&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Core 2 Duo Mobile T5500&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Lenovo&lt;br /&gt;
| X60/X60s&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[Lenovo x60x|OK...]]&amp;lt;sup&amp;gt;45&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;945&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;ICH7&lt;br /&gt;
| NSC&amp;amp;reg;&amp;amp;nbsp;PC87382/PC87392&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Core 2 Duo Mobile L7400&lt;br /&gt;
| ?&lt;br /&gt;
| SOIC-8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Lenovo&lt;br /&gt;
| T60/T60p&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[Lenovo x60x|OK...]]&amp;lt;sup&amp;gt;45&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;945&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;ICH7&lt;br /&gt;
| NSC&amp;amp;reg;&amp;amp;nbsp;PC87382/PC87384&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Core 2 Duo T7200&lt;br /&gt;
| ?&lt;br /&gt;
| SOIC-8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | &amp;lt;h4&amp;gt;Embedded / SBC / PC/104 / Half-size boards&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Advantech&lt;br /&gt;
| [http://taiwan.advantech.com.tw/products/Model_Detail.asp?model_id=1-1TGZL8 PCM-5820]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Advantech PCM-5820|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD CS5530A&lt;br /&gt;
| Winbond&amp;amp;reg;&amp;amp;nbsp;W83977AF&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| PLCC32&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Rumba&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;GX&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;GX&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| DIGITAL-LOGIC&lt;br /&gt;
| [http://www.digitallogic.com/english/products/datasheets/ecm855.asp smartModule855]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | WIP&amp;lt;sup&amp;gt;13&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;855PM&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801DBM (ICH4-M)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| DIGITAL-LOGIC&lt;br /&gt;
| [http://www.digitallogic.ch/english/products/datasheets/ms_pc104_detail.asp?id=MSM586SEG MSM586SEG]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | OK&lt;br /&gt;
| integrated&lt;br /&gt;
| integrated&lt;br /&gt;
| integrated&lt;br /&gt;
| AMD&amp;amp;nbsp;&amp;amp;Eacute;lan&amp;amp;trade;SC520&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| DIGITAL-LOGIC&lt;br /&gt;
| [http://www.digitallogic.ch/english/products/datasheets/ms_pc104_detail.asp?id=MSM800SEV MSM800SEV]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;22&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| EagleLion&lt;br /&gt;
| 5BCM&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD&amp;amp;nbsp;&amp;amp;nbsp;CS5530&lt;br /&gt;
| NSC&amp;amp;nbsp;PC97317&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| IEI&lt;br /&gt;
| [http://www.icpamerica.com/products/single_board_computers/5_25_NOVA/NOVA-4899.html NOVA-4899R]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | WIP&amp;lt;sup&amp;gt;17&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5530A&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977TF&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| IEI&lt;br /&gt;
| [http://www.ieiworld.com/en/news_content.asp?id=erbium/projectOBJ00150613 JUKI-511P]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[IEI JUKI 511P|OK...]]&amp;lt;sup&amp;gt;27&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5530A&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977F&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| IEI&lt;br /&gt;
| [http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CBkQFjAA&amp;amp;url=http%3A%2F%2Fwww.ieiworld.com%2Fproduct_groups%2Findustrial%2Fcontent.aspx%3Fgid%3D00001000010000000001%26cid%3D09050652111816087425%26id%3D09069696333360342284&amp;amp;ei=EG6XTYTrDJO8sQP82cHUBQ&amp;amp;usg=AFQjCNE0MTdh1PdU68MhsfFeVMTV7qYTPw Kino-780AM2]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD 780G / SB700&lt;br /&gt;
| Fintek&amp;amp;nbsp;F71859&lt;br /&gt;
| AMD&amp;amp;nbsp;Phenom&amp;amp;trade; / Athlon&amp;amp;trade; / Sempron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2+&lt;br /&gt;
| ?&lt;br /&gt;
| SPI&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| IEI&lt;br /&gt;
| [http://www.ieiworld.com/en/product_IPC.asp?model=PCISA-LX IEI PCISA-LX-800-R10]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[IEI LX 800|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| IEI&lt;br /&gt;
| [http://www.ieiworld.com/en/product_IPC.asp?model=ROCKY-512 ROCKY-512]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[IEI ROCKY 512|OK...]]&amp;lt;sup&amp;gt;27&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5530A&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977F&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| IEI&lt;br /&gt;
| [http://www.ieiworld.com/product_groups/industrial/content.aspx?gid=00001000010000000001&amp;amp;cid=09050665574743104681&amp;amp;id=08142307826854456110#.UCLx8cLlgao PM-LX-800-R11]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| PLCC&lt;br /&gt;
| LPC&lt;br /&gt;
| Y&lt;br /&gt;
| Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| iWave&lt;br /&gt;
| [http://www.iwavesystems.com/iW-RainbowG6.htm iW-RainboW-G6]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;nbsp;Poulsbo US15W&lt;br /&gt;
| Intel&amp;amp;nbsp;Poulsbo US15W&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| Intel&amp;amp;nbsp;Atom&amp;amp;nbsp;Z530/Z510&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| LiPPERT&lt;br /&gt;
| [http://www.lippertembedded.de/en/productoverview/products-in-detail/85-lipperts-cool-frontrunner.html Cool FrontRunner]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | WIP&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;GX&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5535&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| PLCC&lt;br /&gt;
| FWH&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| LiPPERT&lt;br /&gt;
| [http://www.lippertembedded.de/en/lipperts-hurricane-lx800.html Hurricane-LX]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| SOIC8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| LiPPERT&lt;br /&gt;
| [http://www.lippertembedded.de/en/lipperts-cool-literunner-lx800.html Cool LiteRunner-LX]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| SOIC8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| LiPPERT&lt;br /&gt;
| [http://www.lippertembedded.de/en/lipperts-cool-roadrunner-lx800.html Cool RoadRunner-LX]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| PLCC&lt;br /&gt;
| FWH&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| LiPPERT&lt;br /&gt;
| [http://www.lippertembedded.de/en/lipperts-cool-spacerunner-lx800.html Cool SpaceRunner-LX]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| SOIC8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| PC&amp;amp;nbsp;Engines&lt;br /&gt;
| [http://pcengines.ch/alix1c.htm ALIX.1C]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[PC Engines ALIX.1C|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| Winbond&amp;amp;reg;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime; text-align:center&amp;quot; | [[PC Engines ALIX.1C Vendor Cooperation Score|4]]&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| PC&amp;amp;nbsp;Engines&lt;br /&gt;
| [http://pcengines.ch/alix2d0.htm ALIX.2D]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[PC Engines ALIX.2D|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| ?&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| ?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| TechNexion&lt;br /&gt;
| [http://www.technexion.com/index.php/embedded-mainboards/amd/tim-5690 TIM-5690]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;M690E&lt;br /&gt;
| ATI&amp;amp;nbsp;SB600&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2(+)&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| TechNexion&lt;br /&gt;
| [http://www.technexion.com/index.php/tim-8690 TIM-8690]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;M690E&lt;br /&gt;
| ATI&amp;amp;nbsp;SB600&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;64 / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Traverse Technologies&lt;br /&gt;
| [http://www.traverse.com.au/productview.php?product_id=117 Geos]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| TS&amp;lt;sup&amp;gt;31&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [http://www.embeddedarm.com/epc/ts5300-spec-h.html TS-5300]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| integrated&lt;br /&gt;
| integrated&lt;br /&gt;
| integrated&lt;br /&gt;
| AMD&amp;amp;nbsp;&amp;amp;Eacute;lan&amp;amp;trade;SC520&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | &amp;lt;h4&amp;gt;Mini-ITX / Micro-ITX / Nano-ITX&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Advansus&lt;br /&gt;
| [http://www.advansus.com.tw/products/247/A785E-I A785E-I]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Advansus_A785E_I|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Family 10h&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;RS785E(RS880M)/SB820M&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF FINTEK&amp;amp;trade;&amp;amp;nbsp;F81216AD&lt;br /&gt;
| AMD&amp;amp;nbsp;Turion/Athlon II Neo &amp;amp;nbsp;&lt;br /&gt;
| BGA-ASB2&lt;br /&gt;
| SOIC-8&lt;br /&gt;
| SPI&lt;br /&gt;
| N&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| ASRock&lt;br /&gt;
| [http://www.asrock.com/mb/overview.asp?Model=E350M1 E350M1]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASRock E350M1|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam14h&lt;br /&gt;
| AMD&amp;amp;reg;&amp;amp;nbsp;SB800&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Dual-Core Processor E-350&lt;br /&gt;
| BGA-413&lt;br /&gt;
| DIP8&lt;br /&gt;
| SPI&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ibase&lt;br /&gt;
| [http://www.ibase.com.tw/mb899.htm mb899]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ibase mp899|OK...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Intel&amp;amp;nbsp;I945GM&lt;br /&gt;
| Intel&amp;amp;nbsp;I82801GX&lt;br /&gt;
| Winbond&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Core&amp;amp;trade;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Jetway&lt;br /&gt;
| [http://www.jetway.com.tw/jw/ipcboard_socket.asp?platid=16 J7F2]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Jetway J7F2|OK...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R(P)&lt;br /&gt;
| Fintek&amp;amp;nbsp;F71805F&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Jetway&lt;br /&gt;
| [http://www.jetway.com.tw/jw/ipcboard_view.asp?productid=279&amp;amp;proname=J7F4K1G2E J7F4K1G2E]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Jetway J7F4K1G2E|OK...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R(P)&lt;br /&gt;
| Fintek&amp;amp;nbsp;F71805F&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Jetway&lt;br /&gt;
| [http://www.jetway.com.tw/jetway/system/productshow2.asp?id=389&amp;amp;proname=J7F4K1G5D J7F4K1G5D]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Jetway J7F4K1G5D|OK...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R(P)&lt;br /&gt;
| Fintek&amp;amp;nbsp;F71805F&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Kontron&lt;br /&gt;
| [http://de.kontron.com/products/boards+and+mezzanines/embedded+motherboards/miniitx+motherboards/986lcdmmitx.html 986LCD-M/mITX]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Kontron 986LCD-M mITX|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;945&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;ICH7&lt;br /&gt;
| 2x&amp;amp;nbsp;Winbond&amp;amp;reg;&amp;amp;nbsp;W83627THG&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Core&amp;amp;trade;&amp;amp;nbsp;2&amp;amp;nbsp;Duo&amp;amp;nbsp;Mobile,&amp;lt;br /&amp;gt;Core&amp;amp;trade;&amp;amp;nbsp;Duo/Solo, Celeron&amp;amp;reg;&amp;amp;nbsp;M&lt;br /&gt;
| mPGA478&lt;br /&gt;
| PLCC&lt;br /&gt;
| FWH&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Kontron&lt;br /&gt;
| [http://us.kontron.com/products/boards+and+mezzanines/embedded+motherboards/miniitx+motherboards/kt690mitx.html KT690/mITX]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;M690T&lt;br /&gt;
| ATI&amp;amp;nbsp;SB600&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627DHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Turion64&amp;amp;trade;&amp;amp;nbsp;dual&amp;amp;nbsp;core / AMD&amp;amp;nbsp;Sempron&lt;br /&gt;
| Socket&amp;amp;nbsp;S1G1&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| MSI&lt;br /&gt;
| [http://global.msi.com.tw/index.php?func=proddesc&amp;amp;prod_no=1054&amp;amp;maincat_no=388# Fuzzy CN700]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[MSI FUZZY CN700|WIP...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R(P)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=21 EPIA]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[EPIA|WIP...]]&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8601&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8231&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| VIA&amp;amp;nbsp;C3&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp;EDEN&amp;amp;trade;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=81 EPIA-M]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[VIA EPIA-M|OK...]]&amp;lt;sup&amp;gt;10&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8623&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8235&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C3&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp;EDEN&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| EPIA-M700&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | [[VIA EPIA-M700|WIP...]]&lt;br /&gt;
| VIA&amp;amp;nbsp;VX800&lt;br /&gt;
| VIA&amp;amp;nbsp;VX800&lt;br /&gt;
| Winbond&amp;amp;nbsp;W83697HF/F/HG&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| SOIC8&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=202 EPIA-MII]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[VIA EPIA-MII|OK...]]&amp;lt;sup&amp;gt;8&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8623&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8235,&amp;amp;nbsp;Ricoh&amp;amp;nbsp;RL5C476&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C3&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp;EDEN&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| PLCC&lt;br /&gt;
| Parallel&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=301 EPIA-ML]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[VIA EPIA-ML|OK...]]&amp;lt;sup&amp;gt;10&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8623&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8235&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C3&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp;EDEN&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=400 EPIA-CN10000EG]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[VIA EPIA-CN|OK...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp; Esther C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=400 EPIA-CN13000G]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[VIA EPIA-CN|OK...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp; Esther C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=399 EPIA-EN12000EG]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[VIA EPIA-EN|WIP...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp; Esther C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=399 EPIA-EN15000G]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[VIA EPIA-EN|WIP...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp; Esther C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=473 EPIA-LN10000EG/EAG]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[VIA EPIA-LN|OK...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp; Esther C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=590 NAB7400]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[VIA NAB7400|WIP...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp; Esther C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=590 NAB7410]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | [[VIA NAB7410|WIP...]]&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt;&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp; Esther C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.idot.com.tw/en/products/mb-pc2500e/ pc2500e]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[VIA pc2500e|OK...]]&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8716F&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;, VIA&amp;amp;nbsp;Esther&amp;amp;nbsp;C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.idotpc.com/TheStore/pc/viewCategories.asp?idCategory=56 EPIA-N]&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | ?&lt;br /&gt;
| VIA&amp;amp;nbsp;CN400&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| Winbond&amp;amp;nbsp;W83697HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | &amp;lt;h4&amp;gt;Set-top-boxes / Thin clients&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Artec&amp;amp;nbsp;Group&lt;br /&gt;
| [http://www.artecgroup.com/thincan/index.php?option=com_content&amp;amp;task=blogcategory&amp;amp;id=15&amp;amp;Itemid=34 DBE61]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | Broken&amp;lt;sup&amp;gt;40&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASI&lt;br /&gt;
| MB-5BLGP&amp;lt;sup&amp;gt;32&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASI MB-5BLGP|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD CS5530&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87351&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| ASI&lt;br /&gt;
| [http://www.hojerteknik.com/winnet.htm MB-5BLMP]&amp;lt;sup&amp;gt;33&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[ASI MB-5BLMP|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD CS5530&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87351&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AXUS&lt;br /&gt;
| [http://www.keyton.co.jp/products/UAXT/TC-320.html TC320]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[AXUS TC320|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD CS5530A&lt;br /&gt;
| NSC&amp;amp;nbsp;PC97317&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| BCOM&lt;br /&gt;
| [http://web.archive.org/web/20031207003521/http://www.igel.co.za/igel_316_compact.htm WinNET100]&amp;lt;sup&amp;gt;34&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[BCOM WINNET100|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD CS5530A&lt;br /&gt;
| NSC&amp;amp;nbsp;PC97317&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| BCOM&lt;br /&gt;
| WinNET P680&lt;br /&gt;
| style = &amp;quot;background:yellow&amp;quot; | [[BCOM WinNET P680|WIP...]]&lt;br /&gt;
| VIA CN700&lt;br /&gt;
| VIA VT8237R Plus&lt;br /&gt;
| Winbond&amp;amp;trade; W83697HG&lt;br /&gt;
| Via C7&amp;amp;trade;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Linutop&lt;br /&gt;
| [http://linutop.com/ Linutop]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| RCA&lt;br /&gt;
| [http://www.settoplinux.org/index.php?title=RCA_RM4100 RM4100]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[RCA RM4100|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82830M&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801DB&amp;amp;nbsp;(ICH4)&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;LPC47M192&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Mobile&amp;amp;nbsp;Celeron&lt;br /&gt;
| Socket&amp;amp;nbsp;479&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| TeleVideo&lt;br /&gt;
| [http://www.televideo.com/TeleVideo/TC7000_WinCE_Series.htm TC7020]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[TeleVideo TC7020|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;GX1&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5530A&lt;br /&gt;
| NSC&amp;amp;nbsp;PC97317&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Thomson&lt;br /&gt;
| [http://www.settoplinux.org/index.php?title=Thomson_IP1000 IP1000]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Thomson IP1000|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82830M&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801DB&amp;amp;nbsp;(ICH4)&lt;br /&gt;
| SMSC&amp;amp;reg;&amp;amp;nbsp;LPC47M192&lt;br /&gt;
| Low Voltage Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&lt;br /&gt;
| Socket&amp;amp;nbsp;479&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Wyse&lt;br /&gt;
| [http://www.wyse.de/products/hardware/thinclients/S50/index.asp S50]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;GX2&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;GX2&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| PLCC&lt;br /&gt;
| LPC&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | &amp;lt;h4&amp;gt;Devel/Eval Boards&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Bimini&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;785E/SB820M&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Turion&amp;amp;trade;&amp;amp;nbsp;II&amp;amp;nbsp;Neo/Athlon&amp;amp;trade;&amp;amp;nbsp;II&amp;amp;nbsp;Neo&lt;br /&gt;
| ASB2 (BGA812)&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| [http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330_9863_13022%5E13060,00.html DB800]&amp;amp;nbsp;(Salsa)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Norwich&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| [http://www.amd.com/us-en/assets/content_type/DownloadableAssets/42655A_S1DBM680T_PB.pdf dbM690T]&amp;amp;nbsp;(Herring)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[AMD DBM690T|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD&amp;amp;nbsp;RS690/SB600&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Turion&amp;amp;trade;&amp;amp;nbsp;/ X2 &amp;amp;nbsp;Sempron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;S1G1&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| DB780E (Mahogany)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[AMD DB780E|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD&amp;amp;nbsp;RS780E/SB700&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8718F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64&amp;amp;nbsp;/&amp;amp;nbsp;X2&amp;amp;nbsp;/&amp;amp;nbsp;FX,&amp;amp;nbsp;Sempron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2+&lt;br /&gt;
| ?&lt;br /&gt;
| SPI&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| DB780E (Mahogany)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[AMD DB780E|OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;RS780E/SB700&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8718F&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade;&amp;amp;nbsp;64&amp;amp;nbsp;/&amp;amp;nbsp;X2&amp;amp;nbsp;/&amp;amp;nbsp;FX,&amp;amp;nbsp;Sempron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2+&lt;br /&gt;
| ?&lt;br /&gt;
| SPI&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD/IBASE&lt;br /&gt;
| DBFT1-00-EVAL-KT (Persimmon)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[AMD PERSIMMON |OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam14h&lt;br /&gt;
| AMD&amp;amp;nbsp;SB800&lt;br /&gt;
| FINTEK&amp;amp;nbsp;F81865&lt;br /&gt;
| AMD&amp;amp;nbsp;G-series&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;FT1&lt;br /&gt;
| ?&lt;br /&gt;
| SPI&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Pistachio&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD&amp;amp;nbsp;RS690/SB600&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| South Station&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[AMD SOUTH STATION |OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam14h&lt;br /&gt;
| AMD&amp;amp;nbsp;SB850&lt;br /&gt;
| &amp;amp;mdash;&amp;amp;nbsp;&lt;br /&gt;
| AMD&amp;amp;nbsp;G-series&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;FT1&lt;br /&gt;
| SOIC8&lt;br /&gt;
| SPI&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Tilapia&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam10h&lt;br /&gt;
| AMD&amp;amp;nbsp;RS780/SB700&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8718F&lt;br /&gt;
| ?&lt;br /&gt;
| Socket&amp;amp;nbsp;AM3&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Union Station&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[AMD UNION STATION |OK...]]&lt;br /&gt;
| AMD&amp;amp;nbsp;Fam14h&lt;br /&gt;
| AMD&amp;amp;nbsp;SB800&lt;br /&gt;
| &amp;amp;mdash;&amp;amp;nbsp;&lt;br /&gt;
| AMD&amp;amp;nbsp;G-series&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;FT1&lt;br /&gt;
| SOIC8&lt;br /&gt;
| SPI&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Broadcom&lt;br /&gt;
| Blast&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| Broadcom&amp;amp;nbsp;BCM5785/5780&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87417&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| 3100 devkit (Mt. Arvon)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;3100&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;3100&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;3100&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;M&lt;br /&gt;
| Socket 479&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| EagleHeights&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;3100&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;3100&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;3100&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;M&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| EP80579 devkit (Truxton)&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;EP80579&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;EP80579&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;EP80579&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;EP80579&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;EP80579&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| XE7501devkit&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7501&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S)&lt;br /&gt;
| SMSC&amp;amp;reg; LPC47B272&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| NVIDIA&lt;br /&gt;
| l1_2pvv&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;14&amp;lt;/sup&amp;gt;&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;MCP55+IO55&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627EHG&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| VT8454c&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| VIA&amp;amp;nbsp;CX700&lt;br /&gt;
| integrated&lt;br /&gt;
| integrated&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; | &amp;lt;h4&amp;gt;Miscellaneous&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Emulation&lt;br /&gt;
| [http://fabrice.bellard.free.fr/qemu/ QEMU x86]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[QEMU Build Tutorial|OK...]]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III (?)&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; NVIDIA nForce&amp;amp;trade; Professional 2200 (CK804).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Work in progress.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; This was an AMD64 reference board.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; Vendor Cooperation Score.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; NVIDIA nForce&amp;amp;trade; Professional 2200 and 2050 (2 × CK804).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt; NVIDIA nForce&amp;amp;trade; 4, nForce 4 SLI, or nForce 4 4x.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; LSI1030 SCSI controller can not be used to boot the machine.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;8&amp;lt;/sup&amp;gt; Use the ''epia-m'' code for now. The on-board PCMCIA and CF sockets work. coreboot can boot from CF (the stock BIOS can't). [http://www.linuxbios.org/pipermail/linuxbios/2006-October/016448.html Some problems] remain, though.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; The AMD GX (internally known as GX2 for some time) is actually the successor to the GX1.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;10&amp;lt;/sup&amp;gt; Use the ''epia-m'' code for now (plus [http://www.linuxbios.org/pipermail/linuxbios/2006-October/016423.html a few hacks], e.g. disable Firewire/CF slot,&lt;br /&gt;
because they're not present on the board).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt; Except for some [http://www.linuxbios.org/pipermail/linuxbios/2006-October/016463.html possible problems with SATA2 ports], everything should work.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;13&amp;lt;/sup&amp;gt; See also http://www.linuxbios.org/pipermail/linuxbios/2006-November/017065.html.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;14&amp;lt;/sup&amp;gt; These boards ''should'' work fine, but we have no confirmed reports on the [[Mailinglist|mailing list]] so far, so we cannot tell for sure.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; See http://www.openbios.org/pipermail/linuxbios/2007-February/018299.html.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;17&amp;lt;/sup&amp;gt; Seems to be [http://www.linuxbios.org/pipermail/linuxbios/2006-November/016651.html partially working], specifically eth0, eth2, the PCI slot, the USB ports, and the serial console [http://www.linuxbios.org/pipermail/linuxbios/2007-May/021226.html are working]. Other parts are not yet finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt; The Linutop does not ship with coreboot, but [http://linutop.com/wiki/index.php/Developers#Upgrading_to_LinuxBIOS the code should work].&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;20&amp;lt;/sup&amp;gt; Fan-control doesn't work yet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; This is ''the'' AMD Geode LX reference board and coreboot reference implementation on the AMD Geode LX, contributed and maintained by AMD engineers.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;22&amp;lt;/sup&amp;gt; The board can boot a Linux kernel currently, but there's [http://www.linuxbios.org/pipermail/linuxbios/2007-May/020770.html no VGA support, yet].&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;25&amp;lt;/sup&amp;gt; [http://www.linuxbios.org/pipermail/linuxbios/2007-May/021280.html Works fine], only smaller issues remain to be fixed. A [http://www.linuxbios.org/pipermail/linuxbios/2007-May/021308.html list of known issues] is available.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;27&amp;lt;/sup&amp;gt; The JUKI-511P and ROCKY-512 both use the same code and target (targets/iei/juki-511p). Thus, both [http://www.linuxbios.org/pipermail/linuxbios/2007-June/021862.html support the same features and have the same limitations]: IDE, USB, ethernet, serial, keyboard and sound work, but there are problems booting from IDE1 ([http://www.linuxbios.org/pipermail/linuxbios/2007-June/021996.html this patch] may help), and VGA video doesn't work, yet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;28&amp;lt;/sup&amp;gt; Partially supported, almost boots a Linux kernel. [http://www.linuxbios.org/pipermail/linuxbios/2007-June/022217.html Some issues] still remain to be fixed, though.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;29&amp;lt;/sup&amp;gt; Some boards have ROM sockets, others are soldered.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt; The irq table in CN is from VIA. You may need to run getpir to generate your own irq table.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;31&amp;lt;/sup&amp;gt; Technologic Systems.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;32&amp;lt;/sup&amp;gt; Used in the Neoware Eon 4000s thin client.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;33&amp;lt;/sup&amp;gt; Used in the IGEL WinNET III thin client.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;34&amp;lt;/sup&amp;gt; Used in the IGEL-316 thin client.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;35&amp;lt;/sup&amp;gt; ROM chip package (PLCC, DIP32, DIP8, SOIC8).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;36&amp;lt;/sup&amp;gt; ROM chip protocol/type (parallel flash, LPC, FWH, SPI).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;37&amp;lt;/sup&amp;gt; ROM chip socketed (Y/N)?&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt; Board supported by [[Flashrom]] (Y/N)?&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;39&amp;lt;/sup&amp;gt; Interestingly [[flashrom]] does not work when the vendor BIOS is booted, but it does work flawlessly when the machine is booted with coreboot.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;40&amp;lt;/sup&amp;gt; Broken v4 port, try the v3 port instead. The v4 version will be fixed at some point.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;41&amp;lt;/sup&amp;gt; RAM must be matched exactly in each bank.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;44&amp;lt;/sup&amp;gt; Boots MS-DOS fine using SeaBIOS, might boot Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;45&amp;lt;/sup&amp;gt; works fine with Linux, some ACPI issues with Windows needs to be fixed.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motherboards supported in coreboot v3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #ff0000&amp;quot;&amp;gt;coreboot v3 was an experimental development tree of coreboot which should not be used anymore (there are only very few exceptions)! Most features from v3 have been integrated in what now became v4.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Mainboard&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Northbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Southbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Super&amp;amp;nbsp;I/O&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | CPU&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Socket&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;ROM chip package&amp;quot;&amp;gt;ROM&amp;amp;nbsp;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;ROM chip protocol&amp;quot;&amp;gt;P&amp;amp;nbsp;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;ROM chip socketed?&amp;quot;&amp;gt;S&amp;amp;nbsp;&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;Board supported by Flashrom?&amp;quot;&amp;gt;F&amp;amp;nbsp;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;Vendor Cooperation Score&amp;quot;&amp;gt;VCS&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | &amp;lt;span title=&amp;quot;v3&amp;quot;&amp;gt;v3 only&amp;amp;nbsp;&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Advanced Digital Logic&lt;br /&gt;
| [http://www.adlogic-pc104.com/products/cpu/datasheets/MSM800SEV_SEL.pdf MSM800SEV]&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| DB800&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| ?&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| [http://www.amd.com/us-en/assets/content_type/DownloadableAssets/42655A_S1DBM680T_PB.pdf dbM690T]&amp;amp;nbsp;(Herring)&lt;br /&gt;
| AMD&amp;amp;nbsp;K8 &lt;br /&gt;
| AMD&amp;amp;nbsp;RS690/SB600&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| AMD&amp;amp;nbsp;Turion&amp;amp;trade;&amp;amp;nbsp;/ X2 &amp;amp;nbsp;Sempron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;S1G1&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Norwich&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| AMD&lt;br /&gt;
| Serengeti&amp;amp;nbsp;Cheetah&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| AMD-8111&amp;amp;trade;,&amp;amp;nbsp;8151&amp;amp;trade;,&amp;amp;nbsp;8132&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Opteron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;F&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| AMP&lt;br /&gt;
| TinyGX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8716F&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | Y&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Artec&amp;amp;nbsp;Group&lt;br /&gt;
| [http://www.artecgroup.com/thincan/index.php?option=com_content&amp;amp;task=blogcategory&amp;amp;id=15&amp;amp;Itemid=34 DBE61]&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| TSOP32&lt;br /&gt;
| LPC&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Artec&amp;amp;nbsp;Group&lt;br /&gt;
| [http://www.artecgroup.com/thincan/index.php?option=com_content&amp;amp;task=blogcategory&amp;amp;id=15&amp;amp;Itemid=34 DBE62]&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Artec Group DBE62|OK...]]&lt;br /&gt;
| TSOP32&lt;br /&gt;
| FWH&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime; text-align:center&amp;quot; | [[Artec Group DBE62 Vendor Cooperation Score|4]]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | Y&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Emulation&lt;br /&gt;
| [http://fabrice.bellard.free.fr/qemu/ QEMU x86]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III (?)&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| GIGABYTE&lt;br /&gt;
| [http://www.gigabyte.com.tw/Products/Motherboard/Products_Overview.aspx?ProductID=2287&amp;amp;ModelName=GA-M57SLI-S4 GA-M57SLI-S4]&lt;br /&gt;
| AMD&amp;amp;nbsp;K8&lt;br /&gt;
| NVIDIA&amp;amp;nbsp;MCP55&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8716F&lt;br /&gt;
| AMD&amp;amp;nbsp;Sempron&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;64 / FX / X2&lt;br /&gt;
| Socket&amp;amp;nbsp;AM2&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| ...&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow; text-align:center&amp;quot; | [[Gigabyte m57sli Vendor Cooperation Score|3]]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Jetway&lt;br /&gt;
| [http://www.jetway.com.tw/jw/ipcboard_socket.asp?platid=16 J7F2]&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R(P)&lt;br /&gt;
| Fintek&amp;amp;nbsp;F71805F&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | Y&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Kontron&lt;br /&gt;
| [http://de.kontron.com/products/boards+and+mezzanines/embedded+motherboards/miniitx+motherboards/986lcdmmitx.html 986LCD-M/mITX]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;945&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;ICH7&lt;br /&gt;
| 2x&amp;amp;nbsp;Winbond&amp;amp;reg;&amp;amp;nbsp;W83627THG&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Core&amp;amp;trade;&amp;amp;nbsp;2&amp;amp;nbsp;Duo&amp;amp;nbsp;Mobile,&amp;lt;br /&amp;gt;Core&amp;amp;trade;&amp;amp;nbsp;Duo/Solo, Celeron&amp;amp;reg;&amp;amp;nbsp;M&lt;br /&gt;
| mPGA478&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| PLCC&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| PC&amp;amp;nbsp;Engines&lt;br /&gt;
| [http://pcengines.ch/alix1c.htm ALIX.1C]&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| Winbond&amp;amp;reg;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[PC Engines ALIX.1C|OK...]]&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime; text-align:center&amp;quot; | [[PC Engines ALIX.1C Vendor Cooperation Score|4]]&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| PC&amp;amp;nbsp;Engines&lt;br /&gt;
| [http://pcengines.ch/alix2c3.htm ALIX.2C3]&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[PC Engines ALIX.2CX|OK...]]&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | Y&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| PC&amp;amp;nbsp;Engines&lt;br /&gt;
| [http://pcengines.ch/alix2c2.htm ALIX.2C2]&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;CS5536&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| AMD&amp;amp;nbsp;Geode&amp;amp;trade;&amp;amp;nbsp;LX&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[PC Engines ALIX.2CX|OK...]]&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | Y&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| EPIA-CN&lt;br /&gt;
| VIA&amp;amp;nbsp;CN700&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8237R&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C7&amp;amp;trade;,&amp;amp;nbsp;VIA&amp;amp;nbsp; Esther C5J&amp;amp;trade;&lt;br /&gt;
| NanoBGA2&lt;br /&gt;
| style=&amp;quot;background:orange&amp;quot; | WIP&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | N&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; ROM chip package (PLCC, DIP32, DIP8, SOIC8).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; ROM chip protocol/type (parallel flash, LPC, FWH, SPI).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; ROM chip socketed (Y/N)?&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; Board supported by [[Flashrom]] (Y/N)?&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; Vendor Cooperation Score.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt; There are two versions of the [[GIGABYTE GA-M57SLI-S4]], one with a soldered PLCC chip, one with a soldered SOIC8 chip.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; Board is only available in v3, not yet in v4?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motherboards supported in coreboot v1 ==&lt;br /&gt;
&lt;br /&gt;
Not all motherboards have been ported from coreboot v1 to coreboot v4, yet (check the CBv4 field). If you want to work on such a port contact us on the [[Mailinglist|mailing list]].&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699dd&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Mainboard&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Northbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Southbridge&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Super&amp;amp;nbsp;I/O&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | CPU&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Socket&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | CBv4?&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;9&amp;quot; | &amp;lt;h4&amp;gt;Desktops / Workstations&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| A7M&lt;br /&gt;
| AMD&amp;amp;nbsp;AMD76x&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.ciao.co.uk/ASUS_ALi_Chipset_CUA__5410161 CUA]&lt;br /&gt;
| Acer&amp;amp;nbsp;M1631&amp;amp;nbsp;(ALADDiN&amp;amp;nbsp;TNT2)&lt;br /&gt;
| Acer&amp;amp;nbsp;M1535&lt;br /&gt;
| Acer&amp;amp;nbsp;M1535&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.dealtime.com/xPF-ASUS-ASUS-Intel-Socket7-PNP586-Motherboard TX97-LE]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;430TX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| SMC&amp;amp;nbsp;FDC37C67X&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;, Pentium&amp;amp;reg;&amp;amp;nbsp;MMX, AMD&amp;amp;nbsp;K5&lt;br /&gt;
| Socket&amp;amp;nbsp;7&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Bitworks&lt;br /&gt;
| IMS&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87351&lt;br /&gt;
| ?&lt;br /&gt;
| Slot1&amp;amp;nbsp;1&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Chaintech&lt;br /&gt;
| [http://www.xbitlabs.com/articles/mainboards/display/chaintech-7kjd.html CT-7KJD]&lt;br /&gt;
| AMD-761&amp;amp;trade;&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8231&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8231&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade; / Duron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;462&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Elitegroup (ECS)&lt;br /&gt;
| [http://www.ecsusa.com/products/k7sem_v3.html K7SEM]&lt;br /&gt;
| SiS730S&lt;br /&gt;
| SiS730S&lt;br /&gt;
| SiS730S&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;XP / Duron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;462&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Elitegroup (ECS)&lt;br /&gt;
| [http://www.ecsusa.com/downloads/manual_p6s.html P6STP-FL]&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS950&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;III, Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| GIGABYTE&lt;br /&gt;
| [http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ProductID=1445 GA-6BXC]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8671F&lt;br /&gt;
| Intel&amp;amp;reg; Pentium&amp;amp;reg;&amp;amp;nbsp;II/III, Celeron&amp;amp;reg;&lt;br /&gt;
| Slot1&amp;amp;nbsp;1&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| GIGABYTE&lt;br /&gt;
| GA-6OXE&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;815EP&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801&lt;br /&gt;
| ITE&amp;amp;nbsp;IT8712F&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Leadtek&lt;br /&gt;
| [http://web.archive.org/web/20000616073856/http://www.leadtek.com.tw/e6300MAX.htm WinFast 6300MAX]&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS950&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;III, Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Matsonic&lt;br /&gt;
| [http://web.archive.org/web/20000619011053/www.matsonic.com/index_2.htm MS7308E]&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS950&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;III, Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| PCCHIPS&lt;br /&gt;
| [http://www.pcchipsusa.com/prod-m754lmr.asp M754LMR]&lt;br /&gt;
| Acer&amp;amp;nbsp;M1631&lt;br /&gt;
| Acer&amp;amp;nbsp;M1535&lt;br /&gt;
| Acer&amp;amp;nbsp;M1535&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;III, Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| PCCHIPS&lt;br /&gt;
| [http://www.pcchipsusa.com/prod-m758mr.asp M758LMR(+)]&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS950&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;III, Celeron&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| PCCHIPS&lt;br /&gt;
| [http://www.pcchipsusa.com/prod-m787cl%2B.asp M787CL+]&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS630&lt;br /&gt;
| SiS950&lt;br /&gt;
| VIA&amp;amp;nbsp;C3&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;370&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| PCCHIPS&lt;br /&gt;
| [http://www.pcchipsusa.com/prod-m810lmr.asp M810LMR]&lt;br /&gt;
| SiS670&lt;br /&gt;
| SiS670&lt;br /&gt;
| SiS950&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade; / Duron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;462&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| PCCHIPS&lt;br /&gt;
| M810LR&lt;br /&gt;
| SiS670&lt;br /&gt;
| SiS670&lt;br /&gt;
| SiS950&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade; / Duron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;462&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[PCCHIPS M810LR|???]]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| PCCHIPS&lt;br /&gt;
| [http://www.pcchipsusa.com/prod-m830lmr.asp M830L(M)R]&lt;br /&gt;
| SiS735&lt;br /&gt;
| SiS735&lt;br /&gt;
| SiS950&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;trade; / Athlon&amp;amp;trade;&amp;amp;nbsp;XP / Duron&amp;amp;trade;&lt;br /&gt;
| Socket&amp;amp;nbsp;462&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon/860/P4DC6.cfm P4DC6]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82860&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801,&amp;amp;nbsp;82806&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| P4DC6P&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82860&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801,&amp;amp;nbsp;82806&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| TigerMPX&lt;br /&gt;
| AMD-76x&amp;amp;trade;&lt;br /&gt;
| AMD-768&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| guiness&lt;br /&gt;
| AMD-76x&amp;amp;trade;&lt;br /&gt;
| AMD-766&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/tiger133.html Tiger&amp;amp;nbsp;133&amp;amp;nbsp;(S1834)]&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8601&lt;br /&gt;
| ?&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977EF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;II/III&lt;br /&gt;
| Slot&amp;amp;nbsp;1&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/tsunamiatx.html Tsunami&amp;amp;nbsp;ATX&amp;amp;nbsp;(S1846)]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| NSC&amp;amp;nbsp;PC87309&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;II/III,&amp;amp;nbsp;Celeron&amp;amp;reg;&lt;br /&gt;
| Slot&amp;amp;nbsp;1&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/tigermpx.html Tiger&amp;amp;nbsp;MPX&amp;amp;nbsp;(S2466)]&lt;br /&gt;
| AMD-762&amp;amp;trade;&lt;br /&gt;
| AMD-768&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;reg;&amp;amp;nbsp;MP&lt;br /&gt;
| Socket 462&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/thunderk7xpro.html Thunder&amp;amp;nbsp;K7X&amp;amp;nbsp;Pro&amp;amp;nbsp;(S2469)]&lt;br /&gt;
| AMD-762&amp;amp;trade;&lt;br /&gt;
| AMD-768&amp;amp;trade;&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| AMD&amp;amp;nbsp;Athlon&amp;amp;reg;&amp;amp;nbsp;MP&lt;br /&gt;
| Socket 462&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;9&amp;quot; | &amp;lt;h4&amp;gt;Servers&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| ASUS&lt;br /&gt;
| [http://www.asus.de/products.aspx?l1=9&amp;amp;l2=39&amp;amp;l3=103&amp;amp;model=113&amp;amp;modelmenu=1 PU-DLS]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7501&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Compaq&lt;br /&gt;
| DS10&lt;br /&gt;
| Alpha&amp;amp;nbsp;Tsunami&lt;br /&gt;
| Acer&amp;amp;nbsp;M1543&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| clearwater&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7500&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Intel&lt;br /&gt;
| clearwater533&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7501&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| RLX&lt;br /&gt;
| [http://web.archive.org/web/20040413125915/rlxtechnologies.com/index.php?se=servers&amp;amp;id=3 ServerBlade 800i]&lt;br /&gt;
| Micron&amp;amp;nbsp;21PAD&lt;br /&gt;
| Acer&amp;amp;nbsp;M1535&lt;br /&gt;
| Acer&amp;amp;nbsp;M1535&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon/E7500/P4DPE.cfm P4DPE]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7500&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon/E7500/P4DPE-G2.cfm P4DPE-G2]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7500&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| P4DPR&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7500&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon/E7505/X5DAE.cfm X5DAE]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7505&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S), 82801DB&amp;amp;nbsp;(ICH4),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| [http://www.supermicro.com/products/motherboard/Xeon/E7501/X5DPE-G2.cfm X5DPE-G2]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7501&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Supermicro&lt;br /&gt;
| X5DPR&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7501&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Tyan&lt;br /&gt;
| [http://www.tyan.com/archive/products/html/tigeri7501.html Tiger&amp;amp;nbsp;i7501&amp;amp;nbsp;(S2723)]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;E7501&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801CA&amp;amp;nbsp;(ICH3-S),&amp;amp;nbsp;82870&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Xeon&amp;amp;reg;&lt;br /&gt;
| Socket&amp;amp;nbsp;604&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;9&amp;quot; | &amp;lt;h4&amp;gt;Laptops&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| IBM&lt;br /&gt;
| [http://www.thinkwiki.org/wiki/Category:T23 ThinkPad T23]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82830&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82801&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;10&amp;quot; | &amp;lt;h4&amp;gt;Embedded / SBC / PC/104&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Advantech&lt;br /&gt;
| pcm-5823&lt;br /&gt;
| NSC&amp;amp;nbsp;GX1&lt;br /&gt;
| NSC&amp;amp;nbsp;CS5530&lt;br /&gt;
| SMC&amp;amp;nbsp;FDC37B72X&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Advantech&lt;br /&gt;
| pcm-9574&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977EF&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Cocom&lt;br /&gt;
| voyager2&lt;br /&gt;
| NSC&amp;amp;nbsp;GX1&lt;br /&gt;
| NSC&amp;amp;nbsp;CS5530&lt;br /&gt;
| NSC&amp;amp;nbsp;PC97317&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| DigitalLogic&lt;br /&gt;
| smartcore-p3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| DigitalLogic&lt;br /&gt;
| smartcore-p5&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Lanner&lt;br /&gt;
| [http://www.embedded-computing.com/products/search/fm/id/?10784 EM-370]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83977EF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;III / Celeron&amp;amp;reg;&lt;br /&gt;
| Slot&amp;amp;nbsp;370&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Lippert&lt;br /&gt;
| [http://web.archive.org/web/20031204180239/www.lippert-at.com/pc104plus.html Cool RoadRunner II]&lt;br /&gt;
| NSC&amp;amp;nbsp;GX1&lt;br /&gt;
| NSC&amp;amp;nbsp;CS5530&lt;br /&gt;
| SMC&amp;amp;nbsp;FDC37B72X&lt;br /&gt;
| NSC&amp;amp;nbsp;Geode&amp;amp;nbsp;GX1&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Nano&lt;br /&gt;
| nano&lt;br /&gt;
| NSC&amp;amp;nbsp;GX1&lt;br /&gt;
| NSC&amp;amp;nbsp;SCX200&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| STMicroelectronics&lt;br /&gt;
| [http://mcu.st.com/mcu/modules.php?name=mcu&amp;amp;file=familiesdocs&amp;amp;FAM=75 STPC&amp;amp;reg;&amp;amp;nbsp;Consumer-II]&lt;br /&gt;
| integrated&lt;br /&gt;
| integrated&lt;br /&gt;
| SMC&amp;amp;nbsp;FDC37B78X&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| STMicroelectronics&lt;br /&gt;
| [http://mcu.st.com/mcu/modules.php?name=mcu&amp;amp;file=familiesdocs&amp;amp;FAM=75 STPC&amp;amp;reg;&amp;amp;nbsp;Elite]&lt;br /&gt;
| integrated&lt;br /&gt;
| integrated&lt;br /&gt;
| SMC&amp;amp;nbsp;FDC37B78X&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Supertek&lt;br /&gt;
| ST3-WT&lt;br /&gt;
| NSC GX1&lt;br /&gt;
| NSC CS5535&lt;br /&gt;
| NSC PC97317&lt;br /&gt;
| Geode&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | OK&amp;amp;nbsp;([[User:Stepan|SR]])&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Technoland&lt;br /&gt;
| [http://web.archive.org/web/20040406003346/technoland.com/tl_embsbc710.htm TL-EmbSBC 710]&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83877EF&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;Pentium&amp;amp;reg;&amp;amp;nbsp;III / Celeron&amp;amp;reg;&lt;br /&gt;
| Slot&amp;amp;nbsp;1&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | [[Technoland SBC 710|???]]&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;9&amp;quot; | &amp;lt;h4&amp;gt;Mini-ITX&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=21 EPIA]&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8601&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8231&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83627HF&lt;br /&gt;
| VIA&amp;amp;nbsp;C3&amp;amp;trade;&amp;amp;nbsp;/&amp;amp;nbsp;EDEN&amp;amp;trade;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| [http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=81 EPIA-M]&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8623&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8235&lt;br /&gt;
| VIA&amp;amp;nbsp;VT1211&lt;br /&gt;
| VIA&amp;amp;nbsp;C3&amp;amp;trade;&amp;amp;nbsp;/&amp;amp;nbsp;EDEN&amp;amp;trade;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;9&amp;quot; | &amp;lt;h4&amp;gt;Set-top-boxes / Thin clients&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Lex&lt;br /&gt;
| [http://www.lex.com.tw:8080/product/CV860A.htm CV860A]&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8601A&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686B&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686B&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| RCN&lt;br /&gt;
| Dc1100s&lt;br /&gt;
| VIA&amp;amp;nbsp;VT694&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;10&amp;quot; | &amp;lt;h4&amp;gt;Devel/Eval Boards&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| Motorola&lt;br /&gt;
| Sandpoint&lt;br /&gt;
| Motorola&amp;amp;nbsp;MPC107&lt;br /&gt;
| Winbond&amp;amp;trade;&amp;amp;nbsp;W83C553&lt;br /&gt;
| NSC&amp;amp;nbsp;PC97307&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Yes&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;9&amp;quot; | &amp;lt;h4&amp;gt;Miscellaneous&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| BCM&lt;br /&gt;
| e100&lt;br /&gt;
| SiS550&lt;br /&gt;
| SiS550&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| Dell&lt;br /&gt;
| 350&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| SMC&amp;amp;nbsp;FDC37B907&lt;br /&gt;
| ?&lt;br /&gt;
| Slot&amp;amp;nbsp;1&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| irobot&lt;br /&gt;
| Proto1&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;440BX&lt;br /&gt;
| Intel&amp;amp;reg;&amp;amp;nbsp;82371EB&amp;amp;nbsp;(PIIX4E)&lt;br /&gt;
| SMS&amp;amp;nbsp;FDC37N769&lt;br /&gt;
| ?&lt;br /&gt;
| Slot&amp;amp;nbsp;1&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 540 (?)&lt;br /&gt;
| SiS540&lt;br /&gt;
| SiS540&lt;br /&gt;
| SiS950&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 550 (?)&lt;br /&gt;
| SiS550&lt;br /&gt;
| SiS550&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 635 (?)&lt;br /&gt;
| ?&lt;br /&gt;
| SiS635&lt;br /&gt;
| SiS950&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| SiS&lt;br /&gt;
| 735 (?)&lt;br /&gt;
| SiS735&lt;br /&gt;
| SiS735&lt;br /&gt;
| SiS950&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#dddddd&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| vt5292&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8601&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| VIA&lt;br /&gt;
| vt5426&lt;br /&gt;
| VIA&amp;amp;nbsp;VT8601&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686&lt;br /&gt;
| VIA&amp;amp;nbsp;VT82C686&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;background:#eeeeee&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Work in progress.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; http://www.linuxbios.org/pipermail/linuxbios/2002-October/000743.html&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; http://www.linuxbios.org/pipermail/linuxbios/2003-September/005385.html&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Infrastructure_Projects</id>
		<title>Infrastructure Projects</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Infrastructure_Projects"/>
				<updated>2012-09-25T08:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Geode issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects a list of projects to improve the infrastructure of coreboot v4. Infrastructure means those parts of the code that aren't chipset or mainboard specific, but are used by all of them. The idea is to consolidate a list of things &amp;quot;to do&amp;quot; with their status and responsible developers.&lt;br /&gt;
&lt;br /&gt;
= In progress =&lt;br /&gt;
&lt;br /&gt;
== Low/High Tables ==&lt;br /&gt;
&lt;br /&gt;
SeaBIOS requires a copy of various BIOS tables outside the fseg as it overwrites that segment. Generally clean out the table generation code.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, implemented on some boards. There are problems on some chipsets/boards because of incorrect CONFIG_VIDEO_MB handling. The might be other issues, too (not clear, yet).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tested&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdfam10&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdht&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdk8&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdmct&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx1&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx2&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/lx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7501&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7520&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7525&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i440bx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82810&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82830&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i855&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i945&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on Kontron 986LCD-M and Roda RK886EX&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn400&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn700&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on VIA pc2500e.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cx700&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8601&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8623&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vx800&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan&lt;br /&gt;
&lt;br /&gt;
== CBFS ==&lt;br /&gt;
&lt;br /&gt;
A filesystem-alike layout for the coreboot image, to enable systems like bayou and to clean up the system in general (eg. no more buildrom).&lt;br /&gt;
&lt;br /&gt;
'''Status:'''&lt;br /&gt;
&lt;br /&gt;
Upstream, pre-CBFS infrastructure removed.&lt;br /&gt;
&lt;br /&gt;
There are places where using CBFS might be a good idea: Everything that makes use of external files, for example the VSA code in the Geode chipset code. VSA is converted, and tested on a couple of configurations, but untested on others.&lt;br /&gt;
&lt;br /&gt;
Some boards have issues with CBFS because it requires the whole ROM to be accessible at a quite early point in time (compared to the old mechanism). The following table contains validated knowledge if the ROM mapping happens at the right time.&lt;br /&gt;
&lt;br /&gt;
All boards that manage to boot in a tinybootblock configuration are capable at least for the used ROM size (it might be that larger ROMs would fail because they require mapping the larger space)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | ROM enabled&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tiny bootblock&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status / Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amd8111&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5530&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5535&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5536&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb600&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on siemens/sitemp_g1p1 by [[User:PatrickGeorgi|PatrickGeorgi]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb700&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| broadcom/bcm5785&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/esb6300&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82371eb&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on ASUS P2B by [[User:Uwe|Uwe Hermann]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ax&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801bx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801cx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801dx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ex&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801gx&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on Kontron 986LCD-m by PatrickGeorgi&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/ck804&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/mcp55&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| sis/sis966&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8231&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8235&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8237r&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt82c686&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Myles, Uwe&lt;br /&gt;
&lt;br /&gt;
== Tiny Bootblock ==&lt;br /&gt;
&lt;br /&gt;
Right now, the decision whether to use fallback or normal is in cache_as_ram_auto.c in many boards. Make that generic again (also helps with further CBFSification at some point).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Available in Kconfig, works on a couple of boards. Requires per southbridge changes (and northbridge in some cases) on many boards (related to ROM enable, see CBFS section).&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;br /&gt;
&lt;br /&gt;
== Remove .c includes ==&lt;br /&gt;
&lt;br /&gt;
Currently we include lots of code in the romstage using the preprocessor. This makes it harder to support new boards (where chipset components are supported already) and maintenance in general. So we should get rid of it where possible, using the linker for CAR boards and the build system for the remaining non-CAR boards appropriately.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' CAR boards only for now, to keep the project manageable. i945 is modified already, and boards based on it have only one or two remaining source files they include. Interacts with the next project &amp;quot;Move configuration to Kconfig&amp;quot;, which ensures that code still sees all configuration when it is compiled separately.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Move configuration to Kconfig ==&lt;br /&gt;
&lt;br /&gt;
Many boards have lots of &amp;lt;code&amp;gt;#define VAR somevalue&amp;lt;/code&amp;gt; statements in their romstage.c which define how certain component drivers are compiled. With Kconfig, there's a better place to store them. This project is about moving all configuration values out of romstage.c (and other places if appropriate) and into Kconfig. &amp;lt;code&amp;gt;util/lint/lint-001-no-global-config-in-romstage&amp;lt;/code&amp;gt; helps figuring out what remains to be done.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Intel and VIA based boards should be mostly configuration free, AMD boards still have defines in their romstage. AMD/AGESA Boards have platform_cfg.h for which a solution should be found.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Unify ACPI ==&lt;br /&gt;
* Figure out generic ACPI code and deduplicate it.&lt;br /&gt;
* Fix issues like http://www.coreboot.org/pipermail/coreboot/2011-May/065179.html&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Every ACPI board has its own routines to compile the ACPI sources. Unify that.&lt;br /&gt;
&lt;br /&gt;
= More ideas =&lt;br /&gt;
&lt;br /&gt;
== CMOS handling ==&lt;br /&gt;
&lt;br /&gt;
The subprojects are ordered in a way that minimizes lost work.&lt;br /&gt;
&lt;br /&gt;
=== Simplify get_option ===&lt;br /&gt;
Replace &amp;lt;code&amp;gt;get_option(VALstart, VALlen, default)&amp;lt;/code&amp;gt; with a macro that hides start/len in something like &amp;lt;code&amp;gt;get_option(VAL, default)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement a new cmos.layout format ===&lt;br /&gt;
The current layout is simple to parse, but not so simple to maintain or extend.&lt;br /&gt;
Create a format that combines the various fields into a single representation, eg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
400/8 century enum { 0x19=&amp;quot;1900&amp;quot;, 0x20=&amp;quot;2000&amp;quot;, 0x21=&amp;quot;2100&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
408/512 some_string string&lt;br /&gt;
&lt;br /&gt;
984/16 checksum checksum 392 983&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement an include statement ===&lt;br /&gt;
That way, we can have global fields (RTC, century byte), per chipset component fields (defined by northbrigde/southbridge/superio), per mainboard fields at their appropriate places.&lt;br /&gt;
&lt;br /&gt;
=== CMOS defaults ===&lt;br /&gt;
Allow (somehow) to define defaults for all CMOS fields, and create a static table from that. Use that at runtime if the CMOS checksum fails.&lt;br /&gt;
In the above format, it could simply be a suffix &amp;lt;code&amp;gt;default=VALUE&amp;lt;/code&amp;gt;&lt;br /&gt;
Also drop the &amp;quot;default&amp;quot; argument in get_options. As components have their own cmos.layout snippets, we can always take those definitions' defaults, even if mainboards don't make use of CMOS themselves.&lt;br /&gt;
&lt;br /&gt;
=== Value overrides ===&lt;br /&gt;
A chipset might provide options (eg. SATA/IDE) that a board might override (eg. because it doesn't provide IDE even if the chipset would support it). Allow the mainboard to override config options. This wouldn't just set a new default, but drop the option from CMOS entirely, hardcoding the value in the build. Some autogenerated #ifdef/#define magic might help there.&lt;br /&gt;
&lt;br /&gt;
=== Provide update paths and avoid conflicts in addressing ===&lt;br /&gt;
Research topic: How could updates to nvram configuration (eg. new fields) be handled safely, and how could we get away from carving out the CMOS memory space manually? (one proposal: http://article.gmane.org/gmane.linux.bios/64572)&lt;br /&gt;
&lt;br /&gt;
Simple solution: Add smarts to flashrom: When running from coreboot, it has current cmos.layout and the table, as well as the new cmos.layout (and the new defaults). Take new defaults, fill up with current settings, and write the result to CMOS. This provides automatic values for new configuration options.&lt;br /&gt;
&lt;br /&gt;
=== Checksums ===&lt;br /&gt;
&lt;br /&gt;
The Linux kernel driver expects a non-inverted CMOS checksum for the &amp;quot;PC&amp;quot; area. coreboot inverts this checksum, which makes nvram unusable for the driver. This should be fixed.&lt;br /&gt;
&lt;br /&gt;
== Unify UMA / onboard video code and config ==&lt;br /&gt;
&lt;br /&gt;
Unify CONFIG_VIDEO_MB, CONFIG_GFXUMA, and similar options and make all code honor them.&lt;br /&gt;
&lt;br /&gt;
== Add / Unify / Test kconfig compile-time options and runtime CMOS options in coreboot ==&lt;br /&gt;
&lt;br /&gt;
Some coreboot options are compile-time configurable only at the moment (via kconfig), but should also be runtime-configurable via CMOS/NVRAM options. We should fix this.&lt;br /&gt;
&lt;br /&gt;
* Make all options (where it makes sense) run-time configurable via CMOS options, in addition to having sane compile-time defaults configured via kconfig.&lt;br /&gt;
* This includes many options which are northbridge-specific, many southbridge-specific, and some board-specific ones.&lt;br /&gt;
* Example options: Enable/disable IDE channel(s) / SATA / USB / SCSI / etc., enable/disable UDMA on older boards, amount of memory used for IGP/UMA, choice between IDE or NAND flash (on CS5536 boards), IDE 40/80 pin cable selection (VT8237R boards for example), and many more.&lt;br /&gt;
* Some of these options are already handled in the code via CMOS options, some are compile-time only so far, so do not yet exist at all.&lt;br /&gt;
&lt;br /&gt;
== Kconfig TODO ==&lt;br /&gt;
&lt;br /&gt;
Notes / Style guide:&lt;br /&gt;
&lt;br /&gt;
* Any bool variables that are (re-)defined to 'y' in Kconfig files can be simplified by using '''select FOO''' instead of the usual paragraph, as long as they're defined globally as '''default n''' boolean elsewhere.&lt;br /&gt;
* Use '''bool''' instead of '''boolean'''.&lt;br /&gt;
* Use '''default n''' instead of '''default false'''.&lt;br /&gt;
&lt;br /&gt;
Various post-conversion things to consider:&lt;br /&gt;
&lt;br /&gt;
* Consider ways to move crt0-y and ldscript-y out of $(src)/arch/i386/Makefile.inc where appropriate (ie. component specific)&lt;br /&gt;
* Make various CONFIG_* variable which were in each board's Kconfig file global or per-chipset options (instead of per-board). Examples:&lt;br /&gt;
** UDELAY_TSC, TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 (also check UDELAY_IO, APIC, etc.)&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
Stuff to port from v3 to v4:&lt;br /&gt;
&lt;br /&gt;
* All boards that are in v3 but not in v4 (especially Geode LX stuff. Also check amd/model_gx*).&lt;br /&gt;
* Some remaining useful Kconfig options.&lt;br /&gt;
&lt;br /&gt;
== USB Debug Console ==&lt;br /&gt;
&lt;br /&gt;
Fix USB debug console and make the Kconfig choice actually work. Right now it's possible to transmit single characters but it's not really hooked up.&lt;br /&gt;
&lt;br /&gt;
== Clean up Assembler / Linker mess ==&lt;br /&gt;
&lt;br /&gt;
* Drop / combine / normalize .ld/.lb/.lds linker scripts.&lt;br /&gt;
* Move them to a common place.&lt;br /&gt;
* Drop / combine / normalize .inc / .S files.&lt;br /&gt;
&lt;br /&gt;
== Geode issues ==&lt;br /&gt;
&lt;br /&gt;
* Fix / Unify vsmsetup.c.&lt;br /&gt;
* Fix CS5535/CS5536/GX2/LX &amp;quot;chipsetinit&amp;quot; issue.&lt;br /&gt;
* Convert openvsa from MASM to something gnu as can use&lt;br /&gt;
&lt;br /&gt;
== Stack and Suspend/Resume ==&lt;br /&gt;
&lt;br /&gt;
* Use CONFIG_RAMBASE + HIGH_MEMORY_SAFE instead of 0x40000 for stack.&lt;br /&gt;
&lt;br /&gt;
== Fix Suspend/Resume on AMD64 ==&lt;br /&gt;
&lt;br /&gt;
* Use cbmem in romstage on the AMD64 board(s) that have suspend/resume.&lt;br /&gt;
&lt;br /&gt;
== printk into buffer ==&lt;br /&gt;
&lt;br /&gt;
Port the v3 feature that printk can write into a buffer (that might be usable from the client OS, or dumped to output, as soon as output exists).&lt;br /&gt;
&lt;br /&gt;
Consider use cases first (no need to provide buffer support, if all it would be useful for is buffering pre-CAR messages - which can't be buffered).&lt;br /&gt;
&lt;br /&gt;
== Global variables ==&lt;br /&gt;
&lt;br /&gt;
* Port the global variables framework from v3.&lt;br /&gt;
* Make use of it where appropriate.&lt;br /&gt;
&lt;br /&gt;
== Clear phases in romstage ==&lt;br /&gt;
&lt;br /&gt;
* Split up the code (esp. in romstage) into more sensibly separated phases.&lt;br /&gt;
* Maybe use v3 for inspiration where the lines can be drawn.&lt;br /&gt;
&lt;br /&gt;
== Refactor SMBUS code ==&lt;br /&gt;
&lt;br /&gt;
We have tons of duplication in the smbus/spd related functions and #defines. Every chipset (and sometimes board) does the same with the exception of the 2 or 3 boards that multiplex spd roms.&lt;br /&gt;
* Deduplicate SMBUS related defines, they're virtually everywhere (and all the same)&lt;br /&gt;
* Deduplicate the lowlevel functions - they should really be the same (except for some style differences)&lt;br /&gt;
* Deduplicate the non-multiplexing highlevel functions. Mark them weak, so multiplexing boards can simply provide their own variant, which override the weak functions automatically&lt;br /&gt;
&lt;br /&gt;
== Move all registers/chip definitions in XML format for all tools ==&lt;br /&gt;
&lt;br /&gt;
For easy creating definitions of new chips, or editing old register definitions, improve readability support, and add support for humanless parsing the logs we decide move all data for msrtool, inteltool, superiotool, etc in XML-based format. See here: [[XML]]&lt;br /&gt;
&lt;br /&gt;
== Device dependency engine ==&lt;br /&gt;
&lt;br /&gt;
We have a couple of places where we want to disable (or otherwise reconfigure) a device if another one is active: SATA and IDE covering the same ports, integrated graphics / plugin video cards, ...&lt;br /&gt;
Right now, such things are done &amp;quot;somewhere&amp;quot;, usually far away from any meaningful context. This idea isn't as actionable as the others as it's still missing even a sketch of a design.&lt;br /&gt;
&lt;br /&gt;
* Find a good place (or multiple places) where such device decisions can be made&lt;br /&gt;
* Refactor the code to make use of it&lt;br /&gt;
&lt;br /&gt;
== Clean out duplicates ==&lt;br /&gt;
&lt;br /&gt;
Tools like http://duplo.giants.ch/ or http://pmd.sourceforge.net/cpd.html might be able to help finding duplicates that can be factored out.&lt;br /&gt;
&lt;br /&gt;
== CONFIG_MAX_PHYSICAL_CPUS ==&lt;br /&gt;
&lt;br /&gt;
CONFIG_MAX_PHYSICAL_CPUS should be dropped. It's set for all boards, but it's only really used by AMD K8 and newer systems (and not on Intel based systems at all).&lt;br /&gt;
In the AMD code it is used wrongly:&lt;br /&gt;
&lt;br /&gt;
* for determining which SPD offsets to include&lt;br /&gt;
* to determine APIC IDs&lt;br /&gt;
* possibly some more things&lt;br /&gt;
&lt;br /&gt;
= Finished =&lt;br /&gt;
&lt;br /&gt;
== Port v3 Resource Allocator ==&lt;br /&gt;
&lt;br /&gt;
The v3 resource allocator should be ported to v4.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream. It's limited to one area for resources, that doesn't overlap with fixed resources.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Myles&lt;br /&gt;
&lt;br /&gt;
== Config &amp;amp; Build System ==&lt;br /&gt;
&lt;br /&gt;
The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow. Use kconfig to improve the configuration management.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, boards are converted. Old system is gone. All boards build. HOWEVER, not all boards have been boot-tested yet, please report any issues you encounter!&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Uwe, Cristi&lt;br /&gt;
&lt;br /&gt;
== Unify text printing functions ==&lt;br /&gt;
&lt;br /&gt;
There are several copies of print_* and printk_* in the code. Unify them so everything is happier than before (because the disjoint features are merged).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Stefan&lt;br /&gt;
&lt;br /&gt;
== Common payload location ==&lt;br /&gt;
&lt;br /&gt;
Many boards have different names for the payload in targets/.../Config.lb (payload.elf, filo.elf, etherboot.elf, etc) and locations (../payload.elf, or various absolute paths which only work for one developer). The problem will be fixed with kconfig, where the user specifies a payload manually in &amp;quot;make menuconfig&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
== Fix ALL build warnings ==&lt;br /&gt;
&lt;br /&gt;
* Someone has to do the deed.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, the build usually issues no warnings. If you see warnings/errors, please report a bug.&lt;br /&gt;
&lt;br /&gt;
== Post codes ==&lt;br /&gt;
&lt;br /&gt;
Find all outb(x, 0x80) and replace them with post_code(). Use common numbers / defines across the boards.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, except for some local delay routines in early smbus code.&lt;br /&gt;
&lt;br /&gt;
== Use central oprom init ==&lt;br /&gt;
&lt;br /&gt;
* Get rid of all vgabios.c, make all chipsets with own vgabios.c use devices/oprom/x86.c.&lt;br /&gt;
* Use the realmode code for vsmsetup too.&lt;br /&gt;
&lt;br /&gt;
== Use nvramtool for static option table creation ==&lt;br /&gt;
&lt;br /&gt;
Instead of maintaining two tools (build_opt_tbl, nvramtool), maintain only one. This mostly requires adding an binary output writer to nvramtool, a cmos.layout parser already exists.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, upstream.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Vikram&lt;br /&gt;
&lt;br /&gt;
== Local APIC addresses ==&lt;br /&gt;
&lt;br /&gt;
There are several defines in several places that describe the local APIC address:&lt;br /&gt;
&lt;br /&gt;
* LAPIC_ADDR&lt;br /&gt;
* LOCAL_APIC_ADDR (even twice)&lt;br /&gt;
* LAPIC_DEFAULT_BASE&lt;br /&gt;
&lt;br /&gt;
This should be unified.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	<entry>
		<id>http://www.coreboot.org/Infrastructure_Projects</id>
		<title>Infrastructure Projects</title>
		<link rel="alternate" type="text/html" href="http://www.coreboot.org/Infrastructure_Projects"/>
				<updated>2012-09-21T13:09:45Z</updated>
		
		<summary type="html">&lt;p&gt;PatrickGeorgi: /* Provide update paths and avoid conflicts in addressing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects a list of projects to improve the infrastructure of coreboot v4. Infrastructure means those parts of the code that aren't chipset or mainboard specific, but are used by all of them. The idea is to consolidate a list of things &amp;quot;to do&amp;quot; with their status and responsible developers.&lt;br /&gt;
&lt;br /&gt;
= In progress =&lt;br /&gt;
&lt;br /&gt;
== Low/High Tables ==&lt;br /&gt;
&lt;br /&gt;
SeaBIOS requires a copy of various BIOS tables outside the fseg as it overwrites that segment. Generally clean out the table generation code.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, implemented on some boards. There are problems on some chipsets/boards because of incorrect CONFIG_VIDEO_MB handling. The might be other issues, too (not clear, yet).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tested&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdfam10&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdht&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdk8&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amdmct&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx1&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/gx2&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/lx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7501&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7520&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/e7525&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i440bx&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82810&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82830&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i855&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i945&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on Kontron 986LCD-M and Roda RK886EX&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn400&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cn700&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Tested on VIA pc2500e.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/cx700&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8601&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8623&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vx800&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan&lt;br /&gt;
&lt;br /&gt;
== CBFS ==&lt;br /&gt;
&lt;br /&gt;
A filesystem-alike layout for the coreboot image, to enable systems like bayou and to clean up the system in general (eg. no more buildrom).&lt;br /&gt;
&lt;br /&gt;
'''Status:'''&lt;br /&gt;
&lt;br /&gt;
Upstream, pre-CBFS infrastructure removed.&lt;br /&gt;
&lt;br /&gt;
There are places where using CBFS might be a good idea: Everything that makes use of external files, for example the VSA code in the Geode chipset code. VSA is converted, and tested on a couple of configurations, but untested on others.&lt;br /&gt;
&lt;br /&gt;
Some boards have issues with CBFS because it requires the whole ROM to be accessible at a quite early point in time (compared to the old mechanism). The following table contains validated knowledge if the ROM mapping happens at the right time.&lt;br /&gt;
&lt;br /&gt;
All boards that manage to boot in a tinybootblock configuration are capable at least for the used ROM size (it might be that larger ROMs would fail because they require mapping the larger space)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#6699ff&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Vendor/chipset&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | ROM enabled&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Tiny bootblock&lt;br /&gt;
! align=&amp;quot;left&amp;quot; | Status / Comments&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/amd8111&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5530&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5535&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/cs5536&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb600&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on siemens/sitemp_g1p1 by [[User:PatrickGeorgi|PatrickGeorgi]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| amd/sb700&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| broadcom/bcm5785&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/esb6300&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i3100&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82371eb&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on ASUS P2B by [[User:Uwe|Uwe Hermann]].&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ax&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801bx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801cx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801dx&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801ex&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| intel/i82801gx&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:lime&amp;quot; | Y&lt;br /&gt;
| Build- and runtime-tested on Kontron 986LCD-m by PatrickGeorgi&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/ck804&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| nvidia/mcp55&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| sis/sis966&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| Not tested on hardware, yet.&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8231&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8235&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt8237r&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| style=&amp;quot;background:yellow&amp;quot; | Y&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot;&lt;br /&gt;
| via/vt82c686&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| style=&amp;quot;background:red&amp;quot; | N&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Myles, Uwe&lt;br /&gt;
&lt;br /&gt;
== Tiny Bootblock ==&lt;br /&gt;
&lt;br /&gt;
Right now, the decision whether to use fallback or normal is in cache_as_ram_auto.c in many boards. Make that generic again (also helps with further CBFSification at some point).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Available in Kconfig, works on a couple of boards. Requires per southbridge changes (and northbridge in some cases) on many boards (related to ROM enable, see CBFS section).&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;br /&gt;
&lt;br /&gt;
== Remove .c includes ==&lt;br /&gt;
&lt;br /&gt;
Currently we include lots of code in the romstage using the preprocessor. This makes it harder to support new boards (where chipset components are supported already) and maintenance in general. So we should get rid of it where possible, using the linker for CAR boards and the build system for the remaining non-CAR boards appropriately.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' CAR boards only for now, to keep the project manageable. i945 is modified already, and boards based on it have only one or two remaining source files they include. Interacts with the next project &amp;quot;Move configuration to Kconfig&amp;quot;, which ensures that code still sees all configuration when it is compiled separately.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Move configuration to Kconfig ==&lt;br /&gt;
&lt;br /&gt;
Many boards have lots of &amp;lt;code&amp;gt;#define VAR somevalue&amp;lt;/code&amp;gt; statements in their romstage.c which define how certain component drivers are compiled. With Kconfig, there's a better place to store them. This project is about moving all configuration values out of romstage.c (and other places if appropriate) and into Kconfig. &amp;lt;code&amp;gt;util/lint/lint-001-no-global-config-in-romstage&amp;lt;/code&amp;gt; helps figuring out what remains to be done.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Intel and VIA based boards should be mostly configuration free, AMD boards still have defines in their romstage. AMD/AGESA Boards have platform_cfg.h for which a solution should be found.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Uwe&lt;br /&gt;
&lt;br /&gt;
== Unify ACPI ==&lt;br /&gt;
* Figure out generic ACPI code and deduplicate it.&lt;br /&gt;
* Fix issues like http://www.coreboot.org/pipermail/coreboot/2011-May/065179.html&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
* Every ACPI board has its own routines to compile the ACPI sources. Unify that.&lt;br /&gt;
&lt;br /&gt;
= More ideas =&lt;br /&gt;
&lt;br /&gt;
== CMOS handling ==&lt;br /&gt;
&lt;br /&gt;
The subprojects are ordered in a way that minimizes lost work.&lt;br /&gt;
&lt;br /&gt;
=== Simplify get_option ===&lt;br /&gt;
Replace &amp;lt;code&amp;gt;get_option(VALstart, VALlen, default)&amp;lt;/code&amp;gt; with a macro that hides start/len in something like &amp;lt;code&amp;gt;get_option(VAL, default)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement a new cmos.layout format ===&lt;br /&gt;
The current layout is simple to parse, but not so simple to maintain or extend.&lt;br /&gt;
Create a format that combines the various fields into a single representation, eg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
400/8 century enum { 0x19=&amp;quot;1900&amp;quot;, 0x20=&amp;quot;2000&amp;quot;, 0x21=&amp;quot;2100&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
408/512 some_string string&lt;br /&gt;
&lt;br /&gt;
984/16 checksum checksum 392 983&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implement an include statement ===&lt;br /&gt;
That way, we can have global fields (RTC, century byte), per chipset component fields (defined by northbrigde/southbridge/superio), per mainboard fields at their appropriate places.&lt;br /&gt;
&lt;br /&gt;
=== CMOS defaults ===&lt;br /&gt;
Allow (somehow) to define defaults for all CMOS fields, and create a static table from that. Use that at runtime if the CMOS checksum fails.&lt;br /&gt;
In the above format, it could simply be a suffix &amp;lt;code&amp;gt;default=VALUE&amp;lt;/code&amp;gt;&lt;br /&gt;
Also drop the &amp;quot;default&amp;quot; argument in get_options. As components have their own cmos.layout snippets, we can always take those definitions' defaults, even if mainboards don't make use of CMOS themselves.&lt;br /&gt;
&lt;br /&gt;
=== Value overrides ===&lt;br /&gt;
A chipset might provide options (eg. SATA/IDE) that a board might override (eg. because it doesn't provide IDE even if the chipset would support it). Allow the mainboard to override config options. This wouldn't just set a new default, but drop the option from CMOS entirely, hardcoding the value in the build. Some autogenerated #ifdef/#define magic might help there.&lt;br /&gt;
&lt;br /&gt;
=== Provide update paths and avoid conflicts in addressing ===&lt;br /&gt;
Research topic: How could updates to nvram configuration (eg. new fields) be handled safely, and how could we get away from carving out the CMOS memory space manually? (one proposal: http://article.gmane.org/gmane.linux.bios/64572)&lt;br /&gt;
&lt;br /&gt;
Simple solution: Add smarts to flashrom: When running from coreboot, it has current cmos.layout and the table, as well as the new cmos.layout (and the new defaults). Take new defaults, fill up with current settings, and write the result to CMOS. This provides automatic values for new configuration options.&lt;br /&gt;
&lt;br /&gt;
=== Checksums ===&lt;br /&gt;
&lt;br /&gt;
The Linux kernel driver expects a non-inverted CMOS checksum for the &amp;quot;PC&amp;quot; area. coreboot inverts this checksum, which makes nvram unusable for the driver. This should be fixed.&lt;br /&gt;
&lt;br /&gt;
== Unify UMA / onboard video code and config ==&lt;br /&gt;
&lt;br /&gt;
Unify CONFIG_VIDEO_MB, CONFIG_GFXUMA, and similar options and make all code honor them.&lt;br /&gt;
&lt;br /&gt;
== Add / Unify / Test kconfig compile-time options and runtime CMOS options in coreboot ==&lt;br /&gt;
&lt;br /&gt;
Some coreboot options are compile-time configurable only at the moment (via kconfig), but should also be runtime-configurable via CMOS/NVRAM options. We should fix this.&lt;br /&gt;
&lt;br /&gt;
* Make all options (where it makes sense) run-time configurable via CMOS options, in addition to having sane compile-time defaults configured via kconfig.&lt;br /&gt;
* This includes many options which are northbridge-specific, many southbridge-specific, and some board-specific ones.&lt;br /&gt;
* Example options: Enable/disable IDE channel(s) / SATA / USB / SCSI / etc., enable/disable UDMA on older boards, amount of memory used for IGP/UMA, choice between IDE or NAND flash (on CS5536 boards), IDE 40/80 pin cable selection (VT8237R boards for example), and many more.&lt;br /&gt;
* Some of these options are already handled in the code via CMOS options, some are compile-time only so far, so do not yet exist at all.&lt;br /&gt;
&lt;br /&gt;
== Kconfig TODO ==&lt;br /&gt;
&lt;br /&gt;
Notes / Style guide:&lt;br /&gt;
&lt;br /&gt;
* Any bool variables that are (re-)defined to 'y' in Kconfig files can be simplified by using '''select FOO''' instead of the usual paragraph, as long as they're defined globally as '''default n''' boolean elsewhere.&lt;br /&gt;
* Use '''bool''' instead of '''boolean'''.&lt;br /&gt;
* Use '''default n''' instead of '''default false'''.&lt;br /&gt;
&lt;br /&gt;
Various post-conversion things to consider:&lt;br /&gt;
&lt;br /&gt;
* Consider ways to move crt0-y and ldscript-y out of $(src)/arch/i386/Makefile.inc where appropriate (ie. component specific)&lt;br /&gt;
* Make various CONFIG_* variable which were in each board's Kconfig file global or per-chipset options (instead of per-board). Examples:&lt;br /&gt;
** UDELAY_TSC, TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 (also check UDELAY_IO, APIC, etc.)&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
Stuff to port from v3 to v4:&lt;br /&gt;
&lt;br /&gt;
* All boards that are in v3 but not in v4 (especially Geode LX stuff. Also check amd/model_gx*).&lt;br /&gt;
* Some remaining useful Kconfig options.&lt;br /&gt;
&lt;br /&gt;
== USB Debug Console ==&lt;br /&gt;
&lt;br /&gt;
Fix USB debug console and make the Kconfig choice actually work. Right now it's possible to transmit single characters but it's not really hooked up.&lt;br /&gt;
&lt;br /&gt;
== Clean up Assembler / Linker mess ==&lt;br /&gt;
&lt;br /&gt;
* Drop / combine / normalize .ld/.lb/.lds linker scripts.&lt;br /&gt;
* Move them to a common place.&lt;br /&gt;
* Drop / combine / normalize .inc / .S files.&lt;br /&gt;
&lt;br /&gt;
== Geode issues ==&lt;br /&gt;
&lt;br /&gt;
* Fix / Unify vsmsetup.c.&lt;br /&gt;
* Fix CS5535/CS5536/GX2/LX &amp;quot;chipsetinit&amp;quot; issue.&lt;br /&gt;
&lt;br /&gt;
== Stack and Suspend/Resume ==&lt;br /&gt;
&lt;br /&gt;
* Use CONFIG_RAMBASE + HIGH_MEMORY_SAFE instead of 0x40000 for stack.&lt;br /&gt;
&lt;br /&gt;
== Fix Suspend/Resume on AMD64 ==&lt;br /&gt;
&lt;br /&gt;
* Use cbmem in romstage on the AMD64 board(s) that have suspend/resume.&lt;br /&gt;
&lt;br /&gt;
== printk into buffer ==&lt;br /&gt;
&lt;br /&gt;
Port the v3 feature that printk can write into a buffer (that might be usable from the client OS, or dumped to output, as soon as output exists).&lt;br /&gt;
&lt;br /&gt;
Consider use cases first (no need to provide buffer support, if all it would be useful for is buffering pre-CAR messages - which can't be buffered).&lt;br /&gt;
&lt;br /&gt;
== Global variables ==&lt;br /&gt;
&lt;br /&gt;
* Port the global variables framework from v3.&lt;br /&gt;
* Make use of it where appropriate.&lt;br /&gt;
&lt;br /&gt;
== Clear phases in romstage ==&lt;br /&gt;
&lt;br /&gt;
* Split up the code (esp. in romstage) into more sensibly separated phases.&lt;br /&gt;
* Maybe use v3 for inspiration where the lines can be drawn.&lt;br /&gt;
&lt;br /&gt;
== Refactor SMBUS code ==&lt;br /&gt;
&lt;br /&gt;
We have tons of duplication in the smbus/spd related functions and #defines. Every chipset (and sometimes board) does the same with the exception of the 2 or 3 boards that multiplex spd roms.&lt;br /&gt;
* Deduplicate SMBUS related defines, they're virtually everywhere (and all the same)&lt;br /&gt;
* Deduplicate the lowlevel functions - they should really be the same (except for some style differences)&lt;br /&gt;
* Deduplicate the non-multiplexing highlevel functions. Mark them weak, so multiplexing boards can simply provide their own variant, which override the weak functions automatically&lt;br /&gt;
&lt;br /&gt;
== Move all registers/chip definitions in XML format for all tools ==&lt;br /&gt;
&lt;br /&gt;
For easy creating definitions of new chips, or editing old register definitions, improve readability support, and add support for humanless parsing the logs we decide move all data for msrtool, inteltool, superiotool, etc in XML-based format. See here: [[XML]]&lt;br /&gt;
&lt;br /&gt;
== Device dependency engine ==&lt;br /&gt;
&lt;br /&gt;
We have a couple of places where we want to disable (or otherwise reconfigure) a device if another one is active: SATA and IDE covering the same ports, integrated graphics / plugin video cards, ...&lt;br /&gt;
Right now, such things are done &amp;quot;somewhere&amp;quot;, usually far away from any meaningful context. This idea isn't as actionable as the others as it's still missing even a sketch of a design.&lt;br /&gt;
&lt;br /&gt;
* Find a good place (or multiple places) where such device decisions can be made&lt;br /&gt;
* Refactor the code to make use of it&lt;br /&gt;
&lt;br /&gt;
== Clean out duplicates ==&lt;br /&gt;
&lt;br /&gt;
Tools like http://duplo.giants.ch/ or http://pmd.sourceforge.net/cpd.html might be able to help finding duplicates that can be factored out.&lt;br /&gt;
&lt;br /&gt;
== CONFIG_MAX_PHYSICAL_CPUS ==&lt;br /&gt;
&lt;br /&gt;
CONFIG_MAX_PHYSICAL_CPUS should be dropped. It's set for all boards, but it's only really used by AMD K8 and newer systems (and not on Intel based systems at all).&lt;br /&gt;
In the AMD code it is used wrongly:&lt;br /&gt;
&lt;br /&gt;
* for determining which SPD offsets to include&lt;br /&gt;
* to determine APIC IDs&lt;br /&gt;
* possibly some more things&lt;br /&gt;
&lt;br /&gt;
= Finished =&lt;br /&gt;
&lt;br /&gt;
== Port v3 Resource Allocator ==&lt;br /&gt;
&lt;br /&gt;
The v3 resource allocator should be ported to v4.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream. It's limited to one area for resources, that doesn't overlap with fixed resources.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Myles&lt;br /&gt;
&lt;br /&gt;
== Config &amp;amp; Build System ==&lt;br /&gt;
&lt;br /&gt;
The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow. Use kconfig to improve the configuration management.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Upstream, boards are converted. Old system is gone. All boards build. HOWEVER, not all boards have been boot-tested yet, please report any issues you encounter!&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Stefan, Ron, Patrick, Uwe, Cristi&lt;br /&gt;
&lt;br /&gt;
== Unify text printing functions ==&lt;br /&gt;
&lt;br /&gt;
There are several copies of print_* and printk_* in the code. Unify them so everything is happier than before (because the disjoint features are merged).&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick, Stefan&lt;br /&gt;
&lt;br /&gt;
== Common payload location ==&lt;br /&gt;
&lt;br /&gt;
Many boards have different names for the payload in targets/.../Config.lb (payload.elf, filo.elf, etherboot.elf, etc) and locations (../payload.elf, or various absolute paths which only work for one developer). The problem will be fixed with kconfig, where the user specifies a payload manually in &amp;quot;make menuconfig&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished.&lt;br /&gt;
&lt;br /&gt;
== Fix ALL build warnings ==&lt;br /&gt;
&lt;br /&gt;
* Someone has to do the deed.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, the build usually issues no warnings. If you see warnings/errors, please report a bug.&lt;br /&gt;
&lt;br /&gt;
== Post codes ==&lt;br /&gt;
&lt;br /&gt;
Find all outb(x, 0x80) and replace them with post_code(). Use common numbers / defines across the boards.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, except for some local delay routines in early smbus code.&lt;br /&gt;
&lt;br /&gt;
== Use central oprom init ==&lt;br /&gt;
&lt;br /&gt;
* Get rid of all vgabios.c, make all chipsets with own vgabios.c use devices/oprom/x86.c.&lt;br /&gt;
* Use the realmode code for vsmsetup too.&lt;br /&gt;
&lt;br /&gt;
== Use nvramtool for static option table creation ==&lt;br /&gt;
&lt;br /&gt;
Instead of maintaining two tools (build_opt_tbl, nvramtool), maintain only one. This mostly requires adding an binary output writer to nvramtool, a cmos.layout parser already exists.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Finished, upstream.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Vikram&lt;br /&gt;
&lt;br /&gt;
== Local APIC addresses ==&lt;br /&gt;
&lt;br /&gt;
There are several defines in several places that describe the local APIC address:&lt;br /&gt;
&lt;br /&gt;
* LAPIC_ADDR&lt;br /&gt;
* LOCAL_APIC_ADDR (even twice)&lt;br /&gt;
* LAPIC_DEFAULT_BASE&lt;br /&gt;
&lt;br /&gt;
This should be unified.&lt;br /&gt;
&lt;br /&gt;
'''Developers:''' Patrick&lt;/div&gt;</summary>
		<author><name>PatrickGeorgi</name></author>	</entry>

	</feed>