Commit Graph

81 Commits

Author SHA1 Message Date
Matheus 16b6c86a5f cpu: rename _cpu() to current_cpu() 2024-09-15 19:03:09 -03:00
Matheus 56d665d5a0 kernel: fix remaining _cpu() races 2024-09-15 18:39:59 -03:00
Matheus 32392573cc cpu: change all _cpu()->vmmctx to current_vmm_context 2024-09-15 18:07:05 -03:00
Matheus e058d62261 cpu: change _cpu()->thread calls to current_thread() to fix smp race 2024-09-15 17:47:26 -03:00
Matheus 5382a8249b x86_64 cpu: change how the current cpu pointer is found 2024-09-15 15:26:40 -03:00
Matheus cdcce89fa5 ps2: fix warning 2024-09-08 12:11:20 -03:00
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