Commit Graph

838 Commits

Author SHA1 Message Date
Michael Scire
57f935391d kern: allow non-inline GetObjectForIpc 2020-12-02 06:43:37 -08:00
Michael Scire
4804e1e1e0 kern: fix KHandleTable null deref in ipc 2020-12-02 06:43:37 -08:00
Michael Scire
4ae74b9b4e kern: session mapping getters are on the hotpath 2020-12-02 06:43:37 -08:00
Michael Scire
726d7b6e4d kern: tweak optimization settings for hot paths 2020-12-02 06:43:37 -08:00
Michael Scire
390bdc7b6b kern: more iterator adjustments 2020-12-02 06:43:37 -08:00
Michael Scire
ccd2798ae2 ams: this version will be 0.16.0 2020-12-02 06:43:37 -08:00
Michael Scire
41a53075e5 hot path: just in case 2020-12-02 06:43:37 -08:00
Michael Scire
ab8de72db0 microkernel: hot paths are pretty fucking hot 2020-12-02 06:43:37 -08:00
Michael Scire
331fa1d00d kern: update KConditionVariable to support new has_waiter_flag rules 2020-12-02 06:43:37 -08:00
Michael Scire
fd745ab2d3 kern: fix SvcGetResourceLimitPeakValue 2020-12-02 06:43:37 -08:00
Michael Scire
972b396f61 kern: fix copy/paste error 2020-12-02 06:43:37 -08:00
Michael Scire
3c8e7de915 kern: fix bugs caused by UB + transition to -Os 2020-12-02 06:43:37 -08:00
Michael Scire
1b164613a6 loader: support 11.x DisableDeviceAddressSpaceMerge 2020-12-02 06:43:37 -08:00
Michael Scire
3d4ab95ab2 kern: allow non-inline KSchedulerLock::Lock 2020-12-02 06:43:37 -08:00
Michael Scire
152def19c0 kern: build as -Os instead of -O2 2020-12-02 06:43:37 -08:00
Michael Scire
63974d9bce kern: reduce KMemoryRegionAllocator slab size 2020-12-02 06:43:37 -08:00
Michael Scire
2b483866c7 kern: assume that uart has been setup by secmon 2020-12-02 06:43:37 -08:00
Michael Scire
7e1da15f6e kern: update Initialize0 to account for new ordering 2020-12-02 06:43:37 -08:00
Michael Scire
0a1465f198 kern: add new overflow checks on KMemoryRegions 2020-12-02 06:43:37 -08:00
Michael Scire
748893fe77 kern: fix assertion in the multi-region pool partition code 2020-12-02 06:43:37 -08:00
Michael Scire
1ca64cf2a1 kern: improve KMemoryManager pool detection 2020-12-02 06:43:37 -08:00
Michael Scire
aac8af8bf5 kern: update KMemoryRegion to store last address rather than size 2020-12-02 06:43:37 -08:00
Michael Scire
5da6b60008 kern: add KAlpha/KBeta 2020-12-02 06:43:37 -08:00
Michael Scire
e400e2afc7 kern: stubs for Svc39, 3A, 46, 47 2020-12-02 06:43:37 -08:00
Michael Scire
56c6e4244a kern: remove now unused SetupFor*Compare funcs 2020-12-02 06:43:37 -08:00
Michael Scire
c8ebd7eea0 KConditionVariable/KAddressArbiter: no need for global compare thread 2020-12-02 06:43:37 -08:00
Michael Scire
28f9b534b6 kern: implement 64-virtual-core interface 2020-12-02 06:43:37 -08:00
fincs
f86059de70 strat/cfg: Update for new libnx HID interface 2020-12-02 06:43:37 -08:00
fincs
a03ee7b148 strat/hid: Update for new libnx HID interface 2020-12-02 06:43:37 -08:00
Michael Scire
8b2ed36698 kern: cleanup KThread, optimize/normalize KThreadQueue/KWaitObject 2020-12-02 06:43:37 -08:00
Michael Scire
1852fe8612 kern: improve KSynchronizationObject, kill KSynchronization 2020-12-02 06:43:37 -08:00
Michael Scire
b60054dba1 kern: update for new interrupt event locking scheme 2020-12-02 06:43:37 -08:00
Michael Scire
c7f37f81ee kern: fix sleep save/resume for new x18/tpidr scheme 2020-12-02 06:43:37 -08:00
Michael Scire
19a279ce45 kern: fix race-crash on interrupt controller save, improve fatal output 2020-12-02 06:43:37 -08:00
Michael Scire
783f1077be kern: KObjectContainer::Register -> void 2020-12-02 06:43:37 -08:00
Michael Scire
b0debd72a7 kern: Kill KCoreLocalRegion 2020-12-02 06:43:37 -08:00
Michael Scire
24d545701c kern: remove more of clc 2020-12-02 06:43:37 -08:00
Michael Scire
aae565629e kern: move scheduler/interrupt task manager out of core local region 2020-12-02 06:43:37 -08:00
Michael Scire
bee629b8ad kern: update KHardwareTimer, move out of KCoreLocalRegion 2020-12-02 06:43:37 -08:00
Michael Scire
5cb237d030 kern: use single interrupt manager object 2020-12-02 06:43:37 -08:00
Michael Scire
a4e09fc6c4 kern: fix unnecessary align-down 2020-12-02 06:43:37 -08:00
Michael Scire
73d9d5ff47 kern: fix error in SeparatePages 2020-12-02 06:43:37 -08:00
Michael Scire
08cfee54fa kern: fix re-order/assert in KMemoryBlock 2020-12-02 06:43:37 -08:00
Michael Scire
7b279ab863 kern: remove KPageTableBase::MakeAndOpenContiguousPageGroup 2020-12-02 06:43:37 -08:00
Michael Scire
6a85f7225d kern: implement DisableDeviceAddressSpaceMerge 2020-12-02 06:43:37 -08:00
Michael Scire
f469dfbeb3 kern: SvcGetResourceLimitPeakValue 2020-12-02 06:43:37 -08:00
Michael Scire
cc11d452e5 kern: KMemoryManager::Allocate -> AllocateAndOpen 2020-12-02 06:43:37 -08:00
Michael Scire
3bce008170 kern: implement kmemoryblock/kmemoryinfo merge disable 2020-12-02 06:43:37 -08:00
Michael Scire
3383509da6 kern: remove KMemoryAttribute_AnyLocked 2020-12-02 06:43:37 -08:00
Michael Scire
281dcf232a kern: update KMemoryBlockManagerUpdateAllocator api 2020-12-02 06:43:37 -08:00
Michael Scire
71a2fe1bb6 kern: implement new software-reserved page table bits 2020-12-02 06:43:37 -08:00
Michael Scire
4a216dc928 kern: update KPageTableBase for new disable-merge attrs 2020-12-02 06:43:37 -08:00
Michael Scire
db2de8ef31 erpt: lightly update (TODO: use context, do new svc stuff) 2020-12-02 06:43:37 -08:00
Michael Scire
05832cec73 sm: implement UserService::DetachClient 2020-12-02 06:43:37 -08:00
Michael Scire
632c8984c8 loader: update for 11.0.0 (anti-dg + set program args abi) 2020-12-02 06:43:37 -08:00
Michael Scire
694e3b579e pgl: update for 11.0.0 2020-12-02 06:43:37 -08:00
Michael Scire
a685842804 exo: update for 11.0.0 2020-12-02 06:43:37 -08:00
Michael Scire
ad6dd60474 result: update for accurate ::Includes 2020-12-02 06:43:37 -08:00
Michael Scire
05af215191 erpt: add update autogenerated ids 2020-12-02 06:43:37 -08:00
Michael Scire
fd7e4dfb97 ncm: fix abort in ListContentMetaInfo 2020-11-29 19:00:15 -08:00
Michael Scire
8ba513fefb fs: fix bug in buffer manager 2020-11-24 19:49:11 -08:00
Michael Scire
5382011b0d exo/mariko fatal: print descriptor for fatal error report 2020-11-22 10:28:23 -08:00
Michael Scire
8ba1cdeef2 exo/mariko fatal: perform display init, reboot on power button press 2020-11-22 10:28:23 -08:00
Michael Scire
7f1a7cfd2d fs: fix RomFs GetEntryType (fixes mariko daybreak) 2020-11-21 04:00:52 -08:00
Michael Scire
24eef96b15 os: remove completed TODO 2020-11-20 17:50:05 -08:00
Michael Scire
1ea49bdae3 os: do not use deprecated libnx ::virtmemReserve api 2020-11-20 17:48:58 -08:00
Michael Scire
dd56f8449f ldr/hbl: support address space width overrides 2020-11-20 16:57:07 -08:00
Michael Scire
69f9fb8713 exo: receive saved lcd vendor from bl 2020-11-18 15:08:44 -08:00
Michael Scire
b96b162b0b sdmmc: fix UHS-I tuning init for SD cards 2020-11-18 15:08:44 -08:00
Michael Scire
512fc8f9b1 sdmmc: various fixes + logging as bugs are debugged 2020-11-18 15:08:44 -08:00
Michael Scire
b32c9bf17c exo/mariko fatal: save fatal error binaries to the SD 2020-11-18 15:08:44 -08:00
Michael Scire
a2c89a8f3f mariko fatal: map 0xC0000000 for framebuffer usage 2020-11-18 15:08:44 -08:00
Michael Scire
898fe61034 exo: read first two sd card sectors in mariko_fatal 2020-11-18 15:08:44 -08:00
Michael Scire
7bcd5c6e3b exo: implement start of mariko fatal handler 2020-11-18 15:08:44 -08:00
Michael Scire
74da8a4885 exo: map stack region for mariko-only program 2020-11-15 08:43:55 -08:00
Michael Scire
cb7c6a5d8a exo: load mariko-only program during boot 2020-11-15 08:35:57 -08:00
Michael Scire
a203ac3f80 exo: free space by moving keys to volatile iram, support logging under debug config 2020-11-15 02:47:44 -08:00
Michael Scire
2ef41f0027 exo: shuffle logic around to support debug code region in iram 2020-11-15 01:36:50 -08:00
Michael Scire
ee3a7e7740 exo: disable untranslated gpu accesses on mariko 2020-11-15 00:45:41 -08:00
Michael Scire
b4c908ba9f exo/program: release, debug, audit configs 2020-11-14 14:14:07 -08:00
Michael Scire
71a38ae74d libexo/sc7fw: support release/debug/audit 2020-11-14 12:17:38 -08:00
Michael Scire
f74527d93c libexosphere: support building under debug/audit configurations 2020-11-14 11:35:51 -08:00
Michael Scire
72f83ea43e exo: reserve a portion of iram for secure monitor debug (including code) 2020-11-14 11:11:41 -08:00
Michael Scire
43ef260c66 boot2: don't wait for bpc.mitm on mariko 2020-11-14 10:40:40 -08:00
Michael Scire
304b9bfbd1 i2c: correct missing destruction 2020-11-14 03:37:51 -08:00
Michael Scire
d587054f96 wec: whoops 2020-11-14 03:37:51 -08:00
Michael Scire
29facf6141 updater: don't overwrite custom-public-key BCTs 2020-11-14 03:37:51 -08:00
Michael Scire
b8c3128d16 pinmux: whoops 2020-11-14 03:37:51 -08:00
Michael Scire
b62aa044e4 boot/powctl/i2c: more miscellaneous fixes 2020-11-14 03:37:51 -08:00
Michael Scire
affdea9244 boot: various bugfixes (b/w logo displays now) 2020-11-14 03:37:51 -08:00
Michael Scire
fdab964e3d powctl: implement max17050 driver 2020-11-14 03:37:51 -08:00
Michael Scire
15c752f52d powctl: add battery driver logic (missing impl) 2020-11-14 03:37:51 -08:00
Michael Scire
28862f69f8 powctl: implement max17050 custom parameter init 2020-11-14 03:37:51 -08:00
Michael Scire
a20f278ede powctl: implement full bq24193 driver 2020-11-14 03:37:51 -08:00
Michael Scire
7c58a21c4c i2c: add register acccessor helpers 2020-11-14 03:37:51 -08:00
Michael Scire
5bd02f128d powctl: add ChargerDriver body (needs impl) 2020-11-14 03:37:51 -08:00
Michael Scire
d9350d24a9 pinmux: implement updated initial config api 2020-11-14 03:37:51 -08:00
Michael Scire
68f42a14c8 boot: update/refactor display management to support hw type 5/display 0x1040/0x2050 2020-11-14 03:37:51 -08:00
Michael Scire
4d1c4f1677 dd: implement DeviceAddressSpaceType api 2020-11-14 03:37:51 -08:00
Michael Scire
708f5bf1fb boot: refactor battery checking to use new powctl apis 2020-11-14 03:37:51 -08:00
Michael Scire
485304bd17 powctl: implement client api (needs board-specific impl) 2020-11-14 03:37:51 -08:00
Michael Scire
3d31837ca1 pwm: implement driver for boot sysmodule 2020-11-14 03:37:51 -08:00
Michael Scire
35552bac2c gpio: add missing driver functions for boot 2020-11-14 03:37:51 -08:00
Michael Scire
323e893433 i2c: implement remaining required driver logic 2020-11-14 03:37:51 -08:00
Michael Scire
258cfb62a2 i2c: command list format, get boot down to linker errors 2020-11-14 03:37:51 -08:00
Michael Scire
42caa4ffd1 i2c/gpio: hook up open session for sf interface 2020-11-14 03:37:51 -08:00
Michael Scire
b74b309a77 i2c: implement driver init api 2020-11-14 03:37:51 -08:00
Michael Scire
09f3b29a98 i2c: finish I2cBusAccessor 2020-11-14 03:37:51 -08:00
Michael Scire
6c4280d27a i2c: implement BusAccessor::WriteHeader 2020-11-14 03:37:51 -08:00
Michael Scire
6ff58fa4b3 i2c: implement BusAccessor except Send/Receive/WriteHeader 2020-11-14 03:37:51 -08:00
Michael Scire
e5bf06254a boot: add rgltr/clkrst overrides, skel I2cBusAccessor 2020-11-14 03:37:51 -08:00
Michael Scire
f4e499fed9 i2c: add auto-generated bus/device map 2020-11-14 03:37:51 -08:00
Michael Scire
4a2daa4810 i2c: begin skeleton device driver framework 2020-11-14 03:37:51 -08:00
Michael Scire
21fac86080 gpio: remove copy-pasted unused file 2020-11-14 03:37:51 -08:00
Michael Scire
bd3ab76fd2 gpio: implement more of server library for boot sysmodule client usage 2020-11-14 03:37:51 -08:00
Michael Scire
e1b5d81d65 wec: implement wec driver components for boot sysmodule 2020-11-14 03:37:51 -08:00
Michael Scire
4b4f05b4a6 gpio: add (most of) driver framework for boot sysmodule usage 2020-11-14 03:37:51 -08:00
Michael Scire
ddf2f5f3c5 ddsf: implement namespace 2020-11-14 03:37:51 -08:00
Michael Scire
d2e530c2aa libstrat: fix precompiled-header dependency detection 2020-10-30 11:56:12 -07:00
SciresM
166318ba77
sdmmc: implement driver suitable for fs + bootloader
* sdmmc: begin skeletoning sdmmc driver

* sdmmc: add most of SdHostStandardController

* sdmmc: implement most of SdmmcController

* sdmmc: Sdmmc2Controller

* sdmmc: skeleton implementation of Sdmmc1Controller

* sdmmc: complete abstract logic for Sdmmc1 power controller

* sdmmc: implement gpio handling for sdmmc1-register-control

* sdmmc: implement pinmux handling for sdmmc1-register-control

* sdmmc: fix building for arm32 and in stratosphere context

* sdmmc: implement voltage enable/set for sdmmc1-register-control

* util: move T(V)SNPrintf from kernel to util

* sdmmc: implement BaseDeviceAccessor

* sdmmc: implement MmcDeviceAccessor

* sdmmc: implement clock reset controller for register api

* sdmmc: fix bug in WaitWhileCommandInhibit, add mmc accessors

* exo: add sdmmc test program

* sdmmc: fix speed mode extension, add CheckMmcConnection for debug

* sdmmc: add DeviceDetector, gpio: implement client api

* gpio: modernize client api instead of doing it the lazy way

* sdmmc: SdCardDeviceAccessor impl

* sdmmc: update test program to read first two sectors of sd card

* sdmmc: fix vref sel

* sdmmc: finish outward-facing api (untested)

* ams: changes for libvapours including tegra register defs

* sdmmc: remove hwinit
2020-10-30 11:54:30 -07:00
SciresM
ac04e02a08
Meso build targets (#1196)
* meso: commit wip (thanks fincs) rewrite to support build targets

* meso: commit mostly-working build system

* meso: correct .o dependencies in kernel/kldr

* libstratosphere: fix building after PCH related build changes

Co-authored-by: fincs <fincs@devkitpro.org>
2020-10-27 13:55:19 -07:00
Michael Scire
e973ef7533 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "10e9e0e8"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "10e9e0e8"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2020-10-26 16:03:40 -07:00
Michael Scire
2ee2a4f1ac docs/fatal error: update for 0.15.0 2020-10-26 16:00:34 -07:00
Michael Scire
d04046ecaf ams: bump version to 0.15.0 (release slated for post-crown-tundra) 2020-10-15 09:41:49 -07:00
Michael Scire
2e7214b6fa kern: perform rescheduling on dispatch re-enable (closes #1169) 2020-10-13 23:07:51 -07:00
Michael Scire
d52179c708 util: follow 90fd771 to its natural conclusion (generic base rbtree) 2020-10-12 01:06:19 -07:00
Michael Scire
388f9e6455 kern: minor behavioral fixes to condvar/address arbiter 2020-10-12 01:06:19 -07:00
Michael Scire
4138abbefa erpt: fix attachment-in-save paths (closes #1124, #1145) 2020-09-23 19:49:20 -07:00
Michael Scire
48b4dd48a4 ams: expose reboot payload for kernel panic 2020-09-18 00:43:55 -07:00
Michael Scire
fa0df994ba git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "f6dac1e6"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "f6dac1e6"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2020-09-17 08:34:48 -07:00
Michael Scire
909a1767a6 ams: bump version to 0.14.4 2020-09-17 08:34:02 -07:00
Michael Scire
dbe59fd041 kern: fix KCodeMemory SVCs when Owner process != Generator process 2020-09-17 08:26:08 -07:00
Michael Scire
9b65daf439 kern: default to release config 2020-09-17 08:26:08 -07:00
Michael Scire
4acdc899f5 kern: generate fatal error on panic 2020-09-17 08:26:08 -07:00
Michael Scire
76957e502d kern: add build-define for logging to iram ringbuffer 2020-09-17 08:26:08 -07:00
Michael Scire
2cf5c65bc5 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "48dbf480"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "48dbf480"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2020-09-14 18:14:05 -07:00
Michael Scire
47d0d5c6ab ams: support 10.2.0 (bump vers to 0.14.3) 2020-09-14 18:13:18 -07:00
Michael Scire
074364753f loader: improve verification terminology 2020-09-08 15:34:22 -07:00
Michael Scire
b7d99b732a ro: rename ModuleType to reflect reality 2020-09-08 15:05:15 -07:00
Michael Scire
1cccb6efc4 git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "04ef9bf8"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "04ef9bf8"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2020-09-07 10:52:49 -07:00
Michael Scire
f4cd4bcf03 ams: bump version to 0.14.2 2020-09-07 10:51:15 -07:00
Michael Scire
e36fe62fca kern: lps driver fixes, sleep confirmed working on 1.0.0 2020-09-07 10:43:35 -07:00
Michael Scire
870b589379 kern: fix c/p error 2020-09-07 10:43:35 -07:00
Michael Scire
acdce230da kern: add debug logging on smmu error interrupt 2020-09-07 10:43:35 -07:00
Michael Scire
34dc062c11 kern: finish 1.x lps driver 2020-09-07 10:43:35 -07:00
Michael Scire
ab2568ddfb kern: add most of 1.x lps driver 2020-09-07 10:43:35 -07:00
Michael Scire
4dc728824f kern: skeleton legacy lps driver 2020-09-07 10:43:35 -07:00
Michael Scire
cc6b8ea4d1 exo/kern: 1.0.0 requires access to bpmp smmu regs, userland (am) needs to map bpmp exception vectors 2020-09-07 10:43:35 -07:00
Michael Scire
49af4fae32 kern: begin 1.0.0 backwards compat changes (kips run, full boot fails) 2020-09-07 10:43:35 -07:00
Michael Scire
e8ffbe630f kern: support 2-pool layout on 2.x-4.x instead of modern 4-pool layout 2020-09-07 10:43:35 -07:00