Matheus
d65c29197d
ps2: improvements
2024-09-05 23:13:29 -03:00
8infy
db55f99e23
Integrate uACPI & remove own ACPI parsing code
...
This commit adds uACPI as a submodule and removes all handwritten table
parsing code as well as struct definitions, since they now work via
uACPI. There's also now an ability to shut down by using the power
button.
2024-09-01 23:12:44 +03:00
8infy
476d4bad74
io: add outw & inw helpers
2024-09-01 23:12:44 +03:00
8infy
6154318ab3
kernel: add a helper to retrieve the bsp CPU
...
This is useful to be able to e.g. set affinity for the BSP CPU.
2024-09-01 19:37:09 +03:00
Matheus
dd75dc2d87
vmm: vmm_changemmuflags
2024-08-21 21:33:29 -03:00
Matheus
5c83db1580
x86_64 pci: fix msi message format
2024-07-27 23:58:33 -03:00
Matheus
4cd2a7b41c
ps2: fix real hw
2024-07-11 00:05:42 -03:00
Matheus
f05eb36cfd
kernel: remove already done TODOs
2024-06-16 12:48:16 -03:00
Matheus
50b4b45d00
kernel: usercopy functions
2024-06-09 19:31:26 -03:00
Matheus
04d8431b32
cpu: better _cpu() function
2024-05-27 22:03:44 -03:00
Matheus
d2527bee92
context changes and scheduler userspace check fix
2024-05-27 22:00:59 -03:00
Matheus
8d42b80855
smp: nmi ipi support
2024-05-26 20:51:54 -03:00
Matheus
890f6ba3ac
dpc: fix smp
2024-05-26 17:18:41 -03:00
Matheus
48b7fb4324
vmmcache: initial implementation
2024-05-24 18:03:24 -03:00
Matheus
1b63e9b436
signals: more general changes
2024-05-17 18:48:57 -03:00
Matheus
7b0cc4c51b
initial signal implementation
2024-05-14 15:04:48 -03:00
Matheus
27d24f3e20
cpu: dont access cpu local storage using rdmsr
2024-04-29 21:26:47 -03:00
Matheus
8deb3a1144
context: CTX_INIT interrupt flag
2024-04-28 14:32:28 -03:00
Matheus
a8bdb6e1ad
x86-64: properly set up x87 state
2024-04-21 20:17:18 -03:00
Matheus
7f297728fb
ps2 mouse
2024-04-14 22:22:32 -03:00
Matheus
2cb94c2c2e
scheduler: handle userland thread exit
2024-04-14 14:00:11 -03:00
Matheus
de3226d23b
cpu: more byte swap functions
2024-03-30 18:38:12 -03:00
Matheus
91f69e184d
cpu: byte ordering swapping functions
2024-03-29 13:37:11 -03:00
Matheus
57c94ebf15
smp: let other processors run threads
2023-11-30 17:54:32 -03:00
Matheus
12872ae17f
mmu: tlb shootdown
2023-11-30 17:50:23 -03:00
Matheus
b1b598950c
apic: send ipi
2023-11-30 17:49:09 -03:00
Matheus
e5c4b0f3cd
smp: processor wakeup
2023-10-01 21:51:09 -03:00
Matheus
ba16aa366f
logging: make term and printf smp safe
2023-10-01 19:09:28 -03:00
Matheus
cb8324b070
kernel: add e9 device for debugging
2023-09-07 15:59:58 -03:00
Matheus
536db45418
x86_64 pci: properly map ECAM and fix access to it
2023-08-07 21:30:24 -03:00
Matheus
7e1443d032
vmm: copy on write and changes to how page faults are handled
2023-08-02 01:18:35 -03:00
Matheus
8f0b318238
CPU: EOI macro
2023-07-19 15:10:24 -03:00
Matheus
1879bfcc20
pci: msi-x support
2023-07-19 15:08:51 -03:00
Matheus
f3714b83c8
x86_64 mmu: cache flags
2023-07-16 21:43:07 -03:00
Matheus
6491d1bd52
pci: pci_getenum, pci_getcapoffset and finding msi and msix on function enumeration
2023-07-15 18:02:17 -03:00
Matheus
14d6b4249d
pci: device enumeration with MCFG and legacy access
2023-07-13 22:52:44 -03:00
Matheus
854eaf4b1c
acpi: mcfg table
2023-07-13 22:52:17 -03:00
Matheus
c20d0e790f
scheduler: umask default value and fpu saving in x86_64 context
2023-07-08 22:54:34 -03:00
Matheus
de3d23948b
x86-64 context: fix identation on ARCH_CONTEXT_INTSTATUS macro
2023-07-03 22:41:18 -03:00
Matheus
99a7eccbe4
kernel: DPC support
2023-06-25 21:00:14 -03:00
Matheus
80671b6e11
interrupts: execute pending interrupts
2023-06-25 16:00:08 -03:00
Matheus
0f95ff18f0
context: CTX_RET and CTX_ERRNO macros
2023-05-16 19:36:30 -03:00
Matheus
e0b2f2a582
mmu: arch_mmu_destroytable
2023-05-16 19:35:09 -03:00
Matheus
0218e2a390
context: fix saving gs and fs
2023-05-13 22:28:55 -03:00
Matheus
ca80c22f50
x86_64 cpu: syscall instruction
2023-05-07 19:31:36 -03:00
Matheus
9c1e92831d
x86-64: switch order of user code and data segments for syscall instruction
2023-05-07 17:46:26 -03:00
Matheus
c1fbfe9de7
x86-64: fix user context init
2023-05-07 16:49:17 -03:00
Matheus
9ce8bd25f5
vmm: fix getting free range at edge of spaces
2023-05-07 15:08:33 -03:00
Matheus
ef2d8ed00c
kernel: ps2kbd
2023-05-04 19:58:24 -03:00
Matheus
fc64ccb7a4
apic: ioapic set irq
2023-05-04 19:57:43 -03:00