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
Michael Scire
669564b022
fusee-cpp: implement SecureInitialize besides InitializeClock()
2021-09-06 16:26:50 -07:00
Michael Scire
c9bd97192f
fusee-cpp: sketch out remainder of secure initialize
2021-09-06 16:26:50 -07:00
Michael Scire
c333a84b6b
fusee-cpp: Implement mbist workaround
2021-09-06 16:26:50 -07:00
Michael Scire
5f60bc7186
fusee-cpp: add basic structural stubs
2021-09-06 16:26:50 -07:00
Michael Scire
165c926135
ams: bump version to 0.20.1
2021-08-30 07:32:35 -07:00
Michael Scire
1f065e3bac
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "87a1de0b"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "87a1de0b"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-08-20 13:34:30 -07:00
Michael Scire
9296a56303
ams: bump to 0.2.0
...
NOTE: Release will not occur until hekate is ready to handle new sept-less release format.
2021-08-20 13:31:59 -07:00
Michael Scire
f175802136
kern: improve some debug output
2021-08-20 00:06:43 -07:00
Michael Scire
fe79bc253a
kern: fix same is_current check in GetThreadContext
2021-08-19 07:38:25 -07:00
Michael Scire
81bf8c577a
kern: fix check for thread-is-current in KDebugBase::SetThreadContext
2021-08-19 07:34:08 -07:00
Michael Scire
f5704d25f8
kern: remove firmare-specific SignalAndModify impl
...
Nintendo made this breaking change because there was zero official software relying on it,
so it's safe for us to make the same change.
2021-07-22 15:56:45 -07:00
Michael Scire
2da31b122f
kern: fix hardware watchpoint detection
2021-07-22 00:35:40 -07:00
Michael Scire
43bbfd29bb
kern: fix inverted condition in context breakpoint validation
2021-07-21 23:56:28 -07:00
Michael Scire
389c3b6baa
dmnt: various cheat changes/suggestions that have been cooking a while
2021-07-21 19:21:58 -07:00
Michael Scire
0c596e682f
exo/daybreak: advertise (and check against) supported hos version
2021-07-21 18:21:38 -07:00
Michael Scire
bd6155bcb4
kern: since 10.0.0, KDebug::GetThreadContext always returns X0-X7
2021-07-13 13:00:16 -07:00
Michael Scire
3bedf56512
kern: fix incorrect waiter management in KProcess::ReleaseUserException
2021-07-13 05:27:19 -07:00
Michael Scire
1be74ea6e2
kern: fix bug in KConditionVariable::SignalImpl
2021-07-13 01:40:16 -07:00
Michael Scire
14d458522d
kern: update initial cache management to match latest kernel
2021-07-12 18:30:01 -07:00
Michael Scire
12bf9612cb
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "e96b24f8"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "e96b24f8"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-07-12 02:00:12 -07:00
Michael Scire
ea7b6e14f9
ams-libs: fix change detection for library building
2021-07-12 01:59:37 -07:00
Michael Scire
5e3339e866
kern: add missing abort on unmap failure
2021-07-11 21:59:06 -07:00
Michael Scire
a7c14e03b9
ams: std::optional -> util::optional
2021-07-08 02:37:26 -07:00
Michael Scire
9df13781c2
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "eb667fea5"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "eb667fea5"
git-subrepo:
version: "0.4.0"
origin: "???"
commit: "???"
2021-07-06 07:29:10 -07:00
Michael Scire
f863164648
ams: basic support for 12.1.0
2021-07-06 07:13:56 -07:00
Michael Scire
3eb76fcd16
exo: update for 12.1.0
2021-07-06 06:55:59 -07:00
Michael Scire
2088c5a34a
kern: fix handling of is_aligned parameter in DevicePageTable
2021-07-04 10:45:14 -07:00
Michael Scire
a3dd445b32
fs.mitm: add OpenDataStorageWithProgramIndex support (theoretically, closes #1250 )
2021-06-28 22:24:26 -07:00
Michael Scire
c362838e11
erpt: fix 0x100 byte memory leak on creation of new report
2021-06-28 17:36:42 -07:00
Michael Scire
e086022b77
build: use DWARFv4 explicitly for IDA compatibility with debug elfs
2021-06-25 23:48:41 -07:00
Michael Scire
4892ffae15
kern: implement improved [new page tables are zero] invariant
2021-06-17 13:03:46 -07:00
Michael Scire
25305257d6
kern: fix missing peak set in KResourceLimit::SetLimitValue
2021-06-17 12:57:56 -07:00
Michael Scire
e423aef033
kern: ensure InitArguments do not cross page boundaries
2021-06-17 12:49:25 -07:00
Michael Scire
2ab01ad33c
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "11ea38a7"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "11ea38a7"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-06-08 08:09:48 -07:00
Michael Scire
3dbc79dd5c
ams: bump version to 0.19.4
2021-06-08 08:09:05 -07:00
Michael Scire
7821241356
kern: fix enormous whoops
2021-05-31 04:20:59 -07:00
Michael Scire
dcdf46f576
kern: slightly improve genericity of debugger break event
2021-05-30 21:13:42 -07:00
Michael Scire
df5537b748
mem: actually fully fix the heap bug, add comments for future self
2021-05-26 23:21:08 -07:00
Michael Scire
0f2855ada8
mem: fix rare crash/logic error in heap allocation code
2021-05-26 20:43:03 -07:00
Michael Scire
c790d03693
libstrat: fix override operator new to be noexcept ( closes #1494 )
2021-05-16 23:10:13 -07:00
Michael Scire
25be7c5b1b
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "b5b55f60"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "b5b55f60"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-05-12 22:47:42 -07:00
Michael Scire
7e05e12b83
sf/tipc: treat min/max as true min/max, rather than numeric
2021-05-12 22:43:39 -07:00
Michael Scire
88246f475c
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "9ac6f527"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "9ac6f527"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-05-12 09:10:13 -07:00
Michael Scire
bb4c7a390b
ams: update for 12.0.2
2021-05-12 09:08:47 -07:00
Michael Scire
01ce7cef14
exo: revert section sorting
2021-05-10 07:59:38 -07:00
Michael Scire
bf8de39e69
ams: move around abort handler to avoid linker errors
2021-05-07 17:49:10 -07:00
Michael Scire
0a11cbc2d6
exo: sort sections by alignment
2021-05-02 10:50:18 -07:00
Michael Scire
32f487abfb
sm: update to excise unnecessary library code
2021-05-02 10:33:15 -07:00
Michael Scire
7d61cab01c
fs: add access log strings for DirectoryEntryType
2021-04-30 19:19:22 -07:00
Michael Scire
14ed4e4057
erpt: fix reading files that don't exist
2021-04-30 14:44:53 -07:00