Mathieu Maret
|
5141044c06
|
use popal/pushal for context switch
Should take fewer clock nd save esp
|
2020-04-22 17:31:37 +02:00 |
|
Mathieu Maret
|
79c1fda419
|
Some defintion improvments
|
2020-04-22 16:54:30 +02:00 |
|
Mathieu Maret
|
a19f4cb609
|
Set PIT IRQ in main
complete interrupt_frame struct and formatting
|
2020-04-22 16:52:54 +02:00 |
|
Mathieu Maret
|
389452ec3f
|
printf: also write on serial
|
2019-05-17 09:57:14 +02:00 |
|
Mathieu Maret
|
ca22696b29
|
klibc: put printf inside (instead of vga.h)
|
2019-05-17 09:35:23 +02:00 |
|
Mathieu Maret
|
13f1dc7878
|
Multiboot: display mmap and mod informations
sample code from https://www.gnu.org/software/grub/manual/multiboot/html_node/kernel_002ec.html#kernel_002ec
have issue (c.f. https://forum.osdev.org/viewtopic.php?t=30318)
|
2019-05-16 23:24:54 +02:00 |
|
Mathieu Maret
|
3bca737990
|
Add context switch
This is taken from SOS
|
2019-05-15 23:22:28 +02:00 |
|
Mathieu Maret
|
03c74c68d6
|
Fix headers
|
2019-05-15 23:20:03 +02:00 |
|
Mathieu Maret
|
340ae6a4d0
|
alloc: fix some naming. alloc up to page_size
|
2019-04-17 23:46:56 +02:00 |
|
Mathieu Maret
|
06c8562a80
|
alloc: reduce slabEntry size
|
2019-04-17 23:13:46 +02:00 |
|
Mathieu Maret
|
b3d38d8c9c
|
alloc: split slab and slabEntry definition
|
2019-04-17 18:07:19 +02:00 |
|
Mathieu Maret
|
f2b0edc5a3
|
alloc: fix new slab allocation
|
2019-04-17 12:48:24 +02:00 |
|
Mathieu Maret
|
f90b9bd3fd
|
alloc: fix indent
|
2019-04-17 12:06:54 +02:00 |
|
Mathieu Maret
|
8cf50c9a6e
|
implement memcmp
|
2019-04-16 10:19:36 +02:00 |
|
Mathieu Maret
|
3f258485b9
|
implement free
|
2019-04-15 23:09:09 +02:00 |
|
Mathieu Maret
|
698490800f
|
Alloc: selfContaining is optionnal
|
2019-04-15 22:49:10 +02:00 |
|
Mathieu Maret
|
f1b3895473
|
Alloc: could be initialized in random way
fix ENO usage
|
2019-04-15 21:35:47 +02:00 |
|
Mathieu Maret
|
6c91272fc2
|
alloc: slub implemented with list
|
2019-04-14 15:56:48 +02:00 |
|
Mathieu Maret
|
e03f0c0d78
|
Add test
Add test for alloc and add asert statement
|
2019-04-11 23:08:59 +02:00 |
|
Mathieu Maret
|
7def058cf4
|
Add slab allocator
|
2019-04-11 22:34:20 +02:00 |
|
Mathieu Maret
|
df1fa005b3
|
stack: add comments
|
2019-01-09 16:20:06 +01:00 |
|
Mathieu Maret
|
0e6a80f6e5
|
klibc: add some helper
|
2018-11-22 17:41:18 +01:00 |
|
Mathieu Maret
|
432d8801e1
|
Complete pagefault handler
|
2018-11-20 17:43:19 +01:00 |
|
Mathieu Maret
|
8108c8f3ab
|
klibc: add string related func
|
2018-11-20 17:03:57 +01:00 |
|
Mathieu Maret
|
e998fec795
|
stack_trace try to get function arguments
|
2018-11-19 13:57:07 +01:00 |
|
Mathieu Maret
|
27293c805c
|
Add more info about segfault
|
2018-11-16 15:00:31 +01:00 |
|
Mathieu Maret
|
085857a900
|
Add backtrace function
|
2018-11-16 14:47:21 +01:00 |
|
Mathieu Maret
|
50fa9b7d24
|
implement %x in printf
|
2018-11-16 10:34:03 +01:00 |
|
Mathieu Maret
|
ac64b124da
|
paging: fix free unused pte
|
2018-11-15 22:53:27 +01:00 |
|
Mathieu Maret
|
146a06f0e6
|
wip: add blinking cursor
|
2018-11-14 18:03:11 +01:00 |
|
Mathieu Maret
|
4bbe08d8f5
|
Add count for allocated and mapped page
|
2018-11-14 14:28:06 +01:00 |
|
Mathieu Maret
|
56a16b9ea5
|
Add empty pagefault handler
|
2018-11-13 18:02:47 +01:00 |
|
Mathieu Maret
|
32f1a8ba9d
|
Fix Paging Mapping
New PT entry should be set unsing the Vaddr, not the Paddr
|
2018-11-13 14:49:32 +01:00 |
|
Mathieu Maret
|
8f5c68efaf
|
Fix flag usage
|
2018-11-13 10:37:28 +01:00 |
|
Mathieu Maret
|
a120647ecb
|
TOFIX: implement testing for paging
|
2018-11-12 23:07:59 +01:00 |
|
Mathieu Maret
|
4a5f5674ce
|
implement paging map and unmap
|
2018-11-12 23:02:27 +01:00 |
|
Mathieu Maret
|
63ce78205a
|
Add errno.h
|
2018-11-12 23:02:27 +01:00 |
|
Mathieu Maret
|
fd153e305d
|
fix self test
|
2018-11-12 18:06:46 +01:00 |
|
Mathieu Maret
|
18be89ebfe
|
Basic MMU usage
|
2018-11-11 23:04:23 +01:00 |
|
Mathieu Maret
|
92f48d1851
|
more helping macro from linux
|
2018-11-09 22:36:45 +01:00 |
|
Mathieu Maret
|
4043eb50f7
|
mem: align upper bound on PAGE_SIZE
stole some macro from linux kernel
|
2018-11-09 22:32:21 +01:00 |
|
Mathieu Maret
|
93c8c87285
|
Add types.h to distinguish physical/virt mem
|
2018-11-09 21:50:08 +01:00 |
|
Mathieu Maret
|
149b197a65
|
mem: implement ref to physical page
|
2018-11-09 17:07:39 +01:00 |
|
Mathieu Maret
|
a7b6139f06
|
fix page alloc
And add some test for it
|
2018-11-09 16:30:42 +01:00 |
|
Mathieu Maret
|
cb65400d60
|
Fix some naming convention
|
2018-11-08 22:08:27 +01:00 |
|
Mathieu Maret
|
00d7004815
|
PIT/Serial irq refactoring
Serial IRQ still wip
|
2018-11-08 21:37:38 +01:00 |
|
Mathieu Maret
|
e4200782ac
|
Add Serial driver
|
2018-11-08 21:11:45 +01:00 |
|
Mathieu Maret
|
6cb8b4372a
|
Implement page allocation
|
2018-08-09 22:19:34 +02:00 |
|
Mathieu Maret
|
0930f2664a
|
Take linked list implementation from SimpleOS
|
2018-08-09 14:38:52 +02:00 |
|
Mathieu Maret
|
9f1afe5f6b
|
implement printf like function
|
2018-08-07 14:09:43 +02:00 |
|
Mathieu Maret
|
29f085b7aa
|
Add va_list
and rename types.h into stdarg.h
|
2018-08-06 21:28:42 +02:00 |
|
Mathieu Maret
|
1f164a7a4e
|
First step for memory management
|
2018-08-06 18:41:45 +02:00 |
|
Mathieu Maret
|
d51fff2d9d
|
Retrieve multiboot information from bootloader
|
2018-08-05 15:09:32 +02:00 |
|
Mathieu Maret
|
05c78e5e0c
|
Adapt GDT code to our codeing style
GDT code was taken from SOS project
|
2018-07-26 12:23:49 +02:00 |
|
Mathieu Maret
|
2c251fa51c
|
Initial import from mbr_asm project
|
2018-07-20 15:42:51 +02:00 |
|