Commit graph

1605 commits

Author SHA1 Message Date
Michael Scire 4a30437e80 boot: update to accurate as of 9.1.0 2020-02-24 08:21:31 -08:00
Michael Scire 80e1847534 libstrat: fix unconverted _WITH_ASSERTs 2020-02-24 05:01:41 -08:00
Michael Scire 8ccac1d18a pss: extra validity check 2020-02-24 04:32:37 -08:00
Michael Scire c3656aae30 crypto: constant-time pss (if it survives optimization) 2020-02-24 02:27:01 -08:00
Michael Scire 5fa534fb71 ro: implement NRR signature checks 2020-02-23 18:07:14 -08:00
Michael Scire f3629f863d crypto: implement RSA-2048-PSS 2020-02-23 17:34:30 -08:00
Michael Scire d675aa3414 crypto: Implement BigNum/ExpMod 2020-02-23 06:51:32 -08:00
Michael Scire 40400aee1f ams: revamp assertion system 2020-02-22 23:05:14 -08:00
Michael Scire 9572fb2ce3 vapours: cleanup svc includes 2020-02-22 19:54:50 -08:00
Michael Scire eb75d54b2b vapours: new include style, add crypto 2020-02-22 19:47:08 -08:00
Michael Scire 081bd0aefc fix building libstratosphere 2020-02-22 19:21:26 -08:00
SciresM 3c5efefb15
Merge branch 'master' into mesosphere-dev 2020-02-22 19:07:05 -08:00
Michael Scire 3e4c962bbb kern: correct error in KUserPointer 2020-02-22 15:38:31 -08:00
Michael Scire 34fb48b412 kern: mem access prep for svc streams, TODO_IMPLEMENT -> UNIMPLEMENTED 2020-02-22 05:42:46 -08:00
Michael Scire 40980904f7 kern: paranoid assertions about the class tokens 2020-02-22 03:04:31 -08:00
Michael Scire 5055bdb23e kern: correct KClassToken generation 2020-02-22 02:53:14 -08:00
Michael Scire d2a888d9e8 kern: minor fixes to prevent core0-2 panics during boot 2020-02-21 13:05:16 -08:00
Michael Scire bb3f7c8ab9 kern: fix building without debugging turned on 2020-02-20 10:14:27 -08:00
Michael Scire efae01c165 kern: implement KUserPointer (and test with QueryMemory) in advance of svc dev 2020-02-20 09:05:24 -08:00
Michael Scire 9f9593e05f kern: implement large page group mapping, fix debug flag cap 2020-02-19 22:35:31 -08:00
Michael Scire 80b115ef57 kern: implement user thread start, el0 code now runs 2020-02-19 21:21:44 -08:00
Michael Scire 560c340c96 kern: fix supervisor page table activation 2020-02-19 20:43:19 -08:00
Michael Scire aae3c789f2 kern: implement unsuspension of init threads 2020-02-19 20:42:21 -08:00
Michael Scire c568788609 kern: implement KProcess::Run 2020-02-19 19:38:20 -08:00
Michael Scire 28ea0b12a8 kern: implement SetProcessMemoryPermission 2020-02-19 08:07:44 -08:00
Michael Scire b857153964 kern: finish KProcess::Initialize() for KIPs 2020-02-19 06:46:59 -08:00
Michael Scire b99bcbc619 kern: implement MapIo 2020-02-19 05:35:22 -08:00
Michael Scire 905ce0eeea kern: implement capabilities parsing 2020-02-19 04:55:00 -08:00
Michael Scire 0534ddd37a kern: correct alloc region size 2020-02-19 01:26:16 -08:00
Michael Scire 30b3825f5c libmesosphere: precompile mesosphere.hpp 2020-02-19 01:22:51 -08:00
Michael Scire 05a3e95834 kern: implement process(pagetable) init 2020-02-19 01:22:27 -08:00
Michael Scire fba8fb539d kern: add KProcess members 2020-02-18 05:04:49 -08:00
Michael Scire 772e1f1c4f kern: implement IsValidPageGroup 2020-02-18 01:44:40 -08:00
Michael Scire 154422562a kern: implement page group unmapping 2020-02-18 01:04:44 -08:00
Michael Scire 25b0baae59 kern: change decompression asserts -> audits 2020-02-17 02:57:01 -08:00
Michael Scire 92521eed2a kern: implement through kip decompression 2020-02-17 02:49:21 -08:00
Michael Scire cbc73f4407 kern: skeleton initial process loading 2020-02-15 03:44:41 -08:00
Michael Scire 30d6b359f9 kern: implement smmu init 2020-02-15 00:00:35 -08:00
Michael Scire 2c496e94d5 kern: switch->nx, implement sleep manager init 2020-02-14 19:58:57 -08:00
Michael Scire 20b5268e90 kern: kern::arm64 -> kern::arch::arm64 2020-02-14 18:22:55 -08:00
Michael Scire 11f70759ce kern: implement lightlock slowpath (works on hw) 2020-02-14 15:27:34 -08:00
Michael Scire b3e6571586 kern: improve panic output 2020-02-14 04:01:09 -08:00
Michael Scire 5b98426171 kern: implement KWorkerTaskManager 2020-02-14 02:56:42 -08:00
Michael Scire c91386b0fa kern: implement interrupt thread init 2020-02-14 02:20:33 -08:00
Michael Scire ea0011d572 kern: use TinyMT instead of mt19937_t 2020-02-13 22:37:30 -08:00
Michael Scire 364b04b68a libmesosphere: move .s to kernel (prevent manifesting in kernelldr) 2020-02-13 22:05:20 -08:00
Michael Scire 8c93eb5712 kern: implement enough of KPageTable to initialize a thread 2020-02-13 17:38:56 -08:00
Michael Scire c6d1579265 vapours: add time primitives, fix result name 2020-02-13 16:18:39 -08:00
Michael Scire ef3da6cb51 kern: implement KMemoryBlockManager::Update 2020-02-10 09:57:00 -08:00
Michael Scire 3bcc4adb5c kern: implement init through InterruptTaskManager.Initialize() 2020-02-10 02:26:00 -08:00
Michael Scire 3c78bc4dbf kern: implement KMemoryBlockManager init 2020-02-10 01:50:23 -08:00
Michael Scire fdd7b1db15 kern: add KPageTableBase members 2020-02-09 18:29:38 -08:00
Michael Scire 50b8189e7f kern: begin skeletoning page table types 2020-02-09 03:45:45 -08:00
Michael Scire 3284656aad kern: print build date/time, git revision 2020-02-09 02:05:49 -08:00
Michael Scire 1d65352167 kern: print layout for debug during startup 2020-02-09 01:16:13 -08:00
Michael Scire d8e94996ad kern: newlines at end of svc files 2020-02-08 11:56:13 -08:00
Michael Scire 5dae43b192 kern: add svc stubs, turn on svc table build 2020-02-08 11:53:27 -08:00
Michael Scire 4b6b06fcaa mesosphere: hard enforcement of TODOs 2020-02-08 03:18:08 -08:00
Michael Scire 919b8124dc kern: Implement exception vector ASM 2020-02-08 02:49:32 -08:00
Michael Scire e330b6187f kern: bugfix, turn on auditing for the time being 2020-02-07 19:48:07 -08:00
Michael Scire 1224ed8abe kern: implement dpc + skeleton rest of main 2020-02-07 19:16:09 -08:00
Michael Scire e9e949ec36 kern: obj stubs to get past slab init 2020-02-07 11:51:58 -08:00
Michael Scire 8cfffc69d5 kern: print backtrace on panic 2020-02-07 06:26:01 -08:00
Michael Scire cb6af379d8 kern: implement dynamic slab init + ini relocation 2020-02-07 04:58:35 -08:00
Michael Scire d9e6771e63 kern: implement more of KMemoryManager through KPageBuffer slab init 2020-02-06 20:36:26 -08:00
Michael Scire f7d3d50f33 kern: implement KMemoryManager init 2020-02-06 17:40:57 -08:00
Michael Scire 1de607c183 kern: implement KResourceLimit 2020-02-06 05:34:38 -08:00
Michael Scire 23f5d77f37 kern: fix carveout region calcs 2020-02-06 01:22:21 -08:00
Michael Scire 5961151a92 kern: implement uart init + logging 2020-02-06 01:05:35 -08:00
Michael Scire 323858cf96 kern: s/MemoryBlock/MemoryRegion/g 2020-02-05 14:16:56 -08:00
Michael Scire 5f857cb079 kern: implement more of KInterruptManager 2020-02-05 14:07:51 -08:00
Michael Scire 62de3322ff kern: implement much of KScheduler, KHardwareTimer 2020-02-05 13:02:35 -08:00
TuxSH 1309e93e26 libvapours: reorganize includes.hpp 2020-02-04 19:02:17 +00:00
TuxSH c6a736a6f6 libvapours: constexpr ALWAYS_INLINE T CombineBits 2020-02-04 02:09:46 +00:00
TuxSH 30e39e60f7 libvapour: forgot to add util_bitutil.hpp to util.hpp 2020-02-04 02:04:59 +00:00
TuxSH 108b997ef2 libvapours: introduce BitsOf, Bits 2020-02-04 01:32:59 +00:00
TuxSH 877b2cf790 libvapours: introduce BITL, MASK, MASKL, MASK2, MASK2L which were already present in other ams components 2020-02-03 23:01:00 +00:00
Michael Scire 5e4307046a style cleanup 2020-01-31 16:38:33 -08:00
Michael Scire 2355047715 kern: add abstract scoped lock template 2020-01-31 16:37:58 -08:00
Michael Scire 57222e8301 kern: implement KSchedulerLock 2020-01-31 16:25:17 -08:00
Michael Scire 9accbcf8e1 meso: use -fno-non-call-exceptions, -fno-use-cxa-atexit 2020-01-31 04:47:08 -08:00
Michael Scire 86eea62cd8 kernel: use .rel.ro 2020-01-31 03:37:49 -08:00
Michael Scire 00b093ec62 util: remove spurious error in parent offset calc 2020-01-31 02:03:34 -08:00
Michael Scire b2b1129cc0 kern: mostly implement KThread::Initialize 2020-01-31 01:53:30 -08:00
Michael Scire d9db723bc8 kern: add all kthread members 2020-01-31 00:07:06 -08:00
Michael Scire 08cb370a45 kern: implement KThreadContext 2020-01-30 22:46:18 -08:00
Michael Scire d262ff92cc kern: implement KPriorityQueue 2020-01-30 20:56:24 -08:00
Michael Scire e1adbb6dba util: add BitSet 2020-01-30 17:45:54 -08:00
Michael Scire e25a4ca8d7 kern: implement KAffinityMask 2020-01-30 17:07:08 -08:00
Michael Scire 059c706f19 kern: implement KThreadLocalPage 2020-01-30 16:51:35 -08:00
Michael Scire 484f132651 kern: implement KHandleTable, other cleanup 2020-01-30 15:29:51 -08:00
Michael Scire d5a4c17ee7 kern: fully implement slabheap init 2020-01-30 01:41:59 -08:00
Michael Scire 7d6b16d7fb kern: Skeleton KSynchronizationObject 2020-01-29 23:46:55 -08:00
Michael Scire 2faf3d33b5 kern: Implement KAutoObject, KSlabHeap, KLightLock 2020-01-29 22:06:25 -08:00
Michael Scire bb4ade30e4 kern: optimize memory block tree lookups 2020-01-29 14:55:26 -08:00
Michael Scire 981bb1f15d kern: skeleton enough types to init KCoreLocalRegion in main() 2020-01-29 14:26:24 -08:00
Michael Scire ad0d2faa6c meso: makefile improvements, sysreg accessors 2020-01-29 05:37:14 -08:00
Michael Scire 507ab46709 cpu: optimize core barrier 2020-01-29 04:36:18 -08:00
Michael Scire 7820e5b759 kern: implement debug register/vectors init 2020-01-29 02:42:41 -08:00
Michael Scire 7c703903ea kern: implement pool partition memblock setup 2020-01-29 01:49:04 -08:00
Michael Scire e7dee2a9fc kern: Implement most of memory init (all cores hit main, but still more to do) 2020-01-28 22:09:47 -08:00
Michael Scire b2e522c0a0 meso: find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-01-24 02:12:37 -08:00
Michael Scire 875b62f06a config: fix typos 2020-01-24 02:11:27 -08:00
Michael Scire 32fb22e361 kern: finish implementing assembly init routines 2020-01-24 02:11:26 -08:00
Michael Scire bce7133128 meso: add script to build mesosphere.bin 2020-01-24 02:11:24 -08:00
Michael Scire 3982afdd6b meso: skeleton buildsystem for kernel 2020-01-24 02:11:23 -08:00
Michael Scire 6ee305464a mesosphere: Implement SVC table auto-generation 2020-01-24 02:11:21 -08:00
Michael Scire 6ecf04c3b7 find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-01-24 02:10:40 -08:00
Michael Scire 9df7f0aada svc: whoops 2020-01-18 03:54:54 -08:00
Michael Scire 3a91a6b786 svc: populate namespace 2020-01-17 20:11:03 -08:00
Michael Scire 11d4e74620 scope guard: ensure implicit lambdas are always inline 2020-01-17 14:17:18 -08:00
Michael Scire 9068e2071c offsetof: proper detection when sizeof() != alignof 2020-01-16 04:09:11 -08:00
Michael Scire 769a57526c util::IntrusiveList: assert member referencing is correct 2020-01-16 00:30:42 -08:00
Michael Scire 0751db5d12 fixes for previous two commits 2020-01-15 23:47:14 -08:00
Michael Scire da59334c5e util: make offsetof/parent-of-member actually constexpr 2020-01-15 21:35:14 -08:00
Michael Scire 4d5cde3f7b ams.bpc: fix report serialization 2020-01-03 14:17:32 -08:00
Michael Scire 8528248d2b git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "08c9b3cb"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "08c9b3cb"
git-subrepo:
  version:  "0.4.0"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "5d6aba9"
2020-01-03 13:06:25 -08:00
Michael Scire 814c9d1cfb Bump version to 0.10.2 2020-01-03 13:04:16 -08:00
Michael Scire 3038612774 ams: use bitpack for api version 2020-01-02 18:17:48 -08:00
Michael Scire 59be817bb8 fix header include 2020-01-02 17:45:30 -08:00
Michael Scire b965e3f335 libvapours: add (kibi/mebi/gibi)byte literals 2020-01-02 17:44:22 -08:00
Michael Scire 43c0e39c34 meso: use BitPack 2020-01-02 03:30:10 -08:00
Michael Scire 0d8bde6079 loader: use BitPack for caps 2020-01-02 03:13:40 -08:00
Michael Scire 38f942adf5 strat: use util::FourCC where relevant 2020-01-02 01:52:13 -08:00
Michael Scire 145ee8fcc8 util: add BitPack 2020-01-02 01:41:52 -08:00
Michael Scire 846f610fff fatal: include stack/tls in reports 2019-12-31 15:23:25 -08:00
Michael Scire 11ec6a6912 fusee/exo/sept: additional fixes 2019-12-31 13:26:15 -08:00
Michael Scire 18d998034d buildsystem: more fixes 2019-12-31 02:54:06 -08:00
Michael Scire 27994bb306 buildsystem: avoid use of $(shell find) for significant speedup 2019-12-31 02:46:01 -08:00
Michael Scire bf5bbfbcef kernel_ldr: clean up KSystemControl init API 2019-12-31 00:46:09 -08:00
Michael Scire d10621e832 mesosphere: refactor Elf vs Elf64 distinction 2019-12-31 00:46:09 -08:00
fincs 4adc0e4096 Replace HFILES with HFILES_BIN in all makefiles 2019-12-31 00:46:09 -08:00
Michael Scire 8e3c34ea89 meso: build with -ffixed-x18 2019-12-31 00:46:09 -08:00
Michael Scire a85e20bcea kernel_ldr::cpu: prevent reordering around barrier instructions 2019-12-31 00:46:09 -08:00
Michael Scire f78653d815 kernelldr: miscellaneous fixes 2019-12-31 00:46:09 -08:00
Michael Scire 8efdd04fcd kernel_ldr: finish implementing all core logic. 2019-12-31 00:46:09 -08:00
fincs 623b5f4eb9 meso: miscellaneous cleanup and build fixes 2019-12-31 00:46:09 -08:00
SciresM af352e4f7f Remove unnecessary copyright header. 2019-12-31 00:46:09 -08:00
Michael Scire 2866cb5fe6 mesosphere: Implement kernelldr through first page table mapping 2019-12-31 00:46:09 -08:00
Michael Scire b5becba8ff kernelldr: skeleton build system in prep for dev 2019-12-31 00:46:09 -08:00
Michael Scire 36c47a0014 meso: skeleton libmesosphere in prep for kernelldr dev 2019-12-31 00:46:09 -08:00
Michael Scire 0b0fdc5c58 sf: fix support for automatic recvlist buffers 2019-12-31 00:19:58 -08:00
Michael Scire f9a199557c git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "9261160c"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "9261160c"
git-subrepo:
  version:  "0.4.0"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "5d6aba9"
2019-12-11 18:37:44 -08:00
Michael Scire 0fdbdb1f4d remove title_id removal TODO 2019-12-11 18:37:01 -08:00
Michael Scire e734b23f11 cfg: Allow more flexible hbl configuration 2019-12-11 18:33:53 -08:00
Michael Scire d3bafc5b3b git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "4d5a09e5"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "4d5a09e5"
git-subrepo:
  version:  "0.4.0"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "5d6aba9"
2019-12-10 19:18:08 -08:00
Michael Scire 2c9e1a814c Bump version to 0.10.1 2019-12-10 18:33:01 -08:00
Michael Scire 2420b26981 sf: Allow for more than one process id holder (ugly) 2019-12-10 18:10:47 -08:00
Michael Scire c1d68d7f0d util: add fourcc, intrusive list fixes 2019-12-10 12:27:19 -08:00
Michael Scire 7cead4b620 Fix another off-by-one in TinyMT init calcs 2019-12-10 01:14:36 -08:00
Michael Scire 27202b2fab tinymt: correct init iter count 2019-12-09 23:53:09 -08:00
Michael Scire 1556a92a38 random: use TinyMT instead of XorShift 2019-12-09 23:50:47 -08:00
Michael Scire 206b1a1b57 kvdb: correct condition inversion in kvdb::Archive 2019-12-09 22:44:10 -08:00
Michael Scire 9578622abf sf: Improve class member function detection 2019-12-09 19:02:58 -08:00
Michael Scire 0105455086 git subrepo clone https://github.com/Atmosphere-NX/Atmosphere-libs libraries
subrepo:
  subdir:   "libraries"
  merged:   "07af583b"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "07af583b"
git-subrepo:
  version:  "0.4.0"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "5d6aba9"
2019-12-09 18:54:29 -08:00