Michael Scire
41ab4c2c68
stratosphere: use SdkMutex/SdkRecursiveMutex over Mutex
2021-09-29 22:52:50 -07:00
Michael Scire
a4fe1bb5d8
libstrat: uncomment some asserts
2021-09-29 22:02:58 -07:00
Michael Scire
9b04ff0f54
ams-libs: AMS_ASSERT no longer invokes expression
2021-09-29 21:32:40 -07:00
Michael Scire
5dc64bc1f7
os: implement Barrier
2021-09-29 18:03:11 -07:00
Michael Scire
b25218c918
os: implement SdkRecursiveMutex
2021-09-29 14:56:53 -07:00
Michael Scire
6b438c7adf
ddsf: We can use LightEvent now
2021-09-29 14:17:40 -07:00
Michael Scire
8fc7d715a5
os: add unit tests for ExpandUnsignedValueToAscii
2021-09-29 13:55:40 -07:00
Michael Scire
15ff64e03a
os: implement ExpandUnsignedValueToAscii
...
Nintendo does this as of latest firmware.
It's desirable because it removes the only usage of util::SNPrintf() from os library,
which means programs which don't otherwise use SNPrintf do not need to link it into .text.
This saves ~0xD40 of .text as of time-of-commit when successfully unlinking, and e.g.
reduces our sm (and other modules) memory size by a page.
2021-09-29 13:42:11 -07:00
Michael Scire
1e7a327a25
os: implement LightSemaphore
2021-09-29 13:24:03 -07:00
Michael Scire
b8a1ebd11a
os: implement LightMessageQueue
2021-09-29 12:55:52 -07:00
Michael Scire
cf5f431058
os: refactor MessageQueue to use new MessageQueueHelper template
2021-09-29 12:24:18 -07:00
Michael Scire
c7634c66c4
os: tweak LightEvent codegen
2021-09-28 19:11:52 -07:00
Michael Scire
632b6b3330
os: implement LightEvent
2021-09-28 18:54:09 -07:00
Michael Scire
5e0bbb61b1
os: implement ReadWriteBusyMutex
2021-09-28 17:01:11 -07:00
Michael Scire
09570c470c
os: implement BusyMutex
2021-09-28 14:53:55 -07:00
Michael Scire
d00cec38b0
kern: use util::BitFlagSet for capability flags
2021-09-27 11:37:27 -07:00
Michael Scire
98f438e742
kern: fix/update thread permissions on pin
2021-09-26 14:51:54 -07:00
Michael Scire
99c74469e6
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "e05183a6f"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "e05183a6f"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-24 09:17:32 -07:00
Michael Scire
a3d9efb18c
ams: bump version to 1.1.1
2021-09-24 09:16:30 -07:00
Michael Scire
3fe072a1d0
kern: devirtualize page table operations
2021-09-21 10:09:27 -07:00
Michael Scire
296d049257
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "dc52a3228"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "dc52a3228"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-19 11:01:23 -07:00
Michael Scire
155f158197
ncm: fix destructor availability
2021-09-19 11:00:57 -07:00
Michael Scire
801f784fae
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "33ae401bc"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "33ae401bc"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-19 10:36:39 -07:00
Michael Scire
7cdfa68dd5
svc: bump supported version
2021-09-19 10:34:31 -07:00
Michael Scire
90732ff311
kern: unify all waiting semantics to use single api
2021-09-19 10:34:31 -07:00
Michael Scire
f6fb5f2c8d
kern/svc: implement IoPool/Region svc support
2021-09-19 10:34:31 -07:00
Michael Scire
ce7dd55257
svc/kern/dd: remove MapDeviceAddressSpace()
2021-09-19 10:34:31 -07:00
Michael Scire
481ce12b7b
kern: update Initialize0 for new arguments/randomization semantics
2021-09-19 10:34:31 -07:00
Michael Scire
2f2c36b22b
kern: KMemoryManager/KPageGroup use physical addresses instead of virtual, now
2021-09-19 10:34:31 -07:00
Michael Scire
2c4bd44d7e
kern: support dynamic resource expansion for system heaps/events/sessions.
2021-09-19 10:34:31 -07:00
Michael Scire
2b91956051
kern: improve kdebug attach semantics
2021-09-19 10:34:31 -07:00
Michael Scire
4c73c461f1
kern: update KPageTable::Unmap block closing logic
2021-09-19 10:34:31 -07:00
Michael Scire
8b49cea4a9
kern: optimize logging for release kernel strings (saves printf space in .text)
2021-09-19 10:34:31 -07:00
Michael Scire
fdf008108c
kern: add new KMemoryState
2021-09-19 10:34:31 -07:00
Michael Scire
252486913b
kern: KWorkerTaskManager no longer tracks id
2021-09-19 10:34:31 -07:00
Michael Scire
44d10da7b8
kern: KSchedulerInterruptTask -> KSchedulerInterruptHandler
2021-09-19 10:34:31 -07:00
Michael Scire
cb28150912
kern: kill the interrupt task manager thread
2021-09-19 10:34:31 -07:00
Michael Scire
29cc3d1c09
kern: remove per-KInterruptEventTask locks
2021-09-19 10:34:31 -07:00
Michael Scire
e6a6fe6f38
kern: delete KWritableEvent, devirtualize KReadableEvent Signal/Clear
2021-09-19 10:34:31 -07:00
Michael Scire
d80ad222cc
kern: KConditionVariable arbiter functions now static
2021-09-19 10:34:31 -07:00
Michael Scire
572cbd8619
kern: KAutoObject doesn't need (virtual) destructor
2021-09-19 10:34:31 -07:00
Michael Scire
183243bf16
kern: optimize handle table layout
2021-09-19 10:34:31 -07:00
Michael Scire
6407786059
kern: update GetInfo logic for tick count InfoTypes
2021-09-19 10:34:31 -07:00
Michael Scire
6cbfaaf835
kern: port limit is now 0x180
2021-09-19 10:34:31 -07:00
Adubbz
b6b09d6944
ncm: updated to 13.0.0
2021-09-19 10:34:31 -07:00
Adubbz
a941e4be03
ncm: skeleton new commands
2021-09-19 10:34:31 -07:00
Michael Scire
89541c8042
sprofile: fully reimplement sprof:bg + sprof:sp
2021-09-19 10:34:31 -07:00
Michael Scire
ae54ec5981
sprofile: implement non-importer bgagent commands
2021-09-19 10:34:31 -07:00
Michael Scire
75d5e2aef0
sprofile: implement OpenProfileUpdateObserver
2021-09-19 10:34:31 -07:00
Michael Scire
bd240b23d8
erpt: skeleton sprofile apis
2021-09-19 10:34:31 -07:00
Michael Scire
04cbc06bc1
ams: update current target firmware
2021-09-19 10:34:31 -07:00
Michael Scire
fedd684a1c
fusee/exo: update for new dram id changes
2021-09-19 10:34:31 -07:00
Michael Scire
cb299d9260
fusee/exo: update for recognition of 13.0.0
2021-09-19 10:34:31 -07:00
Michael Scire
724bd2b4d2
boot2: launch nintendo lm from built in system, not none
2021-09-12 12:40:27 -07:00
Michael Scire
f2da92184b
cs: fix launching of tio server
2021-09-11 19:41:47 -07:00
Michael Scire
a595091be0
cs: fix screenshot packet semantics
2021-09-11 19:41:47 -07:00
Michael Scire
0ec23e74b5
cs: implement TakeScreenShot command
2021-09-11 19:41:47 -07:00
Michael Scire
8acf0a4fa9
cs: fix allocator aborts
2021-09-11 19:41:47 -07:00
Michael Scire
ebb0bd2b41
kern: improve single-step around user-exception entry
2021-09-11 19:41:47 -07:00
Michael Scire
c10265676f
kern: fix spsr register in RestoreContext
2021-09-11 19:41:47 -07:00
Michael Scire
9e7b56b33c
kern: optimize hw-single-step management
2021-09-11 19:41:47 -07:00
Michael Scire
4075d24e0c
kern: add hardware single step extension
2021-09-11 19:41:47 -07:00
Michael Scire
c6fad1b0ee
osdbg: implement thread info api
2021-09-11 19:41:47 -07:00
Michael Scire
a2c0cc924b
fix dmnt.gen2 title id (not sure how I typo'd this)
2021-09-11 19:41:47 -07:00
Michael Scire
206516411f
boot2: launch dmnt.gen2 over dmnt, when using htc
2021-09-11 19:41:47 -07:00
Michael Scire
899efec302
cs: implement GetFirmwareVersion command
2021-09-11 19:41:47 -07:00
Michael Scire
1a1b1355ba
scs: implement EventHandlerThread for shell
2021-09-11 19:41:47 -07:00
Michael Scire
aa2dce7316
scs: implement DoShellServer
2021-09-11 19:41:47 -07:00
SciresM
e9849c74cf
LogManager: implement system module, client api, logging api ( #1617 )
...
Some notes:
* Unless `atmosphere!enable_log_manager` is true, Nintendo's log manager will be used instead.
* This prevents paying memory costs for LM when not enabling logging.
* To facilitate this, Atmosphere's log manager has a different program id from Nintendo's.
* `atmosphere!enable_htc` implies `atmosphere!enable_log_manager`.
* LogManager logs to tma, and the SD card (if `lm!enable_sd_card_logging` is true, which it is by default).
* Binary logs are saved to `lm!sd_card_log_output_directory`, which is `atmosphere/binlogs` by default.
2021-09-11 19:32:14 -07:00
Michael Scire
844e88bdfe
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "0c0bb815"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "0c0bb815"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-06 16:33:59 -07:00
Michael Scire
dda7ea6ac2
fusee: attempt reboot to self if possible, better abort/fatal handlers
2021-09-06 16:26:50 -07:00
Michael Scire
e0f45d54f1
stratosphere: remove 0.19.0 update cleanup logic.
2021-09-06 16:26:50 -07:00
Michael Scire
b7521465ee
fusee: tactically don't trash PLLA1, fixes audio corruption on boot
2021-09-06 16:26:50 -07:00
Michael Scire
36c470ad11
ams-1.0.0: bump version number well ahead of time
2021-09-06 16:26:50 -07:00
Michael Scire
da208f8001
ams-1.0.0: meso no longer optional, remove conditional logic
2021-09-06 16:26:50 -07:00
Michael Scire
e5106ffa2c
fusee_cpp: implement package2 rebuild/kip patching
2021-09-06 16:26:50 -07:00
Michael Scire
c2a930965a
fusee_cpp: import mariko mtc
2021-09-06 16:26:50 -07:00
Michael Scire
c4fee796ea
fusee_cpp: begin mariko mtc work
2021-09-06 16:26:50 -07:00
Michael Scire
40e2d4bbe6
fusee_cpp: implement cpu startup
2021-09-06 16:26:50 -07:00
Michael Scire
648ad51056
fusee_cpp: fix some careless search/replace mistakes
2021-09-06 16:26:50 -07:00
Michael Scire
1dd0297db3
fusee_cpp: implement warmboot firmware load
2021-09-06 16:26:50 -07:00
Michael Scire
2f7012cbc6
fusee_cpp: implement emummc/system partition mounting
2021-09-06 16:26:50 -07:00
Michael Scire
6c5f2804ab
fusee_cpp: implement all required key derivation
2021-09-06 16:26:50 -07:00
Michael Scire
51cf28339b
fusee_cpp: implement tsec_keygen firmware execution
2021-09-06 16:26:50 -07:00
Michael Scire
ecbf13e45d
fusee_cpp: import full erista mtc logic
2021-09-06 16:26:50 -07:00
Michael Scire
237b11892e
fusee_cpp: implement mtc erista patram writes
2021-09-06 16:26:50 -07:00
Michael Scire
d7192343d8
fusee_cpp: implement erista pll selection logic for mtc
2021-09-06 16:26:50 -07:00
Michael Scire
d2f3b806d6
fusee_cpp: implement inline storage of EmcDvfsTimingTables
2021-09-06 16:26:50 -07:00
Michael Scire
3bcdd0c3c8
fusee_cpp: add logic for loading mtc overlays
2021-09-06 16:26:50 -07:00
Michael Scire
4480e7a8a5
fusee_cpp: implement bpmp overclock
2021-09-06 16:26:50 -07:00
Michael Scire
1a8f886a6e
fusee_cpp: Implement fatal display, reading of fusee-secondary
2021-09-06 16:26:50 -07:00
Michael Scire
ee1d1ea527
fusee_cpp: Add display init/fatal error display logic
2021-09-06 16:26:50 -07:00
Michael Scire
e7d7d8adfb
fusee_cpp: cache cleanup, confirmed working on hardware
2021-09-06 16:26:50 -07:00
Michael Scire
5cff5e629b
fusee_cpp: implement bpmp cache driver
2021-09-06 16:26:50 -07:00
Michael Scire
49d0a51d6b
fusee_cpp: implement sd card init
2021-09-06 16:26:50 -07:00
Michael Scire
25cd3d17de
fusee_cpp: implement sdram lp0 scratch param save
2021-09-06 16:26:50 -07:00
Michael Scire
349a16ce39
fusee_cpp: implement SDRAM initialization
2021-09-06 16:26:50 -07:00
Michael Scire
f2a1c60218
fusee_cpp: tweaks, now completes SecureInitialize on hardware
2021-09-06 16:26:50 -07:00
Michael Scire
c91f95e8f6
fusee-cpp: a little more init in SecureInitialize
2021-09-06 16:26:50 -07:00
Michael Scire
53ede217a5
fusee-cpp: finish SecureInitialize
2021-09-06 16:26:50 -07:00