Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-07-16 | amd64: barely boot into kernel code | dzwdz | |
2022-07-15 | i686: stop using pushal/popal in sysenter/sysexit | dzwdz | |
2022-06-30 | kernel/linker: rename .text.early to .shared | dzwdz | |
It's not really just a text section, as it's writeable too. Makes gcc shut up about invalid section attributes. | |||
2022-05-21 | kernel/i386: only map what's absolutely necessary in the user | dzwdz | |
2022-04-11 | kernel: implement `cpu_pause()` in assembly, remove `irq_interrupt_flag()` | dzwdz | |
2021-07-24 | sysenter: save the registers into _sysexit_regs, makes the code cleaner (imo) | dzwdz | |
2021-07-24 | sysexit() now overrides all registers | dzwdz | |
when doing anything more complex than starting a new program, you pretty much need to pass a full register dump. otherwise stuff will break | |||
2021-07-24 | save all registers on syscalls | dzwdz | |
2021-07-23 | update the process' EIP/ESP when it syscalls | dzwdz | |
2021-07-21 | syscall parameter & return value passing | dzwdz | |
Sadly, sysenter on i386 limits me to only 4 arguments (so, 1 for the syscall id + 3 real args). If that turns out to be an issue I'll either just switch to interrupts, or switch to x64. | |||
2021-07-21 | barebones syscall | dzwdz | |
2021-07-21 | fix sysenter()'s stack argument | dzwdz | |
It was taken from the wrong place - also I don't think that functions should change their EIP in the first place? | |||
2021-07-20 | only enable paging when jumping into ring 0 | dzwdz | |
The kernel can't use the limited paging tables of user processes. Alternatively, sysenter could accept a parameter with a new cr3. That would allow/require using paging in the kernel - so I'll switch to it later, but I want to get other stuff done first. | |||
2021-07-18 | move all kernel sources to src/kernel/ | dzwdz | |