Commit Graph

117 Commits

Author SHA1 Message Date
1eed961317 interrupt and timer 2024-10-31 10:45:03 -04:00
0dbad8b297 pmap cleanup 2024-10-20 05:14:55 -04:00
oscar
e96e5b0278 metal gic 2024-09-26 04:07:50 +08:00
Ali Mashtizadeh
7756f5e80c Refactor thread code for portability. 2023-10-23 22:24:43 -04:00
Ali Mashtizadeh
cf1adfc2a4 Merge branch 'master' of ssh://review.rcs.uwaterloo.ca:77/source/metal-cos 2023-10-23 22:00:07 -04:00
Ali Mashtizadeh
51b61e3316 Use PROT/MAP flags rather than PTEs to improve portability. 2023-10-23 21:53:07 -04:00
Ali Mashtizadeh
d1a7bc9020 Rename cpu definitions to cpu.h and cpuop.h 2023-10-23 16:27:55 -04:00
Ali Mashtizadeh
14cc577adf Cleanup to prepare for ARM64 + Metal 2023-10-20 16:57:02 -04:00
Ali Mashtizadeh
2695dcf2b0 Reorganize the kernel binary to support loading a non-stripped kernel. 2023-09-22 21:37:37 -04:00
Ali Mashtizadeh
b39acb2afd Cleanup docs in assembly routines. 2023-09-10 16:36:43 -04:00
Ali Mashtizadeh
ce4bc130af Cleanup machine.c 2023-09-10 16:32:03 -04:00
Ali Mashtizadeh
ddab13b829 pmap 2023-09-10 16:31:44 -04:00
Ali Mashtizadeh
22704368cb Documentation cleanup throughout the kernel 2023-09-09 20:18:08 -04:00
Ali Mashtizadeh
a9acaf0489 Cleanup pmapdump* commands 2023-09-06 13:46:47 -04:00
Ali Mashtizadeh
3bde8dd084 Cleaning up a pile of bugs 2023-09-05 22:18:10 -04:00
Ali Mashtizadeh
09f3e260ff NMI now triggers the debugger 2023-09-05 17:47:52 -04:00
Ali Mashtizadeh
e991129de9 Free pages in PMap_Destroy and add extra assertions to catch errors in PAlloc. 2023-09-04 16:03:34 -04:00
Ali Mashtizadeh
52377a980c Add waitchannels into the kernel. 2023-08-30 12:49:23 -04:00
Ali Mashtizadeh
5295c3c8d2 Fix warnings from old style C code. 2023-08-22 18:02:12 -04:00
Ali Mashtizadeh
765bde0c82 Add basic breakpoint support to kdb 2023-08-21 16:42:29 -04:00
Ali Mashtizadeh
45928b97a8 Document initialization on AMD64 2023-08-20 19:06:38 -04:00
Ali Mashtizadeh
2718379e6d Add argument passing 2023-08-20 19:04:28 -04:00
Ali Mashtizadeh
f86e4ad966 Cleanup and commenting source code 2022-12-09 23:51:45 -05:00
Ali Mashtizadeh
04b709f3b3 Cleanup: Disable LWIP and address compiler warnings 2019-07-31 17:30:50 -04:00
Ali Mashtizadeh
506c559dad Updating copyright for files only touched by me 2018-07-05 16:55:21 -04:00
Ali Mashtizadeh
7bc8169ff2 Fixing some compiler warnings 2015-12-10 12:21:27 -08:00
Ali Mashtizadeh
16b21e1406 Allow dumping stack frames and backtraces of any processor. 2015-11-23 14:38:07 -08:00
Ali Mashtizadeh
a274a78a5b Enable interrupts in debug mode so keyboard works. Fixed crosscall off by one due to previous change. 2015-11-20 12:23:36 -08:00
Ali Mashtizadeh
069e7b44b7 Fix debugger's CPU halting 2015-11-13 14:41:35 -08:00
Ali Mashtizadeh
1fdc2fd933 Ensure we clear bits we don't want set in cr0 on APs 2015-03-03 16:12:37 -08:00
Ali Mashtizadeh
33af1ed42b Use NMIs to halt all cores when entering the debugger and resume all cores on exit. 2015-02-28 20:18:38 -08:00
Ali Mashtizadeh
a357b2f034 Enable saving/restoring XMMs so that Clang works 2015-02-24 16:57:30 -08:00
Ali Mashtizadeh
e2afc076a5 Basic CrossCall implementation 2015-02-16 15:19:38 -08:00
Ali Mashtizadeh
8825b399c4 Improve MP debugging 2015-02-16 13:59:24 -08:00
Ali Mashtizadeh
a69bfec37f Brute force try to boot each processor. 2015-02-16 13:52:03 -08:00
Ali Mashtizadeh
a053a30129 Making more functions static 2015-02-16 13:32:14 -08:00
Ali Mashtizadeh
473d00e669 Cleanup warnings from all the previous MP changes 2015-02-16 13:04:40 -08:00
Ali Mashtizadeh
220328dd91 Add MP enhancements for the kernel debugger 2015-02-15 20:17:00 -08:00
Ali Mashtizadeh
d5535ded23 Make spinlock stack per-CPU 2015-02-15 20:05:24 -08:00
Ali Mashtizadeh
4ce2388ef2 Basic multiprocessing seems to be working, but some locking issues may remain 2015-02-15 19:15:18 -08:00
Ali Mashtizadeh
b8c8b1fc7d Improvements for SMP 2015-02-15 18:50:43 -08:00
Ali Mashtizadeh
4808b746f5 Basic MP bootup works 2015-02-15 17:00:55 -08:00
Ali Mashtizadeh
b34f8ed0fd Print backtrace when application faults 2015-02-06 17:08:44 -08:00
Ali Mashtizadeh
2447babe6a Renaming functions and reorganizing functions in thread.c 2015-01-20 15:07:31 -08:00
Ali Mashtizadeh
5808a2564d Implemented CopyStrIn/Out to fix bugginess of using CopyIn/Out wrapping passed a mapped page. 2015-01-19 17:57:20 -08:00
Ali Mashtizadeh
4d3eefa3e7 Renaming Timer to KTimer to mach the file names 2015-01-17 13:52:04 -08:00
Ali Mashtizadeh
5a3d86aa7b Implemented OSThreadCreate system call 2015-01-16 17:57:21 -08:00
Ali Mashtizadeh
35b633417f Fix time keeping, TSC ticks per second, and implement generic timer infrastructure. 2015-01-16 14:32:47 -08:00
Ali Mashtizadeh
408cb2adc0 Cleanup thread and loader code 2015-01-05 17:06:35 -08:00
Ali Mashtizadeh
9a4ad50d34 Fixing some pmap issues with regards to the loader 2014-12-30 20:40:02 -08:00