Commit Graph

75 Commits

Author SHA1 Message Date
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