Commit Graph

2836 Commits

Author SHA1 Message Date
Philipp Oppermann
faf04f65c6 Many wording improvements 2015-09-10 15:34:43 +02:00
Philipp Oppermann
76d21f0e99 replace wrong uses of like 2015-09-10 14:48:09 +02:00
Philipp Oppermann
b021fe49bf replace e.g. with for example 2015-09-10 14:47:39 +02:00
Philipp Oppermann
5aabcfa38d Many wording improvements 2015-09-10 14:19:14 +02:00
Philipp Oppermann
d0c7d4d3d1 Wording: replace check with test 2015-09-10 12:50:00 +02:00
Philipp Oppermann
47b21253ec Add newline code and println! section 2015-08-30 10:36:19 +02:00
Philipp Oppermann
73377ca504 Improve code and fix headings 2015-08-30 10:35:02 +02:00
Philipp Oppermann
ce16d32e81 Add draft about printing to screen 2015-08-26 18:11:50 +02:00
Philipp Oppermann
a4bcdefbd5 Pre-publish rust setup post 2015-08-25 17:40:49 +02:00
Philipp Oppermann
41d04687d9 Shorten titles 2015-08-25 17:39:43 +02:00
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