<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.5os.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.5os.net/w/api.php?action=feedcontributions&amp;user=MagicalTux&amp;feedformat=atom</id>
		<title>Go-OS - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.5os.net/w/api.php?action=feedcontributions&amp;user=MagicalTux&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Special:Contributions/MagicalTux"/>
		<updated>2012-05-21T06:07:53Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19alpha</generator>

	<entry>
		<id>http://www.5os.net/wiki/User:MagicalTux</id>
		<title>User:MagicalTux</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/User:MagicalTux"/>
				<updated>2010-06-06T09:09:32Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Well... I'm MagicalTux, developper of Go-OS...&lt;br /&gt;
&lt;br /&gt;
* '''Name:''' Mark KARPELÈS&lt;br /&gt;
* '''Contact''' [mailto:karpeles@hell.ne.jp karpeles@hell.ne.jp]&lt;br /&gt;
* '''Age:''' 25 years old&lt;br /&gt;
* '''Location:''' Paris, France&lt;br /&gt;
* '''Studies:''' Not really&lt;br /&gt;
* '''Working on:''' A lot of crap&lt;br /&gt;
* '''Speciality:''' Non-GUI stuff.&lt;br /&gt;
* '''Work:''' PHP developper&lt;br /&gt;
* '''Main computer:''' ''NoName'' - Core2DUO E6750 - 4GB RAM - 1.4TB HDD - nVidia geForce 8800GTX 768MB&lt;br /&gt;
* '''Laptop''' ''Panasonic'' CF-R6 - Core2DUE 1.06Ghz - 1GB RAM - 128GB SSD HDD - Intel 945GM&lt;br /&gt;
* '''Operating system:''' Gentoo ~amd64, and Go-OS of course!&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
* [[Revision701 JPEG Test]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Stability</id>
		<title>Stability</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Stability"/>
				<updated>2010-05-22T04:13:47Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: Created page with 'Achieving stability is not going to be something easy.  The main idea is to let people use newer releases (or beta versions) of their favourite software and report bugs. There is...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Achieving stability is not going to be something easy.&lt;br /&gt;
&lt;br /&gt;
The main idea is to let people use newer releases (or beta versions) of their favourite software and report bugs. There is also a need for a system able to identify the origin of crashes and bugs and report them (in software and drivers).&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Goals</id>
		<title>Goals</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Goals"/>
				<updated>2010-05-22T03:42:42Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go-OS is an operating system, and we have goals for this operating system...&lt;br /&gt;
&lt;br /&gt;
== Primary goals ==&lt;br /&gt;
* Extremly fast boot (less than 5 seconds to display the desktop)&lt;br /&gt;
* OpenGL UI&lt;br /&gt;
* Dynamic on-disk kernel image&lt;br /&gt;
* [[Security]]&lt;br /&gt;
* [[Stability]]&lt;br /&gt;
&lt;br /&gt;
== Hidden goals ==&lt;br /&gt;
* Rule the world&lt;br /&gt;
* Have Microsoft go bankrupt&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/%E4%BA%94FS</id>
		<title>五FS</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/%E4%BA%94FS"/>
				<updated>2009-10-24T19:08:30Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: Created page with 'The 五FS (Go FileSystem) is a filesystem made for 五OS.  == Features ==  === Goal #1 ===  * global balanced tree architecture * block size abstraction * allocation groups * one...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 五FS (Go FileSystem) is a filesystem made for 五OS.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Goal #1 ===&lt;br /&gt;
&lt;br /&gt;
* global balanced tree architecture&lt;br /&gt;
* block size abstraction&lt;br /&gt;
* allocation groups&lt;br /&gt;
* one tree of free space per allocation group (with two indexes)&lt;br /&gt;
&lt;br /&gt;
=== Goal #2 ===&lt;br /&gt;
&lt;br /&gt;
* online defragment&lt;br /&gt;
* online resize (grow/reduce)&lt;br /&gt;
&lt;br /&gt;
=== Goal #3 ===&lt;br /&gt;
&lt;br /&gt;
* snapshots&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Status</id>
		<title>Status</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Status"/>
				<updated>2009-10-24T18:29:15Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* Others */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Status ==&lt;br /&gt;
&lt;br /&gt;
=== System support ===&lt;br /&gt;
* [[QEmu]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Bochs : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (unable to list pci devices on newer bochs)&lt;br /&gt;
* [[VirtualBox]] : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (stops at 0x206e05: mov %edx,%ecx)&lt;br /&gt;
* [[VMWare]] : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (dies on boot-loader with VMWare Player)&lt;br /&gt;
* [[CF-R6]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (16bits emulated mode)&lt;br /&gt;
&lt;br /&gt;
=== Internal stuff ===&lt;br /&gt;
* '''Paging''': In progress (need to support different values of cr3 between each process)&lt;br /&gt;
* '''Multiprocessing''': Depends on Paging&lt;br /&gt;
* '''Virtual File System''': In progress&lt;br /&gt;
* 64bits: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* CPU Detection: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Interrupts: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Exceptions: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Syscalls: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Display subsystem: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (but incomplete, waiting for userspace abstraction)&lt;br /&gt;
: TODO: Move display subsystem to a module ?&lt;br /&gt;
* Modules subsystem: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[:Category:Modules|Modules]] ===&lt;br /&gt;
&lt;br /&gt;
* PCI Support : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Networking : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;75% done&amp;lt;/span&amp;gt;&lt;br /&gt;
** Generic sockets system: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;40% done&amp;lt;/span&amp;gt;&lt;br /&gt;
** TCP: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;Pending&amp;lt;/span&amp;gt;&lt;br /&gt;
** UDP: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;95% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* '''USB Support''' : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;Pending&amp;lt;/span&amp;gt;&lt;br /&gt;
* '''USB UHCI Support''' : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;85% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* IDE access : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* ext3 read-only access : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Keyboard : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Modules on-start autoloading (coldplug) : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GFX Drivers ====&lt;br /&gt;
* QEmu/Bochs/VirtualBox : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* VMWare : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Net Drivers ====&lt;br /&gt;
* RTL-8139 : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (needs stress-testing)&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
* [[五SDK]] (五OS' SDK) : '''TODO''' (this will contain kernel's includes, sample modules, and more)&lt;br /&gt;
* [[五FS]]&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
=== BombStrike ===&lt;br /&gt;
&lt;br /&gt;
* '''AHCI'''&lt;br /&gt;
* Mouse support&lt;br /&gt;
&lt;br /&gt;
=== MagicalTux ===&lt;br /&gt;
&lt;br /&gt;
* [[五SDK]]&lt;br /&gt;
* '''USB support (EHCI)'''&lt;br /&gt;
* USB Mass Storage support (seems to requires SCSI)&lt;br /&gt;
* TCP Networking, Userland networking&lt;br /&gt;
* UNICODE system layer&lt;br /&gt;
* Files abstraction system&lt;br /&gt;
* Mount subsystem&lt;br /&gt;
* Userspace graphical interface API&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Download</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Download"/>
				<updated>2009-05-18T07:29:13Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can download and test Go-OS. All informations are given on this page.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
Follow [http://dist.5os.net/dev/alpha2/goos-mini-latest.zip this link].&lt;br /&gt;
&lt;br /&gt;
Older versions are also available [http://dist.5os.net/dev/ here].&lt;br /&gt;
&lt;br /&gt;
== Test ==&lt;br /&gt;
&lt;br /&gt;
'''Please note that 五OS won't run on 32bit systems anymore. 64bit or nothing!'''&lt;br /&gt;
&lt;br /&gt;
Run with QEmu (for example) :&lt;br /&gt;
&lt;br /&gt;
 qemu-system-x86_64 -vga std -serial stdio -net nic,model=rtl8139 -net user -k fr mini.bin&lt;br /&gt;
&lt;br /&gt;
If you don't use ''-vga std'', the system won't be able to find a valid graphic card, and will fallback to VESA drivers (which are slower because of BIOS emulation)&lt;br /&gt;
&lt;br /&gt;
== What can I do with the image ? ==&lt;br /&gt;
&lt;br /&gt;
The following interesting commands exists in the sample shell application.&lt;br /&gt;
&lt;br /&gt;
* '''modp &amp;lt;module&amp;gt;''' Load a module in the kernel. Try for example: ''modp network/log'' to load the auto-logging module (will send all log messages to broadcast UDP port 1337). You can also load misc/helloworld for some C++ examples&lt;br /&gt;
* '''lsmod''' List loaded modules&lt;br /&gt;
* '''help''' Shows help&lt;br /&gt;
* '''ls'''&lt;br /&gt;
* '''cd &amp;lt;directory&amp;gt;'''&lt;br /&gt;
* '''cat &amp;lt;file&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Hard disk Data ===&lt;br /&gt;
&lt;br /&gt;
You can extract the parition-space (ext2), and mount it on linux. Once you mounted it, you can edit it, umount it and write it back to the image.&lt;br /&gt;
&lt;br /&gt;
'''Note''': Mounting anything usually requires root privileges.&lt;br /&gt;
&lt;br /&gt;
==== Extract and mount ====&lt;br /&gt;
 dd if=mini.bin of=disk.img bs=512 skip=64k&lt;br /&gt;
 mkdir disk&lt;br /&gt;
 mount -o loop disk.img disk&lt;br /&gt;
&lt;br /&gt;
==== Umount and pack back ====&lt;br /&gt;
 umount disk&lt;br /&gt;
 dd if=disk.img of=mini.bin bs=512 seek=64k&lt;br /&gt;
 rm -rf disk.img disk&lt;br /&gt;
&lt;br /&gt;
==== Recompile a new test.elf ====&lt;br /&gt;
&lt;br /&gt;
Yes, you can now run your own applications using the Go-OS kernel ! Just replace test.elf inside the disk image by your own home-compiled application, and it'll work.&lt;br /&gt;
&lt;br /&gt;
You will need the [[五SDK]] (System SDK).&lt;br /&gt;
&lt;br /&gt;
Sample code available from [[The first Go-OS external C program]].&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Roadmap</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Roadmap"/>
				<updated>2009-05-18T07:26:21Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Go-OS alpha 1 ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': April 2009 '''&amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;REACHED&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Runs on emulators, plus test hardware&lt;br /&gt;
* Only a shell (or maybe more)&lt;br /&gt;
* USB EHCI Support&lt;br /&gt;
* USB Mass Storage support&lt;br /&gt;
* Working scheduler (we have issues with the current one)&lt;br /&gt;
* Partial network support (UDP, IPv4... and maybe ICMP &amp;amp; TCP)&lt;br /&gt;
&lt;br /&gt;
== Go-OS alpha 2 ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': August 2009&lt;br /&gt;
&lt;br /&gt;
* Runs perfectly on [[QEmu]]/[[VMWare]] and test hardware&lt;br /&gt;
* Basic end-user experience (keyboard/mouse, desktop, simple GUI, and a few applications)&lt;br /&gt;
* Advanced developpers experience (Free SDK, glibc ported, and most of the gfx api implemented)&lt;br /&gt;
&lt;br /&gt;
We'll release a version of Go-OS once this step has been reached, and let everyone start using it and make/port software for Go-OS.&lt;br /&gt;
&lt;br /&gt;
== Go-OS alpha 3 ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': Before June 2010&lt;br /&gt;
&lt;br /&gt;
* Runs on normal PC systems with IDE/SATA disk&lt;br /&gt;
* Able to use some pieces of hardware&lt;br /&gt;
* More advanced user experience (complete GUI, sound)&lt;br /&gt;
&lt;br /&gt;
== Go-OS alpha 4 ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': In 2010&lt;br /&gt;
&lt;br /&gt;
* Runs on standard PC systems with not-too-exotic hardware&lt;br /&gt;
* Full networking support (TCP/UDP, IPv4, IPv6)&lt;br /&gt;
* Able to run most linux applications&lt;br /&gt;
* Correct GUI&lt;br /&gt;
&lt;br /&gt;
== Go-OS beta ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': Before 2011&lt;br /&gt;
&lt;br /&gt;
* More hardware support&lt;br /&gt;
* Compatibility with all linux applications (linux compatibility layer)&lt;br /&gt;
* Most simple Win32 applications can be started (Win32 compatibility layer)&lt;br /&gt;
* Complete GUI ''for great justice''&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Roadmap</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Roadmap"/>
				<updated>2009-05-18T06:58:03Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Go-OS alpha 1 ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': April 2009&lt;br /&gt;
&lt;br /&gt;
* Runs on emulators, plus test hardware&lt;br /&gt;
* Only a shell (or maybe more)&lt;br /&gt;
* USB EHCI Support&lt;br /&gt;
* USB Mass Storage support&lt;br /&gt;
* Working scheduler (we have issues with the current one)&lt;br /&gt;
* Partial network support (UDP, IPv4... and maybe ICMP &amp;amp; TCP)&lt;br /&gt;
&lt;br /&gt;
== Go-OS alpha 2 ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': August 2009&lt;br /&gt;
&lt;br /&gt;
* Runs perfectly on [[QEmu]]/[[VMWare]] and test hardware&lt;br /&gt;
* Basic end-user experience (keyboard/mouse, desktop, simple GUI, and a few applications)&lt;br /&gt;
* Advanced developpers experience (Free SDK, glibc ported, and most of the gfx api implemented)&lt;br /&gt;
&lt;br /&gt;
We'll release a version of Go-OS once this step has been reached, and let everyone start using it and make/port software for Go-OS.&lt;br /&gt;
&lt;br /&gt;
== Go-OS alpha 3 ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': Before June 2010&lt;br /&gt;
&lt;br /&gt;
* Runs on normal PC systems with IDE/SATA disk&lt;br /&gt;
* Able to use some pieces of hardware&lt;br /&gt;
* More advanced user experience (complete GUI, sound)&lt;br /&gt;
&lt;br /&gt;
== Go-OS alpha 4 ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': In 2010&lt;br /&gt;
&lt;br /&gt;
* Runs on standard PC systems with not-too-exotic hardware&lt;br /&gt;
* Full networking support (TCP/UDP, IPv4, IPv6)&lt;br /&gt;
* Able to run most linux applications&lt;br /&gt;
* Correct GUI&lt;br /&gt;
&lt;br /&gt;
== Go-OS beta ==&lt;br /&gt;
&lt;br /&gt;
'''Planned''': Before 2011&lt;br /&gt;
&lt;br /&gt;
* More hardware support&lt;br /&gt;
* Compatibility with all linux applications (linux compatibility layer)&lt;br /&gt;
* Most simple Win32 applications can be started (Win32 compatibility layer)&lt;br /&gt;
* Complete GUI ''for great justice''&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Main_Page"/>
				<updated>2009-05-18T06:08:32Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:Go-OS logo simple.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go-OS ('''五OS''') is a 64bits only fast-growing OS.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision687.png|right|thumb|280px|R687: C++ works in userland]]&lt;br /&gt;
&lt;br /&gt;
Currently works well on [[QEmu]], [[VirtualBox]] and [[VMWare]] and being tested on [[real hardware]].&lt;br /&gt;
* [[Why Go-OS]]&lt;br /&gt;
* [[Goals]]&lt;br /&gt;
* [[Copyright]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Download]]&lt;br /&gt;
* [[Test Environments]]&lt;br /&gt;
* [[Team]]&lt;br /&gt;
* [[Status|Status and TODO]] (&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;new&amp;lt;/span&amp;gt;)&lt;br /&gt;
** [[:Category:Modules|Modules]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Revisions]]&lt;br /&gt;
* [[Proof of concept]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Status</id>
		<title>Status</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Status"/>
				<updated>2009-05-17T18:30:46Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* System support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Status ==&lt;br /&gt;
&lt;br /&gt;
=== System support ===&lt;br /&gt;
* [[QEmu]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Bochs : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (unable to list pci devices on newer bochs)&lt;br /&gt;
* [[VirtualBox]] : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (stops at 0x206e05: mov %edx,%ecx)&lt;br /&gt;
* [[VMWare]] : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (dies on boot-loader with VMWare Player)&lt;br /&gt;
* [[CF-R6]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (16bits emulated mode)&lt;br /&gt;
&lt;br /&gt;
=== Internal stuff ===&lt;br /&gt;
* '''Paging''': In progress (need to support different values of cr3 between each process)&lt;br /&gt;
* '''Multiprocessing''': Depends on Paging&lt;br /&gt;
* '''Virtual File System''': In progress&lt;br /&gt;
* 64bits: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* CPU Detection: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Interrupts: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Exceptions: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Syscalls: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Display subsystem: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (but incomplete, waiting for userspace abstraction)&lt;br /&gt;
: TODO: Move display subsystem to a module ?&lt;br /&gt;
* Modules subsystem: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[:Category:Modules|Modules]] ===&lt;br /&gt;
&lt;br /&gt;
* PCI Support : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Networking : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;75% done&amp;lt;/span&amp;gt;&lt;br /&gt;
** Generic sockets system: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;40% done&amp;lt;/span&amp;gt;&lt;br /&gt;
** TCP: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;Pending&amp;lt;/span&amp;gt;&lt;br /&gt;
** UDP: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;95% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* '''USB Support''' : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;Pending&amp;lt;/span&amp;gt;&lt;br /&gt;
* '''USB UHCI Support''' : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;85% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* IDE access : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* ext3 read-only access : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Keyboard : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Modules on-start autoloading (coldplug) : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GFX Drivers ====&lt;br /&gt;
* QEmu/Bochs/VirtualBox : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* VMWare : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Net Drivers ====&lt;br /&gt;
* RTL-8139 : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (needs stress-testing)&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
* [[五SDK]] (五OS' SDK) : '''TODO''' (this will contain kernel's includes, sample modules, and more)&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
=== BombStrike ===&lt;br /&gt;
&lt;br /&gt;
* '''AHCI'''&lt;br /&gt;
* Mouse support&lt;br /&gt;
&lt;br /&gt;
=== MagicalTux ===&lt;br /&gt;
&lt;br /&gt;
* [[五SDK]]&lt;br /&gt;
* '''USB support (EHCI)'''&lt;br /&gt;
* USB Mass Storage support (seems to requires SCSI)&lt;br /&gt;
* TCP Networking, Userland networking&lt;br /&gt;
* UNICODE system layer&lt;br /&gt;
* Files abstraction system&lt;br /&gt;
* Mount subsystem&lt;br /&gt;
* Userspace graphical interface API&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/User:MagicalTux</id>
		<title>User:MagicalTux</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/User:MagicalTux"/>
				<updated>2009-05-16T17:53:12Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Well... I'm MagicalTux, developper of Go-OS...&lt;br /&gt;
&lt;br /&gt;
* '''Name:''' Mark KARPELÈS&lt;br /&gt;
* '''Contact''' [mailto:karpeles@hell.ne.jp karpeles@hell.ne.jp]&lt;br /&gt;
* '''Age:''' 23 years old&lt;br /&gt;
* '''Location:''' Paris, France&lt;br /&gt;
* '''Studies:''' Not really&lt;br /&gt;
* '''Working on:''' A lot of crap&lt;br /&gt;
* '''Speciality:''' Non-GUI stuff.&lt;br /&gt;
* '''Work:''' PHP developper&lt;br /&gt;
* '''Main computer:''' ''NoName'' - Core2DUO E6750 - 4GB RAM - 1.4TB HDD - nVidia geForce 8800GTX 768MB&lt;br /&gt;
* '''Laptop''' ''Panasonic'' CF-R6 - Core2DUE 1.06Ghz - 1GB RAM - 128GB SSD HDD - Intel 945GM&lt;br /&gt;
* '''Operating system:''' Gentoo ~amd64, and Go-OS of course!&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
* [[Revision701 JPEG Test]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Revision701_JPEG_Test</id>
		<title>Revision701 JPEG Test</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Revision701_JPEG_Test"/>
				<updated>2009-05-16T08:37:01Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nature of the test ==&lt;br /&gt;
&lt;br /&gt;
libjpeg has been compiled with the [[五SDK]], and I wanted to test the result.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void jpeg_test() {&lt;br /&gt;
  struct jpeg_decompress_struct cinfo;&lt;br /&gt;
  struct jpeg_error_mgr jerr;&lt;br /&gt;
  unsigned char *image;&lt;br /&gt;
  FILE *img = fopen(&amp;quot;root:/girl_742.jpg&amp;quot;, &amp;quot;rb&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  if (img == NULL) {&lt;br /&gt;
    perror(&amp;quot;open jpeg image&amp;quot;);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  cinfo.err = jpeg_std_error(&amp;amp;jerr);&lt;br /&gt;
  jpeg_create_decompress(&amp;amp;cinfo);&lt;br /&gt;
  jpeg_stdio_src(&amp;amp;cinfo, img);&lt;br /&gt;
  jpeg_read_header(&amp;amp;cinfo, TRUE);&lt;br /&gt;
  jpeg_start_decompress(&amp;amp;cinfo);&lt;br /&gt;
&lt;br /&gt;
  image = malloc(cinfo.output_width * cinfo.output_height * 3);&lt;br /&gt;
  for(int i=0; i &amp;lt; cinfo.output_height; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned char * ptr = image + i * 3 * cinfo.output_width;&lt;br /&gt;
    jpeg_read_scanlines(&amp;amp;cinfo, &amp;amp;ptr, 1);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  printf(&amp;quot;JPEG image loaded: %ix%i\n&amp;quot;, cinfo.output_width, cinfo.output_height);&lt;br /&gt;
&lt;br /&gt;
  // we assume gfx mode is at 0xffffffffe0000000, with 1024x768x32 mode pixels&lt;br /&gt;
  FILE *out = fopen(&amp;quot;memory://ffffffffe0000000/25165824&amp;quot;, &amp;quot;wb&amp;quot;);&lt;br /&gt;
  if (out == NULL) {&lt;br /&gt;
    perror(&amp;quot;opening ram&amp;quot;);&lt;br /&gt;
    fclose(img);&lt;br /&gt;
    free(image);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // write to memory. Memory is RGBA, we have RGB&lt;br /&gt;
  for(int i = 0; i &amp;lt; cinfo.output_width * cinfo.output_height; i++) {&lt;br /&gt;
    int offset = i*3;&lt;br /&gt;
    for(int j = 0; j &amp;lt; 3; j++) {&lt;br /&gt;
      fwrite(image+offset+(2-j), 1, 1, out);&lt;br /&gt;
    }&lt;br /&gt;
    offset = 0;&lt;br /&gt;
    fwrite(&amp;amp;offset, 1, 1, out); // write &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  free(image);&lt;br /&gt;
  fclose(out);&lt;br /&gt;
  fclose(img);&lt;br /&gt;
  sleep(2);&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Result ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision701 JPEG Test.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Revision701_JPEG_Test</id>
		<title>Revision701 JPEG Test</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Revision701_JPEG_Test"/>
				<updated>2009-05-16T08:36:47Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nature of the test ==&lt;br /&gt;
&lt;br /&gt;
libjpeg has been compiled with the [[五SDK]], and I wanted to test the result.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void jpeg_test() {&lt;br /&gt;
  struct jpeg_decompress_struct cinfo;&lt;br /&gt;
  struct jpeg_error_mgr jerr;&lt;br /&gt;
  unsigned char *image;&lt;br /&gt;
  FILE *img = fopen(&amp;quot;root:/girl_742.jpg&amp;quot;, &amp;quot;rb&amp;quot;);&lt;br /&gt;
  int i;&lt;br /&gt;
&lt;br /&gt;
  if (img == NULL) {&lt;br /&gt;
    perror(&amp;quot;open jpeg image&amp;quot;);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  cinfo.err = jpeg_std_error(&amp;amp;jerr);&lt;br /&gt;
  jpeg_create_decompress(&amp;amp;cinfo);&lt;br /&gt;
  jpeg_stdio_src(&amp;amp;cinfo, img);&lt;br /&gt;
  jpeg_read_header(&amp;amp;cinfo, TRUE);&lt;br /&gt;
  jpeg_start_decompress(&amp;amp;cinfo);&lt;br /&gt;
&lt;br /&gt;
  image = malloc(cinfo.output_width * cinfo.output_height * 3);&lt;br /&gt;
  for(i=0; i &amp;lt; cinfo.output_height; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned char * ptr = image + i * 3 * cinfo.output_width;&lt;br /&gt;
    jpeg_read_scanlines(&amp;amp;cinfo, &amp;amp;ptr, 1);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  printf(&amp;quot;JPEG image loaded: %ix%i\n&amp;quot;, cinfo.output_width, cinfo.output_height);&lt;br /&gt;
&lt;br /&gt;
  // we assume gfx mode is at 0xffffffffe0000000, with 1024x768x32 mode pixels&lt;br /&gt;
  FILE *out = fopen(&amp;quot;memory://ffffffffe0000000/25165824&amp;quot;, &amp;quot;wb&amp;quot;);&lt;br /&gt;
  if (out == NULL) {&lt;br /&gt;
    perror(&amp;quot;opening ram&amp;quot;);&lt;br /&gt;
    fclose(img);&lt;br /&gt;
    free(image);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // write to memory. Memory is RGBA, we have RGB&lt;br /&gt;
  for(int i = 0; i &amp;lt; cinfo.output_width * cinfo.output_height; i++) {&lt;br /&gt;
    int offset = i*3;&lt;br /&gt;
    for(int j = 0; j &amp;lt; 3; j++) {&lt;br /&gt;
      fwrite(image+offset+(2-j), 1, 1, out);&lt;br /&gt;
    }&lt;br /&gt;
    offset = 0;&lt;br /&gt;
    fwrite(&amp;amp;offset, 1, 1, out); // write &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  free(image);&lt;br /&gt;
  fclose(out);&lt;br /&gt;
  fclose(img);&lt;br /&gt;
  sleep(2);&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Result ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision701 JPEG Test.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Main_Page"/>
				<updated>2009-05-16T08:25:55Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:Go-OS logo simple.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go-OS ('''五OS''') is a new fast-growing OS project.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision687.png|280px|right]]&lt;br /&gt;
&lt;br /&gt;
Currently works well on [[QEmu]], [[VirtualBox]] and [[VMWare]] and being tested on [[real hardware]].&lt;br /&gt;
* [[Why Go-OS]]&lt;br /&gt;
* [[Goals]]&lt;br /&gt;
* [[Copyright]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Download]]&lt;br /&gt;
* [[Test Environments]]&lt;br /&gt;
* [[Team]]&lt;br /&gt;
* [[Status|Status and TODO]] (&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;new&amp;lt;/span&amp;gt;)&lt;br /&gt;
** [[:Category:Modules|Modules]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Revisions]]&lt;br /&gt;
* [[Proof of concept]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Main_Page"/>
				<updated>2009-05-16T08:24:00Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:Go-OS logo simple.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go-OS ('''五OS''') is a new fast-growing OS project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;randomimage size=&amp;quot;280&amp;quot; float=&amp;quot;right&amp;quot; choices=&amp;quot;Revision687.png|Revision347.png|Revision239.png|Revision235.png|Revision179.png|Revision139.png|Revision92.png|Revision91.png|Revision76.png|Revision70.png|Revision61.png|Revision50.png|Revision33.png|Revision30.png|Revision12.png|Revision1.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently works well on [[QEmu]], [[VirtualBox]] and [[VMWare]] and being tested on [[real hardware]].&lt;br /&gt;
* [[Why Go-OS]]&lt;br /&gt;
* [[Goals]]&lt;br /&gt;
* [[Copyright]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Download]]&lt;br /&gt;
* [[Test Environments]]&lt;br /&gt;
* [[Team]]&lt;br /&gt;
* [[Status|Status and TODO]] (&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;new&amp;lt;/span&amp;gt;)&lt;br /&gt;
** [[:Category:Modules|Modules]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Revisions]]&lt;br /&gt;
* [[Proof of concept]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Main_Page"/>
				<updated>2009-05-16T08:22:01Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:Go-OS logo simple.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go-OS ('''五OS''') is a new fast-growing OS project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;randomimage size=&amp;quot;280&amp;quot; float=&amp;quot;right&amp;quot; choices=&amp;quot;Revision687.png|Revision347.png|Revision239.png|Revision235.png|Revision179.png|Revision139.png|Revision92.png|Revision91.png|Revision76.png|Revision70.png|Revision61.png|Revision50.png|Revision33.png|Revision30.png|Revision12.png|Revision1.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently works well on [[QEmu]], [[VirtualBox]] and [[VMWare]] and being tested on [[real hardware]].&lt;br /&gt;
&lt;br /&gt;
* [[Why Go-OS]]&lt;br /&gt;
* [[Goals]]&lt;br /&gt;
* [[Copyright]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Download]]&lt;br /&gt;
* [[Test Environments]]&lt;br /&gt;
* [[Team]]&lt;br /&gt;
* [[Status|Status and TODO]] (&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;new&amp;lt;/span&amp;gt;)&lt;br /&gt;
** [[:Category:Modules|Modules]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Revisions]]&lt;br /&gt;
* [[Proof of concept]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision1.png</id>
		<title>File:Revision1.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision1.png"/>
				<updated>2009-05-16T08:19:19Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First revision, just a bootloader.&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision12.png</id>
		<title>File:Revision12.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision12.png"/>
				<updated>2009-05-16T08:19:08Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R12: entering 32bit&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision30.png</id>
		<title>File:Revision30.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision30.png"/>
				<updated>2009-05-16T08:19:00Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R30: PCI detected&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision33.png</id>
		<title>File:Revision33.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision33.png"/>
				<updated>2009-05-16T08:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R33: Using GFX, displaying low-res image&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision50.png</id>
		<title>File:Revision50.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision50.png"/>
				<updated>2009-05-16T08:18:37Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R50: Hi-res image&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision61.png</id>
		<title>File:Revision61.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision61.png"/>
				<updated>2009-05-16T08:18:28Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R61: IRQ works, keyboard works!&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision70.png</id>
		<title>File:Revision70.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision70.png"/>
				<updated>2009-05-16T08:18:19Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R70: Major cleanup&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision76.png</id>
		<title>File:Revision76.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision76.png"/>
				<updated>2009-05-16T08:18:11Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R76: IDE can read hard disk!&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision91.png</id>
		<title>File:Revision91.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision91.png"/>
				<updated>2009-05-16T08:18:01Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R91: Support for VMWare&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision92.png</id>
		<title>File:Revision92.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision92.png"/>
				<updated>2009-05-16T08:17:55Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R92: GFX driver for VMWare&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision139.png</id>
		<title>File:Revision139.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision139.png"/>
				<updated>2009-05-16T08:17:45Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R139: read(), syscalls, and text file&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision179.png</id>
		<title>File:Revision179.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision179.png"/>
				<updated>2009-05-16T08:17:37Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R179: Kernel can run elf&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision235.png</id>
		<title>File:Revision235.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision235.png"/>
				<updated>2009-05-16T08:17:23Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R235: sleep() works, modules work!&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision239.png</id>
		<title>File:Revision239.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision239.png"/>
				<updated>2009-05-16T08:17:13Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R239: And now with a (simple) shell!&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision347.png</id>
		<title>File:Revision347.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision347.png"/>
				<updated>2009-05-16T08:17:04Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R347: Nice header, ACPI and coldplug&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision687.png</id>
		<title>File:Revision687.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision687.png"/>
				<updated>2009-05-16T08:16:53Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;R687: C++ works in userland&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Revision701_JPEG_Test</id>
		<title>Revision701 JPEG Test</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Revision701_JPEG_Test"/>
				<updated>2009-05-16T07:24:47Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nature of the test ==&lt;br /&gt;
&lt;br /&gt;
libjpeg has been compiled with the [[五SDK]], and I wanted to test the result.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void jpeg_test() {&lt;br /&gt;
  struct jpeg_decompress_struct cinfo;&lt;br /&gt;
  struct jpeg_error_mgr jerr;&lt;br /&gt;
  unsigned char *image;&lt;br /&gt;
  FILE *img = fopen(&amp;quot;root:/girl_742.jpg&amp;quot;, &amp;quot;rb&amp;quot;);&lt;br /&gt;
  int i;&lt;br /&gt;
&lt;br /&gt;
  if (img == NULL) {&lt;br /&gt;
    perror(&amp;quot;open jpeg image&amp;quot;);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  cinfo.err = jpeg_std_error(&amp;amp;jerr);&lt;br /&gt;
  jpeg_create_decompress(&amp;amp;cinfo);&lt;br /&gt;
  jpeg_stdio_src(&amp;amp;cinfo, img);&lt;br /&gt;
  jpeg_read_header(&amp;amp;cinfo, TRUE);&lt;br /&gt;
  jpeg_start_decompress(&amp;amp;cinfo);&lt;br /&gt;
&lt;br /&gt;
  image = malloc(cinfo.output_width * cinfo.output_height * 3);&lt;br /&gt;
  for(i=0; i &amp;lt; cinfo.output_height; i++)&lt;br /&gt;
  {&lt;br /&gt;
    unsigned char * ptr = image + i * 3 * cinfo.output_width;&lt;br /&gt;
    jpeg_read_scanlines(&amp;amp;cinfo, &amp;amp;ptr, 1);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  printf(&amp;quot;JPEG image loaded: %ix%i\n&amp;quot;, cinfo.output_width, cinfo.output_height);&lt;br /&gt;
&lt;br /&gt;
  // we assume gfx mode is at 0xffffffffe0000000, with 1024x768x32 mode pixels&lt;br /&gt;
  FILE *out = fopen(&amp;quot;memory://ffffffffe0000000/25165824&amp;quot;, &amp;quot;wb&amp;quot;);&lt;br /&gt;
  if (out == NULL) {&lt;br /&gt;
    perror(&amp;quot;opening ram&amp;quot;);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // write to memory. Memory is RGBA, we have RGB&lt;br /&gt;
  for(int i = 0; i &amp;lt; cinfo.output_width * cinfo.output_height; i++) {&lt;br /&gt;
    int offset = i*3;&lt;br /&gt;
    for(int j = 0; j &amp;lt; 3; j++) {&lt;br /&gt;
      fwrite(image+offset+(2-j), 1, 1, out);&lt;br /&gt;
    }&lt;br /&gt;
    offset = 0;&lt;br /&gt;
    fwrite(&amp;amp;offset, 1, 1, out); // write &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  fclose(out);&lt;br /&gt;
  fclose(img);&lt;br /&gt;
  sleep(2);&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Result ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision701 JPEG Test.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision701_JPEG_Test.png</id>
		<title>File:Revision701 JPEG Test.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision701_JPEG_Test.png"/>
				<updated>2009-05-16T07:09:57Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: JPEG test on revision 701&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JPEG test on revision 701&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Revision701_JPEG_Test</id>
		<title>Revision701 JPEG Test</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Revision701_JPEG_Test"/>
				<updated>2009-05-16T07:09:22Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nature of the test ==&lt;br /&gt;
&lt;br /&gt;
libjpeg has been compiled with the [[五SDK]], and I wanted to test the result.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
 void jpeg_test() {&lt;br /&gt;
   struct jpeg_decompress_struct cinfo;&lt;br /&gt;
   struct jpeg_error_mgr jerr;&lt;br /&gt;
   unsigned char *image;&lt;br /&gt;
   FILE *img = fopen(&amp;quot;root:/girl_742.jpg&amp;quot;, &amp;quot;rb&amp;quot;);&lt;br /&gt;
   int i;&lt;br /&gt;
 &lt;br /&gt;
   if (img == NULL) {&lt;br /&gt;
     perror(&amp;quot;open jpeg image&amp;quot;);&lt;br /&gt;
     return;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   cinfo.err = jpeg_std_error(&amp;amp;jerr);&lt;br /&gt;
   jpeg_create_decompress(&amp;amp;cinfo);&lt;br /&gt;
   jpeg_stdio_src(&amp;amp;cinfo, img);&lt;br /&gt;
   jpeg_read_header(&amp;amp;cinfo, TRUE);&lt;br /&gt;
   jpeg_start_decompress(&amp;amp;cinfo);&lt;br /&gt;
 &lt;br /&gt;
   image = malloc(cinfo.output_width * cinfo.output_height * 3);&lt;br /&gt;
   for(i=0; i &amp;lt; cinfo.output_height; i++)&lt;br /&gt;
   {&lt;br /&gt;
     unsigned char * ptr = image + i * 3 * cinfo.output_width;&lt;br /&gt;
     jpeg_read_scanlines(&amp;amp;cinfo, &amp;amp;ptr, 1);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   printf(&amp;quot;JPEG image loaded: %ix%i\n&amp;quot;, cinfo.output_width, cinfo.output_height);&lt;br /&gt;
 &lt;br /&gt;
   // we assume gfx mode is at 0xffffffffe0000000, with 1024x768x32 mode pixels&lt;br /&gt;
   FILE *out = fopen(&amp;quot;memory://ffffffffe0000000/25165824&amp;quot;, &amp;quot;wb&amp;quot;);&lt;br /&gt;
   if (out == NULL) {&lt;br /&gt;
     perror(&amp;quot;opening ram&amp;quot;);&lt;br /&gt;
     return;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   // write to memory. Memory is RGBA, we have RGB&lt;br /&gt;
   for(int i = 0; i &amp;lt; cinfo.output_width * cinfo.output_height; i++) {&lt;br /&gt;
     int offset = i*3;&lt;br /&gt;
     for(int j = 0; j &amp;lt; 3; j++) {&lt;br /&gt;
       fwrite(image+offset+(2-j), 1, 1, out);&lt;br /&gt;
     }&lt;br /&gt;
     offset = 0;&lt;br /&gt;
     fwrite(&amp;amp;offset, 1, 1, out); // write &amp;quot;0&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
   fclose(out);&lt;br /&gt;
   fclose(img);&lt;br /&gt;
   sleep(2);&lt;br /&gt;
   return;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Result ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision701 JPEG Test.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/First_%E4%BA%94OS_CPP_program</id>
		<title>First 五OS CPP program</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/First_%E4%BA%94OS_CPP_program"/>
				<updated>2009-05-14T05:33:57Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First C++ program on 五OS&lt;br /&gt;
&lt;br /&gt;
 // 五OS, sample userland program&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char *argv[]) {&lt;br /&gt;
 	std::cout &amp;lt;&amp;lt; &amp;quot;Hello world from userland C++!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 	sleep(1); // gimme some time for a screenshot!&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Result ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision687.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/First_%E4%BA%94OS_CPP_program</id>
		<title>First 五OS CPP program</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/First_%E4%BA%94OS_CPP_program"/>
				<updated>2009-05-14T05:33:38Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First C++ program on 五OS&lt;br /&gt;
&lt;br /&gt;
 // 五OS, sample userland program&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char *argv[]) {&lt;br /&gt;
 	std::cout &amp;lt;&amp;lt; &amp;quot;Hello world from userland C++!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 	sleep(1); // gimme some time for a screenshot!&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Revisions</id>
		<title>Revisions</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Revisions"/>
				<updated>2009-05-14T05:33:06Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Revision 687 - ''memsep'' branch ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
&lt;br /&gt;
* '''Userland'''&lt;br /&gt;
** Memory now 100% separated between each process (paging)&lt;br /&gt;
** New [[五SDK]] based on gcc+binutils+newlib&lt;br /&gt;
** ''[[First 五OS CPP program|Static C++ binary works!!]]''&lt;br /&gt;
* '''Kernel'''&lt;br /&gt;
** Fixed bugs with ext2 driver on bigger files (&amp;gt;260kB)&lt;br /&gt;
** Fixed unreal mode boot&lt;br /&gt;
** Rewrote scheduler code&lt;br /&gt;
** Fixed kill() syscall&lt;br /&gt;
** Implemented sbrk() syscall&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision687.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 606 - ''scheduler'' branch ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* '''Bootloader'''&lt;br /&gt;
** Removed stage2 and stage3, effectively limiting the whole bootloader code to 512 bytes&lt;br /&gt;
** Now reading E820 map and storing it at 0x8200&lt;br /&gt;
** Bootloader now switches to 64bits&lt;br /&gt;
** Bootloader now setups paging with two 2MB pages&lt;br /&gt;
* '''Kernel'''&lt;br /&gt;
** Switched compilation options to 64bits&lt;br /&gt;
** Re-wrote 90% of the paging code to handle 4kB ''and'' 2MB pages&lt;br /&gt;
** Optimizations to the ''init_paging()'' code&lt;br /&gt;
** Now reading BIOS E820 map at 0x8200&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision606.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 347 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added support for module autoloading (hardware detection and depency detection) and support for ACPI. We have a basis of networking, and a new nice header for alpha 1 :)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision347.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 239 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Thanks to a simple buffering system and a basic implementation of the Go-OS events architecture, it was possible to implement a rather simple shell-like system (but rather limited, as you can see on the screenshot).&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision239.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 235 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Kernel is now able to load relocable modules, and it is also possible to alter a kernel image to pre-load modules. The sleep() syscall is now fixed and works.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision235.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 179 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Now able to load external non-reloc ELF files, and run those !! Tested with [[The first Go-OS external C program]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision179.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 139 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added read() syscall, and a sample (text file read from hdd, and displayed on the console)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision139.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 92 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* Rewrote part of the PCI detection code, now read base addresses (for I/O or memory access)&lt;br /&gt;
* Implemented VMWare GFX driver!&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision92.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 91 ([[MagicalTux]]) ==&lt;br /&gt;
Bootloader fixed for VMWare, added PCI informations for vmware. In fact the stage3 wasn't able to correctly set A20 gate. Went the dirty way. It worked. Yay!&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision91.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 76 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Fixed IDE driver, now working as expected.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision76.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 70 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* Moved around various memory locations&lt;br /&gt;
* fixed most (or all) compile-time warnings&lt;br /&gt;
* added support for gfx_putchar() without gfx mode (fallback to direct memory console display)&lt;br /&gt;
* support for PCI drivers&lt;br /&gt;
* moved qemu gfx card to a separate driver&lt;br /&gt;
* reordered kernel initialisation&lt;br /&gt;
* reduced ASM compile flags&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision70.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 61 ([[BombStrike]]) [MAJOR] ==&lt;br /&gt;
IRQs functionnal, keyboard is ok but need better driver.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision61.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 50 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Now able to run a 2MB kernel ! (could put a better image thanks to that, with this uncompressed image, the kernel is 1.9MB)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision50.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 33 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Basic graphic memory access, display an image on boot.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision33.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 30 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added basic PCI probing/detection, return vendor and device ID.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision30.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 12 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Revision 11 fixed, the kernel shows &amp;quot;Yay! I can run C !!!&amp;quot; while running in 32bit pmode.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision12.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 1 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
First revision of GoOS, just a bootloader.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision1.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Revisions</id>
		<title>Revisions</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Revisions"/>
				<updated>2009-05-14T05:32:57Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Revision 687 - ''memsep'' branch ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
&lt;br /&gt;
* '''Userland'''&lt;br /&gt;
** Memory now 100% separated between each process (paging)&lt;br /&gt;
** New [[五SDK]] based on gcc+binutils+newlib&lt;br /&gt;
** ''[[First 五OS C++ program|Static C++ binary works!!]]''&lt;br /&gt;
* '''Kernel'''&lt;br /&gt;
** Fixed bugs with ext2 driver on bigger files (&amp;gt;260kB)&lt;br /&gt;
** Fixed unreal mode boot&lt;br /&gt;
** Rewrote scheduler code&lt;br /&gt;
** Fixed kill() syscall&lt;br /&gt;
** Implemented sbrk() syscall&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision687.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 606 - ''scheduler'' branch ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* '''Bootloader'''&lt;br /&gt;
** Removed stage2 and stage3, effectively limiting the whole bootloader code to 512 bytes&lt;br /&gt;
** Now reading E820 map and storing it at 0x8200&lt;br /&gt;
** Bootloader now switches to 64bits&lt;br /&gt;
** Bootloader now setups paging with two 2MB pages&lt;br /&gt;
* '''Kernel'''&lt;br /&gt;
** Switched compilation options to 64bits&lt;br /&gt;
** Re-wrote 90% of the paging code to handle 4kB ''and'' 2MB pages&lt;br /&gt;
** Optimizations to the ''init_paging()'' code&lt;br /&gt;
** Now reading BIOS E820 map at 0x8200&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision606.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 347 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added support for module autoloading (hardware detection and depency detection) and support for ACPI. We have a basis of networking, and a new nice header for alpha 1 :)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision347.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 239 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Thanks to a simple buffering system and a basic implementation of the Go-OS events architecture, it was possible to implement a rather simple shell-like system (but rather limited, as you can see on the screenshot).&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision239.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 235 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Kernel is now able to load relocable modules, and it is also possible to alter a kernel image to pre-load modules. The sleep() syscall is now fixed and works.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision235.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 179 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Now able to load external non-reloc ELF files, and run those !! Tested with [[The first Go-OS external C program]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision179.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 139 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added read() syscall, and a sample (text file read from hdd, and displayed on the console)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision139.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 92 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* Rewrote part of the PCI detection code, now read base addresses (for I/O or memory access)&lt;br /&gt;
* Implemented VMWare GFX driver!&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision92.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 91 ([[MagicalTux]]) ==&lt;br /&gt;
Bootloader fixed for VMWare, added PCI informations for vmware. In fact the stage3 wasn't able to correctly set A20 gate. Went the dirty way. It worked. Yay!&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision91.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 76 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Fixed IDE driver, now working as expected.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision76.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 70 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* Moved around various memory locations&lt;br /&gt;
* fixed most (or all) compile-time warnings&lt;br /&gt;
* added support for gfx_putchar() without gfx mode (fallback to direct memory console display)&lt;br /&gt;
* support for PCI drivers&lt;br /&gt;
* moved qemu gfx card to a separate driver&lt;br /&gt;
* reordered kernel initialisation&lt;br /&gt;
* reduced ASM compile flags&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision70.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 61 ([[BombStrike]]) [MAJOR] ==&lt;br /&gt;
IRQs functionnal, keyboard is ok but need better driver.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision61.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 50 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Now able to run a 2MB kernel ! (could put a better image thanks to that, with this uncompressed image, the kernel is 1.9MB)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision50.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 33 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Basic graphic memory access, display an image on boot.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision33.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 30 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added basic PCI probing/detection, return vendor and device ID.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision30.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 12 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Revision 11 fixed, the kernel shows &amp;quot;Yay! I can run C !!!&amp;quot; while running in 32bit pmode.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision12.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 1 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
First revision of GoOS, just a bootloader.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision1.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Revisions</id>
		<title>Revisions</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Revisions"/>
				<updated>2009-05-14T05:28:36Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Revision 687 - ''memsep'' branch ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
&lt;br /&gt;
* '''Userland'''&lt;br /&gt;
** Memory now 100% separated between each process (paging)&lt;br /&gt;
** New [[五SDK]] based on gcc+binutils+newlib&lt;br /&gt;
** ''Static C++ binary works!!''&lt;br /&gt;
* '''Kernel'''&lt;br /&gt;
** Fixed bugs with ext2 driver on bigger files (&amp;gt;260kB)&lt;br /&gt;
** Fixed unreal mode boot&lt;br /&gt;
** Rewrote scheduler code&lt;br /&gt;
** Fixed kill() syscall&lt;br /&gt;
** Implemented sbrk() syscall&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision687.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 606 - ''scheduler'' branch ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* '''Bootloader'''&lt;br /&gt;
** Removed stage2 and stage3, effectively limiting the whole bootloader code to 512 bytes&lt;br /&gt;
** Now reading E820 map and storing it at 0x8200&lt;br /&gt;
** Bootloader now switches to 64bits&lt;br /&gt;
** Bootloader now setups paging with two 2MB pages&lt;br /&gt;
* '''Kernel'''&lt;br /&gt;
** Switched compilation options to 64bits&lt;br /&gt;
** Re-wrote 90% of the paging code to handle 4kB ''and'' 2MB pages&lt;br /&gt;
** Optimizations to the ''init_paging()'' code&lt;br /&gt;
** Now reading BIOS E820 map at 0x8200&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision606.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 347 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added support for module autoloading (hardware detection and depency detection) and support for ACPI. We have a basis of networking, and a new nice header for alpha 1 :)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision347.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 239 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Thanks to a simple buffering system and a basic implementation of the Go-OS events architecture, it was possible to implement a rather simple shell-like system (but rather limited, as you can see on the screenshot).&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision239.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 235 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Kernel is now able to load relocable modules, and it is also possible to alter a kernel image to pre-load modules. The sleep() syscall is now fixed and works.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision235.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 179 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Now able to load external non-reloc ELF files, and run those !! Tested with [[The first Go-OS external C program]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision179.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 139 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added read() syscall, and a sample (text file read from hdd, and displayed on the console)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision139.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 92 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* Rewrote part of the PCI detection code, now read base addresses (for I/O or memory access)&lt;br /&gt;
* Implemented VMWare GFX driver!&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision92.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 91 ([[MagicalTux]]) ==&lt;br /&gt;
Bootloader fixed for VMWare, added PCI informations for vmware. In fact the stage3 wasn't able to correctly set A20 gate. Went the dirty way. It worked. Yay!&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision91.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 76 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Fixed IDE driver, now working as expected.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision76.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 70 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* Moved around various memory locations&lt;br /&gt;
* fixed most (or all) compile-time warnings&lt;br /&gt;
* added support for gfx_putchar() without gfx mode (fallback to direct memory console display)&lt;br /&gt;
* support for PCI drivers&lt;br /&gt;
* moved qemu gfx card to a separate driver&lt;br /&gt;
* reordered kernel initialisation&lt;br /&gt;
* reduced ASM compile flags&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision70.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 61 ([[BombStrike]]) [MAJOR] ==&lt;br /&gt;
IRQs functionnal, keyboard is ok but need better driver.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision61.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 50 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Now able to run a 2MB kernel ! (could put a better image thanks to that, with this uncompressed image, the kernel is 1.9MB)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision50.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 33 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Basic graphic memory access, display an image on boot.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision33.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 30 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added basic PCI probing/detection, return vendor and device ID.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision30.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 12 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Revision 11 fixed, the kernel shows &amp;quot;Yay! I can run C !!!&amp;quot; while running in 32bit pmode.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision12.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 1 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
First revision of GoOS, just a bootloader.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision1.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Main_Page"/>
				<updated>2009-05-14T05:28:14Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:Go-OS logo simple.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go-OS ('''五OS''') is a new fast-growing OS project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Images&lt;br /&gt;
|width=280&lt;br /&gt;
|title=五OS evolution in images&lt;br /&gt;
|align=right&lt;br /&gt;
|Image:Revision687.png|R687: C++ works in userland&lt;br /&gt;
|Image:Revision347.png|R347: Nice header, ACPI and coldplug&lt;br /&gt;
|Image:Revision239.png|R239: And now with a (simple) shell!&lt;br /&gt;
|Image:Revision235.png|R235: sleep() works, modules work!&lt;br /&gt;
|Image:Revision179.png|R179: Kernel can run elf&lt;br /&gt;
|Image:Revision139.png|R139: read(), syscalls, and text file&lt;br /&gt;
|Image:Revision92.png|R92: GFX driver for VMWare&lt;br /&gt;
|Image:Revision91.png|R91: Support for VMWare&lt;br /&gt;
|Image:Revision76.png|R76: IDE can read hard disk!&lt;br /&gt;
|Image:Revision70.png|R70: Major cleanup&lt;br /&gt;
|Image:Revision61.png|R61: IRQ works, keyboard works!&lt;br /&gt;
|Image:Revision50.png|R50: Hi-res image&lt;br /&gt;
|Image:Revision33.png|R33: Using GFX, displaying low-res image&lt;br /&gt;
|Image:Revision30.png|R30: PCI detected&lt;br /&gt;
|Image:Revision12.png|R12: entering 32bit&lt;br /&gt;
|Image:Revision1.png|First revision, just a bootloader.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Currently works well on [[QEmu]], [[VirtualBox]] and [[VMWare]] and being tested on [[real hardware]].&lt;br /&gt;
&lt;br /&gt;
* [[Why Go-OS]]&lt;br /&gt;
* [[Goals]]&lt;br /&gt;
* [[Copyright]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Download]]&lt;br /&gt;
* [[Test Environments]]&lt;br /&gt;
* [[Team]]&lt;br /&gt;
* [[Status|Status and TODO]] (&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;new&amp;lt;/span&amp;gt;)&lt;br /&gt;
** [[:Category:Modules|Modules]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Revisions]]&lt;br /&gt;
* [[Proof of concept]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/File:Revision687.png</id>
		<title>File:Revision687.png</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/File:Revision687.png"/>
				<updated>2009-05-14T05:27:50Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Revisions</id>
		<title>Revisions</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Revisions"/>
				<updated>2009-05-14T05:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Revision 687 - ''memsep'' branch ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
&lt;br /&gt;
* '''Userland'''&lt;br /&gt;
** Memory now 100% separated between each process (paging)&lt;br /&gt;
** New [[五SDK]] based on gcc+binutils+newlib&lt;br /&gt;
* '''Kernel'''&lt;br /&gt;
** Fixed bugs with ext2 driver on bigger files (&amp;gt;260kB)&lt;br /&gt;
** Fixed unreal mode boot&lt;br /&gt;
** Rewrote scheduler code&lt;br /&gt;
** Fixed kill() syscall&lt;br /&gt;
** Implemented sbrk() syscall&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision687.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 606 - ''scheduler'' branch ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* '''Bootloader'''&lt;br /&gt;
** Removed stage2 and stage3, effectively limiting the whole bootloader code to 512 bytes&lt;br /&gt;
** Now reading E820 map and storing it at 0x8200&lt;br /&gt;
** Bootloader now switches to 64bits&lt;br /&gt;
** Bootloader now setups paging with two 2MB pages&lt;br /&gt;
* '''Kernel'''&lt;br /&gt;
** Switched compilation options to 64bits&lt;br /&gt;
** Re-wrote 90% of the paging code to handle 4kB ''and'' 2MB pages&lt;br /&gt;
** Optimizations to the ''init_paging()'' code&lt;br /&gt;
** Now reading BIOS E820 map at 0x8200&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision606.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 347 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added support for module autoloading (hardware detection and depency detection) and support for ACPI. We have a basis of networking, and a new nice header for alpha 1 :)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision347.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 239 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Thanks to a simple buffering system and a basic implementation of the Go-OS events architecture, it was possible to implement a rather simple shell-like system (but rather limited, as you can see on the screenshot).&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision239.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 235 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Kernel is now able to load relocable modules, and it is also possible to alter a kernel image to pre-load modules. The sleep() syscall is now fixed and works.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision235.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 179 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Now able to load external non-reloc ELF files, and run those !! Tested with [[The first Go-OS external C program]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision179.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 139 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added read() syscall, and a sample (text file read from hdd, and displayed on the console)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision139.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 92 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* Rewrote part of the PCI detection code, now read base addresses (for I/O or memory access)&lt;br /&gt;
* Implemented VMWare GFX driver!&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision92.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 91 ([[MagicalTux]]) ==&lt;br /&gt;
Bootloader fixed for VMWare, added PCI informations for vmware. In fact the stage3 wasn't able to correctly set A20 gate. Went the dirty way. It worked. Yay!&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision91.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 76 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Fixed IDE driver, now working as expected.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision76.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 70 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
* Moved around various memory locations&lt;br /&gt;
* fixed most (or all) compile-time warnings&lt;br /&gt;
* added support for gfx_putchar() without gfx mode (fallback to direct memory console display)&lt;br /&gt;
* support for PCI drivers&lt;br /&gt;
* moved qemu gfx card to a separate driver&lt;br /&gt;
* reordered kernel initialisation&lt;br /&gt;
* reduced ASM compile flags&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision70.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 61 ([[BombStrike]]) [MAJOR] ==&lt;br /&gt;
IRQs functionnal, keyboard is ok but need better driver.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision61.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 50 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Now able to run a 2MB kernel ! (could put a better image thanks to that, with this uncompressed image, the kernel is 1.9MB)&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision50.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 33 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Basic graphic memory access, display an image on boot.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision33.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 30 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Added basic PCI probing/detection, return vendor and device ID.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision30.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 12 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
Revision 11 fixed, the kernel shows &amp;quot;Yay! I can run C !!!&amp;quot; while running in 32bit pmode.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision12.png]]&lt;br /&gt;
&lt;br /&gt;
== Revision 1 ([[MagicalTux]]) [MAJOR] ==&lt;br /&gt;
First revision of GoOS, just a bootloader.&lt;br /&gt;
&lt;br /&gt;
[[Image:Revision1.png]]&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/%E4%BA%94SDK</id>
		<title>五SDK</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/%E4%BA%94SDK"/>
				<updated>2009-05-13T19:04:08Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* OpenSource SDK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Go-SDK cross-SDK ==&lt;br /&gt;
&lt;br /&gt;
This is the new 五OS SDK, meant to be easier to use. It is made of the following components:&lt;br /&gt;
&lt;br /&gt;
* binutils 2.19&lt;br /&gt;
* gcc 4.4.0&lt;br /&gt;
* newlib 1.17.0&lt;br /&gt;
&lt;br /&gt;
The latest compiled version of the Go-SDK for 五OS can be downloaded here.&lt;br /&gt;
&lt;br /&gt;
* [http://dist.5os.net/gosdk/cross-latest.tar.bz2 For 64bits linux]&lt;br /&gt;
&lt;br /&gt;
The ''[[五OS Developer License]]'' does not apply anymore to 五SDK but still applies to the old 五SDK, which will become ''五SDK for kernel modules''.&lt;br /&gt;
&lt;br /&gt;
== OpenSource SDK ==&lt;br /&gt;
&lt;br /&gt;
The tools provided in 五SDK are released under various licenses (GPL-2 LGPL-2.1 NEWLIB LIBGLOSS), some of which requires us to provide the sources alongside the binary version.&lt;br /&gt;
&lt;br /&gt;
The sources [http://dist.5os.net/gosdk/cross-src/ can be downloaded] and patch files are provided to make them match Go-OS.&lt;br /&gt;
&lt;br /&gt;
'''Note''': Even through the SDK is GPL'd, there is no requirements to release things you compile under the same license (gcc's libraries are including the required exceptions, as far as I know. Lots of people are compiling non-free software with gcc, without ever having any problem).&lt;br /&gt;
&lt;br /&gt;
== Auto-update of binary version ==&lt;br /&gt;
&lt;br /&gt;
It is possible to automatically update the installed version of the binary SDK. The following schellscript should be used:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 LATEST=`curl -s &amp;lt;nowiki&amp;gt;http://dist.5os.net/gosdk/cross-latest.txt&amp;lt;/nowiki&amp;gt;`&lt;br /&gt;
 CURRENT=&amp;quot;&amp;quot;&lt;br /&gt;
 if [ -f &amp;quot;cross/stamp&amp;quot; ]; then&lt;br /&gt;
 	CURRENT=`cat &amp;quot;cross/stamp&amp;quot;`&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ x&amp;quot;$CURRENT&amp;quot; == x&amp;quot;$LATEST&amp;quot; ]; then&lt;br /&gt;
 	echo &amp;quot;You already have the latest version&amp;quot;&lt;br /&gt;
 	exit 0&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Downloading $LATEST ...&amp;quot;&lt;br /&gt;
 curl -# &amp;quot;&amp;lt;nowiki&amp;gt;http://dist.5os.net/gosdk/${LATEST}&amp;lt;/nowiki&amp;gt;&amp;quot; &amp;gt;&amp;quot;${LATEST}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Extracting $LATEST ...&amp;quot;&lt;br /&gt;
 tar xf &amp;quot;${LATEST}&amp;quot;&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/%E4%BA%94SDK</id>
		<title>五SDK</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/%E4%BA%94SDK"/>
				<updated>2009-05-13T18:58:44Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* Auto-update of binary version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Go-SDK cross-SDK ==&lt;br /&gt;
&lt;br /&gt;
This is the new 五OS SDK, meant to be easier to use. It is made of the following components:&lt;br /&gt;
&lt;br /&gt;
* binutils 2.19&lt;br /&gt;
* gcc 4.4.0&lt;br /&gt;
* newlib 1.17.0&lt;br /&gt;
&lt;br /&gt;
The latest compiled version of the Go-SDK for 五OS can be downloaded here.&lt;br /&gt;
&lt;br /&gt;
* [http://dist.5os.net/gosdk/cross-latest.tar.bz2 For 64bits linux]&lt;br /&gt;
&lt;br /&gt;
The ''[[五OS Developer License]]'' does not apply anymore to 五SDK but still applies to the old 五SDK, which will become ''五SDK for kernel modules''.&lt;br /&gt;
&lt;br /&gt;
== OpenSource SDK ==&lt;br /&gt;
&lt;br /&gt;
The tools provided in 五SDK are released under various licenses (GPL-2 LGPL-2.1 NEWLIB LIBGLOSS), some of which requires us to provide the sources alongside the binary version.&lt;br /&gt;
&lt;br /&gt;
The sources [http://dist.5os.net/gosdk/cross-src/ can be downloaded] and patch files are provided to make them match Go-OS.&lt;br /&gt;
&lt;br /&gt;
== Auto-update of binary version ==&lt;br /&gt;
&lt;br /&gt;
It is possible to automatically update the installed version of the binary SDK. The following schellscript should be used:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 LATEST=`curl -s &amp;lt;nowiki&amp;gt;http://dist.5os.net/gosdk/cross-latest.txt&amp;lt;/nowiki&amp;gt;`&lt;br /&gt;
 CURRENT=&amp;quot;&amp;quot;&lt;br /&gt;
 if [ -f &amp;quot;cross/stamp&amp;quot; ]; then&lt;br /&gt;
 	CURRENT=`cat &amp;quot;cross/stamp&amp;quot;`&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ x&amp;quot;$CURRENT&amp;quot; == x&amp;quot;$LATEST&amp;quot; ]; then&lt;br /&gt;
 	echo &amp;quot;You already have the latest version&amp;quot;&lt;br /&gt;
 	exit 0&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Downloading $LATEST ...&amp;quot;&lt;br /&gt;
 curl -# &amp;quot;&amp;lt;nowiki&amp;gt;http://dist.5os.net/gosdk/${LATEST}&amp;lt;/nowiki&amp;gt;&amp;quot; &amp;gt;&amp;quot;${LATEST}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Extracting $LATEST ...&amp;quot;&lt;br /&gt;
 tar xf &amp;quot;${LATEST}&amp;quot;&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/%E4%BA%94SDK</id>
		<title>五SDK</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/%E4%BA%94SDK"/>
				<updated>2009-05-13T18:55:16Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Go-SDK cross-SDK ==&lt;br /&gt;
&lt;br /&gt;
This is the new 五OS SDK, meant to be easier to use. It is made of the following components:&lt;br /&gt;
&lt;br /&gt;
* binutils 2.19&lt;br /&gt;
* gcc 4.4.0&lt;br /&gt;
* newlib 1.17.0&lt;br /&gt;
&lt;br /&gt;
The latest compiled version of the Go-SDK for 五OS can be downloaded here.&lt;br /&gt;
&lt;br /&gt;
* [http://dist.5os.net/gosdk/cross-latest.tar.bz2 For 64bits linux]&lt;br /&gt;
&lt;br /&gt;
The ''[[五OS Developer License]]'' does not apply anymore to 五SDK but still applies to the old 五SDK, which will become ''五SDK for kernel modules''.&lt;br /&gt;
&lt;br /&gt;
== OpenSource SDK ==&lt;br /&gt;
&lt;br /&gt;
The tools provided in 五SDK are released under various licenses (GPL-2 LGPL-2.1 NEWLIB LIBGLOSS), some of which requires us to provide the sources alongside the binary version.&lt;br /&gt;
&lt;br /&gt;
The sources [http://dist.5os.net/gosdk/cross-src/ can be downloaded] and patch files are provided to make them match Go-OS.&lt;br /&gt;
&lt;br /&gt;
== Auto-update of binary version ==&lt;br /&gt;
&lt;br /&gt;
It is possible to automatically update the installed version of the binary SDK. The following schellscript should be used:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 LATEST=`curl -s http://dist.5os.net/gosdk/cross-latest.txt`&lt;br /&gt;
 CURRENT=&amp;quot;&amp;quot;&lt;br /&gt;
 if [ -f &amp;quot;cross/stamp&amp;quot; ]; then&lt;br /&gt;
 	CURRENT=`cat &amp;quot;cross/stamp&amp;quot;`&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ x&amp;quot;$CURRENT&amp;quot; == x&amp;quot;$LATEST&amp;quot; ]; then&lt;br /&gt;
 	echo &amp;quot;You already have the latest version&amp;quot;&lt;br /&gt;
 	exit 0&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Downloading $LATEST ...&amp;quot;&lt;br /&gt;
 curl -# &amp;quot;http://dist.5os.net/gosdk/${LATEST}&amp;quot; &amp;gt;&amp;quot;${LATEST}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Extracting $LATEST ...&amp;quot;&lt;br /&gt;
 tar xf &amp;quot;${LATEST}&amp;quot;&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Status</id>
		<title>Status</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Status"/>
				<updated>2009-05-12T13:30:42Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* MagicalTux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Status ==&lt;br /&gt;
&lt;br /&gt;
=== System support ===&lt;br /&gt;
* [[QEmu]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Bochs : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (unable to list pci devices on newer bochs)&lt;br /&gt;
* [[VirtualBox]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[VMWare]] : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (dies on boot-loader with VMWare Player)&lt;br /&gt;
* [[CF-R6]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (16bits emulated mode, problems with float printf)&lt;br /&gt;
&lt;br /&gt;
=== Internal stuff ===&lt;br /&gt;
* '''Paging''': In progress (need to support different values of cr3 between each process)&lt;br /&gt;
* '''Multiprocessing''': Depends on Paging&lt;br /&gt;
* '''Virtual File System''': In progress&lt;br /&gt;
* 64bits: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* CPU Detection: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Interrupts: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Exceptions: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Syscalls: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Display subsystem: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (but incomplete, waiting for userspace abstraction)&lt;br /&gt;
: TODO: Move display subsystem to a module ?&lt;br /&gt;
* Modules subsystem: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[:Category:Modules|Modules]] ===&lt;br /&gt;
&lt;br /&gt;
* PCI Support : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Networking : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;75% done&amp;lt;/span&amp;gt;&lt;br /&gt;
** Generic sockets system: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;40% done&amp;lt;/span&amp;gt;&lt;br /&gt;
** TCP: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;Pending&amp;lt;/span&amp;gt;&lt;br /&gt;
** UDP: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;95% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* '''USB Support''' : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;Pending&amp;lt;/span&amp;gt;&lt;br /&gt;
* '''USB UHCI Support''' : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;85% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* IDE access : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* ext3 read-only access : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Keyboard : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Modules on-start autoloading (coldplug) : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GFX Drivers ====&lt;br /&gt;
* QEmu/Bochs/VirtualBox : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* VMWare : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Net Drivers ====&lt;br /&gt;
* RTL-8139 : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (needs stress-testing)&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
* [[五SDK]] (五OS' SDK) : '''TODO''' (this will contain kernel's includes, sample modules, and more)&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
=== BombStrike ===&lt;br /&gt;
&lt;br /&gt;
* '''AHCI'''&lt;br /&gt;
* Mouse support&lt;br /&gt;
&lt;br /&gt;
=== MagicalTux ===&lt;br /&gt;
&lt;br /&gt;
* [[五SDK]]&lt;br /&gt;
* '''USB support (EHCI)'''&lt;br /&gt;
* USB Mass Storage support (seems to requires SCSI)&lt;br /&gt;
* TCP Networking, Userland networking&lt;br /&gt;
* UNICODE system layer&lt;br /&gt;
* Files abstraction system&lt;br /&gt;
* Mount subsystem&lt;br /&gt;
* Userspace graphical interface API&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/QEmu</id>
		<title>QEmu</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/QEmu"/>
				<updated>2009-05-12T12:20:26Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* GDB debugging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:Go-OS on QEmu.png|right|thumb|250px|五OS on QEmu]]&lt;br /&gt;
QEmu is a nice, light and free virtual machine software.&lt;br /&gt;
&lt;br /&gt;
http://fabrice.bellard.free.fr/qemu/&lt;br /&gt;
&lt;br /&gt;
== 五OS and QEmu ==&lt;br /&gt;
&lt;br /&gt;
=== Supported hardware ===&lt;br /&gt;
* Graphic adaptater&lt;br /&gt;
* Keyboard&lt;br /&gt;
* Primary/secondary IDE&lt;br /&gt;
&lt;br /&gt;
=== Unsupported hardware ===&lt;br /&gt;
* Everything else&lt;br /&gt;
&lt;br /&gt;
== GDB debugging ==&lt;br /&gt;
&lt;br /&gt;
By passing options ''-s -S'' to qemu, you can enable debugging mode. The kernel should be compiled with flags ''-g -ggdb'' to enable symbol resolving.&lt;br /&gt;
&lt;br /&gt;
gdb is broken while debugging non-64bit code in a 64bit system. See [http://kerneltrap.org/index.php?q=mailarchive/linux-kvm/2008/12/20/4465904/thread].&lt;br /&gt;
&lt;br /&gt;
Run gdb in another shell and type:&lt;br /&gt;
&lt;br /&gt;
 set arch i386:x86-64&lt;br /&gt;
 set can-use-hw-watchpoints 0&lt;br /&gt;
 target remote :1234&lt;br /&gt;
 add-symbol-file sys/kernel/kernel.elf 0xffffffffc0001000&lt;br /&gt;
 y&lt;br /&gt;
 add-symbol-file sys/kernel/kernel.elf 0x201000&lt;br /&gt;
 y&lt;br /&gt;
 break *0x201000&lt;br /&gt;
 c&lt;br /&gt;
&lt;br /&gt;
=== Notes for MT ===&lt;br /&gt;
&lt;br /&gt;
 print /x *(unsigned int*)0x10000&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Security</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Security"/>
				<updated>2009-05-11T11:53:13Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to make 五OS as secure as possible, some common features will be built in the kernel from the very beginning.&lt;br /&gt;
&lt;br /&gt;
== NX Bit ==&lt;br /&gt;
&lt;br /&gt;
* Infos: http://en.wikipedia.org/wiki/NX_bit&lt;br /&gt;
&lt;br /&gt;
As most (if not all) 64bits CPUs are supporting NX Bit, it will be used to avoid execution to reach places we don't want it to reach.&lt;br /&gt;
&lt;br /&gt;
== W^X ==&lt;br /&gt;
&lt;br /&gt;
* Infos: http://en.wikipedia.org/wiki/W%5EX&lt;br /&gt;
&lt;br /&gt;
Enforce pages to be Writeable OR eXecutable, but never both. A page that was writeable cannot become executable.&lt;br /&gt;
&lt;br /&gt;
Problems:&lt;br /&gt;
* http://gcc.gnu.org/onlinedocs/gccint/Trampolines.html&lt;br /&gt;
&lt;br /&gt;
== Address space layout randomization ==&lt;br /&gt;
&lt;br /&gt;
* Infos: http://en.wikipedia.org/wiki/Address_space_layout_randomization&lt;br /&gt;
&lt;br /&gt;
Make stack and library positions random. Libs are compiled with -fPIC so we won't need anything weird (just one GOT table per process).&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Goals</id>
		<title>Goals</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Goals"/>
				<updated>2009-05-11T11:46:52Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* Primary goals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go-OS is an operating system, and we have goals for this operating system...&lt;br /&gt;
&lt;br /&gt;
== Primary goals ==&lt;br /&gt;
* Extremly fast boot (less than 5 seconds to display the desktop)&lt;br /&gt;
* OpenGL UI&lt;br /&gt;
* Dynamic on-disk kernel image&lt;br /&gt;
* [[Security]]&lt;br /&gt;
* Stability&lt;br /&gt;
&lt;br /&gt;
== Hidden goals ==&lt;br /&gt;
* Rule the world&lt;br /&gt;
* Have Microsoft go bankrupt&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	<entry>
		<id>http://www.5os.net/wiki/Status</id>
		<title>Status</title>
		<link rel="alternate" type="text/html" href="http://www.5os.net/wiki/Status"/>
				<updated>2009-05-09T17:21:55Z</updated>
		
		<summary type="html">&lt;p&gt;MagicalTux: /* MagicalTux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Status ==&lt;br /&gt;
&lt;br /&gt;
=== System support ===&lt;br /&gt;
* [[QEmu]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Bochs : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (unable to list pci devices on newer bochs)&lt;br /&gt;
* [[VirtualBox]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[VMWare]] : &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;BROKEN&amp;lt;/span&amp;gt; (dies on boot-loader with VMWare Player)&lt;br /&gt;
* [[CF-R6]] : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (16bits emulated mode, problems with float printf)&lt;br /&gt;
&lt;br /&gt;
=== Internal stuff ===&lt;br /&gt;
* '''Paging''': In progress (need to support different values of cr3 between each process)&lt;br /&gt;
* '''Multiprocessing''': Depends on Paging&lt;br /&gt;
* '''Virtual File System''': In progress&lt;br /&gt;
* 64bits: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* CPU Detection: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Interrupts: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Exceptions: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Syscalls: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Display subsystem: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (but incomplete, waiting for userspace abstraction)&lt;br /&gt;
: TODO: Move display subsystem to a module ?&lt;br /&gt;
* Modules subsystem: &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[:Category:Modules|Modules]] ===&lt;br /&gt;
&lt;br /&gt;
* PCI Support : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Networking : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;75% done&amp;lt;/span&amp;gt;&lt;br /&gt;
** Generic sockets system: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;40% done&amp;lt;/span&amp;gt;&lt;br /&gt;
** TCP: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;Pending&amp;lt;/span&amp;gt;&lt;br /&gt;
** UDP: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;95% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* '''USB Support''' : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;Pending&amp;lt;/span&amp;gt;&lt;br /&gt;
* '''USB UHCI Support''' : &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;85% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* IDE access : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* ext3 read-only access : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Keyboard : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* Modules on-start autoloading (coldplug) : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GFX Drivers ====&lt;br /&gt;
* QEmu/Bochs/VirtualBox : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
* VMWare : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Net Drivers ====&lt;br /&gt;
* RTL-8139 : &amp;lt;span style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; (needs stress-testing)&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
* [[五SDK]] (五OS' SDK) : '''TODO''' (this will contain kernel's includes, sample modules, and more)&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
=== BombStrike ===&lt;br /&gt;
&lt;br /&gt;
* '''AHCI'''&lt;br /&gt;
* Mouse support&lt;br /&gt;
&lt;br /&gt;
=== MagicalTux ===&lt;br /&gt;
&lt;br /&gt;
* Userland processes memory separation: &amp;lt;span style=&amp;quot;color: orange; font-weight: bold;&amp;quot;&amp;gt;85% done&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[五SDK]]&lt;br /&gt;
* '''USB support (EHCI)'''&lt;br /&gt;
* USB Mass Storage support (seems to requires SCSI)&lt;br /&gt;
* TCP Networking, Userland networking&lt;br /&gt;
* UNICODE system layer&lt;br /&gt;
* Files abstraction system&lt;br /&gt;
* Mount subsystem&lt;br /&gt;
* Userspace graphical interface API&lt;/div&gt;</summary>
		<author><name>MagicalTux</name></author>	</entry>

	</feed>
