<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pub/teachos/kernel.git/arch/x86_64/src/boot/entry64.s, branch develop</title>
<subtitle>An educational OS kernel</subtitle>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/'/>
<entry>
<title>x86_64: use p1204 project layout</title>
<updated>2026-04-29T07:05:04+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2026-04-16T08:29:30+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=1b964278762dde86b0b737bd9a34fec569339f54'/>
<id>1b964278762dde86b0b737bd9a34fec569339f54</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64/boot: fix section assignments in ld script</title>
<updated>2025-12-29T13:43:20+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2025-12-29T13:43:20+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=fb1c180c431e3ac07ca56f53299edea316883842'/>
<id>fb1c180c431e3ac07ca56f53299edea316883842</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64/boot: use high-mem address of MBI</title>
<updated>2025-12-15T10:34:30+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2025-12-15T10:34:30+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=40804526a58ddf2cc0df0750550c8dcfa7b7c57c'/>
<id>40804526a58ddf2cc0df0750550c8dcfa7b7c57c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64/boot: move stack to higher half</title>
<updated>2025-12-03T13:02:07+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2025-12-03T13:02:07+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=a08847ded5fba25859e7a3ad06ae3fed342d4d6a'/>
<id>a08847ded5fba25859e7a3ad06ae3fed342d4d6a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64/vga: rely less on magic state</title>
<updated>2025-11-24T15:59:24+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2025-11-24T15:59:24+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=1a3c20cc9ea191a862eb7e8ac55b3a69ac74ad5e'/>
<id>1a3c20cc9ea191a862eb7e8ac55b3a69ac74ad5e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64: provide a clean slate on entry to long mode</title>
<updated>2025-07-24T13:52:42+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2025-07-24T13:52:42+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=ef907825e861b63726952bb34b425a98f34ed412'/>
<id>ef907825e861b63726952bb34b425a98f34ed412</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64: implement robust C++ global initialization</title>
<updated>2025-07-24T12:28:23+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2025-07-24T12:28:23+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=f62b05c93c6c539d899d2656c0638d404a036f1a'/>
<id>f62b05c93c6c539d899d2656c0638d404a036f1a</id>
<content type='text'>
Implement a comprehensive mechanism to ensure correct C++ runtime
initialization before the kernel main function is called. This replaces
the previous, incomplete reliance on an `_init` function.

The new design robustly handles both legacy `.ctors` and modern
`.init_array` initialization schemes used by the GNU toolchain. A single
C++ function, `invoke_global_constructors`, now iterates through both
arrays of function pointers to ensure all types of global initializers
are executed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement a comprehensive mechanism to ensure correct C++ runtime
initialization before the kernel main function is called. This replaces
the previous, incomplete reliance on an `_init` function.

The new design robustly handles both legacy `.ctors` and modern
`.init_array` initialization schemes used by the GNU toolchain. A single
C++ function, `invoke_global_constructors`, now iterates through both
arrays of function pointers to ensure all types of global initializers
are executed.
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64: split bootstrap code along mode lines</title>
<updated>2025-07-22T21:23:23+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2025-07-22T21:23:23+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=c8cb4346064c69ab8431aa0d3c287e2fad60ce80'/>
<id>c8cb4346064c69ab8431aa0d3c287e2fad60ce80</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
