Philipp Oppermann
d83a2eb130
Redesign index page to show posts in chronological order
2015-08-25 17:22:07 +02:00
Philipp Oppermann
589f540b28
Add posts to rust-os category
2015-08-25 17:09:14 +02:00
Philipp Oppermann
87f36584c2
Use jekyll features to link to next/previous posts
2015-08-25 17:07:40 +02:00
Philipp Oppermann
1e831e2266
Publish long mode post
2015-08-25 15:43:15 +02:00
Philipp Oppermann
79ac1effd6
Add hello world section
2015-08-25 15:35:33 +02:00
Philipp Oppermann
2a58061641
Many small improvements
2015-08-25 15:35:05 +02:00
Philipp Oppermann
ce26218d1f
Add section about the _Unwind_Resume issue
2015-08-25 15:33:54 +02:00
Philipp Oppermann
997c8ef8f9
Create an introduction and the rust setup section
2015-08-25 15:31:51 +02:00
Philipp Oppermann
3030b1c862
Print Hello World!
2015-08-25 14:54:06 +02:00
Philipp Oppermann
03a46b4141
Print OS returned! instead of OKAY
2015-08-25 14:54:06 +02:00
Philipp Oppermann
e09ae042a3
Setup SSE because rust needs it
2015-08-25 14:54:06 +02:00
Philipp Oppermann
c65797d89f
Add an 64-bit error function
2015-08-25 14:54:06 +02:00
Philipp Oppermann
c6223ed48f
Omit unwinding landing pads (we don't support panics atm)
2015-08-25 14:54:06 +02:00
Philipp Oppermann
fcf69dcc53
Remove unused sections to avoid float issues
...
Avoids a linker error for `fmod` and `fmodf`. These functions are refenced in libcore. The KEEP ensures that the Multiboot section isn't removed.
2015-08-25 14:54:06 +02:00
Philipp Oppermann
4c793e6dd9
Add rlibc dependency for memset, memcpy, etc.
2015-08-25 14:54:06 +02:00
Philipp Oppermann
3c08203437
Call rust main function
2015-08-25 14:54:06 +02:00
Philipp Oppermann
d9ce36be11
Compile rust project in Makefile
2015-08-25 14:54:06 +02:00
Philipp Oppermann
66cc22608c
Add a rust project
2015-08-25 14:54:06 +02:00
Philipp Oppermann
7e898e6a4c
Reload selector registers and print OKAY
2015-08-25 14:54:06 +02:00
Philipp Oppermann
9c4b8fef9d
Add and load a 64-bit GDT
2015-08-25 14:54:06 +02:00
Philipp Oppermann
457a61341a
Enable paging
2015-08-25 14:54:06 +02:00
Philipp Oppermann
b47699685f
Add and setup a P4 and a P3 table
2015-08-25 14:54:06 +02:00
Philipp Oppermann
bd11ed9a6f
Check for Multiboot, CPUID, and Long Mode
2015-08-25 14:54:06 +02:00
Philipp Oppermann
49f8c3c810
Add a small stack
2015-08-25 14:54:06 +02:00
Philipp Oppermann
d474c8fa7f
Add error function
2015-08-25 14:54:06 +02:00
Philipp Oppermann
4b3a10f6f3
Ignore the build directory
2015-08-25 14:54:06 +02:00
Philipp Oppermann
a97009dddf
Add a configuration file for travis CI
2015-08-25 14:54:05 +02:00
Philipp Oppermann
0503c59198
Move 64-bit assembly to own file
2015-08-22 15:25:12 +02:00
Philipp Oppermann
5b09bda567
Remove debugging section again
...
This post is long enough and it fits better in the next post.
2015-08-22 15:23:08 +02:00
Philipp Oppermann
e4c1acec4e
Add rust setup draft
2015-08-22 15:21:54 +02:00
Philipp Oppermann
9198e224ef
Updated date of long mode post
2015-08-19 00:59:58 +02:00
Philipp Oppermann
57a156d9bd
Add QEMU debugging section
2015-08-19 00:57:40 +02:00
Philipp Oppermann
952452aa38
Many additional explanations, rewordings, and fixes
2015-08-19 00:56:34 +02:00
Philipp Oppermann
08d9c7da5b
Small wording improvements
2015-08-18 20:33:25 +02:00
Philipp Oppermann
9447a054a3
Publish first post (minimal multiboot kernel)
2015-08-18 20:20:55 +02:00
Philipp Oppermann
003b9d347c
Add links to next and previous post
2015-08-18 20:05:25 +02:00
Philipp Oppermann
262e64f184
Add a Makefile
...
It provides `make` (builds the kernel), `make iso` (builds kernel+ISO), and `make run` (builds kernel+ISO and starts qemu). All assembly files from the arch subdirectories are compiled and linked. It also provides basic multi-architecture support through e.g. `make arch=mips iso`.
2015-08-13 12:48:17 +02:00
Philipp Oppermann
0c44988b4f
Add grub config for iso creation
2015-08-13 12:48:17 +02:00
Philipp Oppermann
2c529d0060
Add a basic linker script
...
Ensures that the multiboot header is early in the executable.
2015-08-13 12:48:17 +02:00
Philipp Oppermann
3f530b3e83
Add basic boot code
...
It just prints a green `OK` to the screen and hangs.
2015-08-13 12:48:17 +02:00
Philipp Oppermann
ed5ace118b
Some small improvements
2015-08-13 11:58:17 +02:00
Philipp Oppermann
726b8b65b6
Add virtual address translation graphic
2015-08-13 11:34:02 +02:00
Philipp Oppermann
f064d4415f
Shorten the link text for the Wikipedia image source.
2015-08-12 19:55:12 +02:00
Philipp Oppermann
f3f78697f5
Add draft for Long Mode post
2015-08-12 19:35:23 +02:00
Philipp Oppermann
333c95faac
Link to specific tag in repository
2015-08-10 13:25:00 +02:00
Philipp Oppermann
2e0fa08605
Uncapitalize BITS for consistency (and move it after section)
2015-08-10 13:07:52 +02:00
Philipp Oppermann
cd12dc0427
Add multiboot 2 header file
2015-08-10 12:56:36 +02:00
Philipp Oppermann
45babee90d
Initial commit
2015-08-10 12:56:16 +02:00
Philipp Oppermann
e38f3cfe52
Fix markdown: Add required newline before list
2015-08-06 12:02:34 +02:00
Philipp Oppermann
002c97402c
Add link to source repository
2015-08-06 12:01:49 +02:00