Commit Graph

  • c4617c0bce Merge branch 'outsource-most-acpi' into 'master' Jeremy Soller 2021-05-06 18:36:06 +00:00
  • 3eacbdda2a Remove unnecessary exit() diff. 4lDO2 2021-03-13 16:44:09 +01:00
  • fd97fa80bb Move pid back to inner scope in exit() handler. 4lDO2 2021-03-13 16:42:00 +01:00
  • a771ca699a Move all DMAR parsing to userspace. 4lDO2 2021-03-13 12:33:20 +01:00
  • e816d4801f Remove the empty fadt module. 4lDO2 2021-03-13 10:30:37 +01:00
  • 9b4ce0d0cc WIP: Fix userspace ACPI shutdown. 4lDO2 2021-03-11 17:32:28 +01:00
  • b2e131b57b Fix ACPI scheme fevent warning. 4lDO2 2021-03-11 12:48:47 +01:00
  • 7ac5bdbae0 WIP: Implement userspace-driven shutdown. 4lDO2 2021-03-10 14:06:43 +01:00
  • 64b2dd238a Rename the kernel ACPI scheme to kernel/acpi:. 4lDO2 2021-03-10 12:39:38 +01:00
  • bea6747643 Move all AML code to userspace. 4lDO2 2021-03-10 12:33:11 +01:00
  • 28d1d7e847 Update version to 0.2.8 Jeremy Soller 2021-05-05 21:21:57 -06:00
  • 46a364471c Re-init aarch64 serial port for interrupts Jeremy Soller 2021-05-05 20:46:51 -06:00
  • 11a3315255 Re-enable acpi feature and gate it for x86_64 only Jeremy Soller 2021-05-04 08:33:00 -06:00
  • ac8c7834ef Update linked branch of rmm and syscall Jeremy Soller 2021-05-04 08:14:43 -06:00
  • bdccce4a1b Update rmm and syscall Jeremy Soller 2021-05-04 08:12:18 -06:00
  • 3dc08c878f Fix aarch64 switch_to function Jeremy Soller 2021-05-04 08:07:44 -06:00
  • b9a89f2160 More fixes for building aarch64 Jeremy Soller 2021-05-03 22:07:40 -06:00
  • 8f50785781 Fixes for building aarch64 Jeremy Soller 2021-05-03 21:57:45 -06:00
  • c646cb76e5 Update rmm Jeremy Soller 2021-05-03 21:29:44 -06:00
  • 8d61c79b23 Use RMM TableKind and fix x86_64 compilation Jeremy Soller 2021-05-03 21:15:46 -06:00
  • 2aa4d8caf5 Merge remote-tracking branch 'origin/aarch64-rebase' into riscv64 Jeremy Soller 2021-05-03 20:52:59 -06:00
  • 17c261553b Fixes for building x86_64 Jeremy Soller 2021-05-03 20:43:18 -06:00
  • dfdb562e6b Use RMM PhysicalAddress Jeremy Soller 2021-05-03 20:33:31 -06:00
  • 9f0532b1d5 Remove unused flags from old EntryFlags Jeremy Soller 2021-05-03 17:29:55 -06:00
  • b9448274fc Switch to using RMM PageFlags Jeremy Soller 2021-05-03 17:28:08 -06:00
  • 826180659c Update rmm and syscall Jeremy Soller 2021-05-03 17:16:59 -06:00
  • ff8cb8abe8 Enforce must_use Jeremy Soller 2021-05-03 15:02:32 -06:00
  • dd0616cc8f Use RMM for TLB flushing Jeremy Soller 2021-05-03 12:42:16 -06:00
  • 29460e0bff Use RMM for some arch-specific paging functions Jeremy Soller 2021-05-03 12:14:49 -06:00
  • ad39568fe9 Fix unwrapping stack when there are kernel addresses (and there always are) Jeremy Soller 2021-05-02 19:53:31 -06:00
  • af17eeec3a Give schemes a dangling address for empty slices. 4lDO2 2021-02-20 17:14:39 +01:00
  • 73c77d756d Print context name in exception Jeremy Soller 2021-04-28 21:15:21 -06:00
  • 37e6951501 Print CPU and PID when exception occurs Jeremy Soller 2021-04-28 20:59:52 -06:00
  • d331f72f2a Use UTF-8 for all paths Jeremy Soller 2021-02-14 13:45:03 -07:00
  • 8fcd375bd9 Switch Context::grants to RwLock Jeremy Soller 2021-02-13 13:06:13 -07:00
  • 41bea0086f Switch Context::actions to RwLock Jeremy Soller 2021-02-13 13:01:20 -07:00
  • 83dea72a50 Switch Context::files to RwLock Jeremy Soller 2021-02-13 12:57:53 -07:00
  • c7aba8fdfd Switch Context::cwd to using RwLock Jeremy Soller 2021-02-13 12:24:19 -07:00
  • a9bee0bbdc Require UTF-8 for context name Jeremy Soller 2021-02-13 12:16:47 -07:00
  • b26c3e0ae9 Make context name a RwLock Jeremy Soller 2021-02-13 11:10:21 -07:00
  • f90033e0e1 Use PHYS_OFFSET instead of KERNEL_OFFSET to refer to the physmap Jeremy Soller 2021-04-13 20:38:54 -06:00
  • afca4da382 Update syscall Jeremy Soller 2021-04-13 19:34:38 -06:00
  • 959a917ba2 Update RMM Jeremy Soller 2021-04-13 19:34:27 -06:00
  • 5fe8dcf6af Merge branch 'chown-perms' into 'master' Jeremy Soller 2021-03-21 13:02:41 +00:00
  • ee6493d02e UserScheme: permission check EUID and EGID before proceeding with chown Joshua Abraham 2021-03-19 14:06:38 -05:00
  • 47048102ef Fix typo in ContextList Jeremy Soller 2021-03-02 19:57:44 -07:00
  • b8e47f6b8f Merge branch 'fix-invalid-grant-state' into 'master' Jeremy Soller 2021-03-02 13:30:03 +00:00
  • 031496ff0d Fix "Grant should not exist" errors. 4lDO2 2021-02-27 15:28:12 +01:00
  • f873fc7e1a Merge branch '4lDO2/kernel-use_gs_for_tls' Jeremy Soller 2021-02-23 09:21:00 -07:00
  • ba330ffc9a Merge branch 'fix-utf8-userspace-ub' into 'master' Jeremy Soller 2021-02-23 16:17:30 +00:00
  • ad58ca1de6 Give schemes a dangling address for empty slices. 4lDO2 2021-02-20 17:14:39 +01:00
  • bdc925d275 Use GS for TLS! 4lDO2 2021-02-15 14:18:01 +01:00
  • a283160c14 Merge branch 'sysretq-fix2' into 'master' Jeremy Soller 2021-02-17 13:32:26 +00:00
  • 1988583e23 Forbid lower-half noncanonical addresses too. 4lDO2 2021-02-17 12:58:59 +01:00
  • 98af1405e6 Merge branch 'sysretq-fix' into 'master' Jeremy Soller 2021-02-15 19:12:05 +00:00
  • a4b3af34a5 Use correct jump instruction. 4lDO2 2021-02-15 20:05:00 +01:00
  • c19581282d Use the correct add instruction when popping CS. 4lDO2 2021-02-15 20:02:35 +01:00
  • 2a9b7a0fc8 Merge branch 'sysretq' into 'master' Jeremy Soller 2021-02-15 18:59:19 +00:00
  • 8eb58891aa Simplify sysretq code. 4lDO2 2021-02-15 19:04:43 +01:00
  • 5b2df9f504 Document why usermode() can omit rcx check. 4lDO2 2021-02-15 17:27:19 +01:00
  • ff33090fd0 Check whether RCX is canonical in sysretq. 4lDO2 2021-02-15 16:48:34 +01:00
  • a183953ee8 Motivate usage of the IST without SWAPGS involved. 4lDO2 2021-02-13 00:31:46 +01:00
  • a3583a10ce Only swapgs when leaving/entering userspace code. 4lDO2 2021-02-12 23:55:23 +01:00
  • 05db0f5977 Temporarily fix sysretq by swapping gs 4 times. 4lDO2 2021-02-08 13:46:49 +01:00
  • 1a8016b985 Give NMI, #DF, and #MC handlers a special stack. 4lDO2 2021-02-08 11:27:22 +01:00
  • 5a638691e0 Treat GS as always pointing to TSS in kernel space. 4lDO2 2021-02-08 10:58:10 +01:00
  • c913c3be80 Use sysretq in usermode(). 4lDO2 2021-02-08 08:44:48 +01:00
  • a8dc3fcaf1 Begin using sysretq in the system call handler. 4lDO2 2021-02-08 08:09:20 +01:00
  • 6db78cce24 Use UTF-8 for all paths Jeremy Soller 2021-02-14 13:45:03 -07:00
  • 11b5e2fe59 Merge branch 'switch_to_safer' into 'master' Jeremy Soller 2021-02-13 22:42:18 +00:00
  • a706a0dae4 Rewrite signal_handler_wrapper as single asm block. 4lDO2 2021-02-12 18:10:44 +01:00
  • 47c3b2269f Fix context switching. 4lDO2 2021-02-07 11:59:46 +01:00
  • ef4270e473 WIP: Attempt to rewrite switch_to in assembly. 4lDO2 2021-02-06 23:32:43 +01:00
  • c19bd573b5 Switch Context::grants to RwLock Jeremy Soller 2021-02-13 13:06:13 -07:00
  • 2611985a38 Switch Context::actions to RwLock Jeremy Soller 2021-02-13 13:01:20 -07:00
  • bfaf8438a1 Switch Context::files to RwLock Jeremy Soller 2021-02-13 12:57:53 -07:00
  • 55d2467420 Switch Context::cwd to using RwLock Jeremy Soller 2021-02-13 12:24:19 -07:00
  • cd6ede84fe Fix warnings from futex changes Jeremy Soller 2021-02-13 12:16:55 -07:00
  • 238702f7d1 Require UTF-8 for context name Jeremy Soller 2021-02-13 12:16:47 -07:00
  • b9f4a915ea Make context name a RwLock Jeremy Soller 2021-02-13 11:10:21 -07:00
  • 76d8c1074c Merge branch 'futex-fix' into 'master' Jeremy Soller 2021-02-13 17:52:09 +00:00
  • 6f3fc3a4f4 Make cpu_id_opt non-mutable. 4lDO2 2021-02-03 18:10:39 +01:00
  • 44527a8340 Fix a very annoying multi_core data race*. 4lDO2 2021-01-11 10:58:20 +01:00
  • fec8f4aa0c Use physical addresses internally for futexes. 4lDO2 2021-02-03 17:37:09 +01:00
  • 31887bf532 Merge branch 'floating-point-fixups' into 'aarch64-rebase' Jeremy Soller 2021-01-28 17:02:32 +00:00
  • 1e10cac3e1 aarch64: Increase storage for FP context to consider AArch64's needs Robin Randhawa 2021-01-28 16:51:50 +00:00
  • afca6ab31c aarch64: Fix incorrect FP save/restore Robin Randhawa 2021-01-28 16:50:07 +00:00
  • a06636b77f Update syscall Jeremy Soller 2021-01-27 10:44:52 -07:00
  • f8f1596f67 Merge branch 'add-floating-point-support' into 'aarch64-rebase' Jeremy Soller 2021-01-27 17:43:57 +00:00
  • 4dbfaf3ec1 Nit: Add missing close brace in code comment Robin Randhawa 2021-01-27 17:19:37 +00:00
  • 1462fe8638 aarch64: context: Align with x86_64 code Robin Randhawa 2021-01-27 17:17:59 +00:00
  • 3afa0f0895 aarch64: Basic Floating-point/SIMD support Robin Randhawa 2021-01-27 17:17:11 +00:00
  • 00723c4ac2 aarch64: Make IRQs use the exception macros Robin Randhawa 2021-01-26 19:37:23 +00:00
  • 9621c64991 Update syscall Jeremy Soller 2021-01-26 11:46:09 -07:00
  • 81c33a3f6a Merge branch 'aarch64-base' into 'aarch64-rebase' Jeremy Soller 2021-01-26 18:41:53 +00:00
  • 28dfc0f46b aarch64: Basic exception handlers Robin Randhawa 2021-01-26 18:18:19 +00:00
  • 4a215c7c2c aarch64: exception management and clone fixups Robin Randhawa 2021-01-26 18:17:09 +00:00
  • fa62b48285 Merge branch 'fixes-for-grant-maps-and-others' into 'aarch64-rebase' Jeremy Soller 2021-01-22 15:15:08 +00:00
  • 78d1cd1798 syscall: process: empty: Use user-space specific page table Robin Randhawa 2021-01-21 11:53:35 +00:00
  • 6cacbb47f6 scheme: user: Use user-space specific pagt table Robin Randhawa 2021-01-21 11:53:07 +00:00