Michael Scire
018ae08409
hos: allow turning off ams extension hard-reqs for unit testing
2021-10-25 17:31:14 -07:00
Michael Scire
0a58e803be
kern/test: add wip qemu-virt board support to mesosphere
2021-10-25 17:31:14 -07:00
SciresM
36e4914be8
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-23 15:25:20 -07:00
Michael Scire
799a9a5f98
lr: fix EraseRedirection hang introduced by refactoring
2021-10-18 11:00:55 -07:00
Michael Scire
889d843718
ams: improve offsetof style consistency
2021-10-18 00:17:13 -07:00
Michael Scire
ad4c794aea
constexpr: resign ourselves to gcc dropping void -> T support
2021-10-17 02:39:16 -07:00
Michael Scire
64950dbd31
powctl: remove unused arm_neon header after last commit
2021-10-16 10:11:45 -07:00
Michael Scire
03efc31f9c
powctl: don't require arm64 arch for floating -> fixed conversion
2021-10-16 10:04:19 -07:00
Michael Scire
2541f6dd71
tipc: implement special-case templating used by 13.0.0 pgl
2021-10-15 21:23:55 -07:00
Michael Scire
ff5f376c33
tipc: enable named-thread dispatch
2021-10-15 19:59:29 -07:00
Michael Scire
d1bc1a5c57
boot: update for 13.0.0/aula parameter changes ( closes #1477 )
2021-10-15 19:03:11 -07:00
Michael Scire
990daec3a2
powctl: integrate 13.0.0 changes (aula params not done yet)
2021-10-15 16:30:27 -07:00
Michael Scire
7e536f74ae
strat: fix some mitm server management logic
2021-10-14 00:40:43 -07:00
Michael Scire
891fa32bf1
tipc/sm: update more fully for 13.0.0 changes
2021-10-13 23:50:57 -07:00
Michael Scire
ca25a884b5
tipc: add additional logic from 13.0.0
2021-10-12 00:57:54 -07:00
Michael Scire
0189c5f1e6
sm/tipc: minor cleanup
2021-10-12 00:20:21 -07:00
Michael Scire
82d07e04aa
strat: don't force fs globals to link into every process
2021-10-11 22:16:12 -07:00
Michael Scire
bd1bcdf52b
sf: prevent emitting mitm/defer code unless server in process supports it
2021-10-11 19:01:27 -07:00
Michael Scire
5708bb1557
ams: allow bootloader to merely approximate correct target firmware
2021-10-11 00:54:17 -07:00
Michael Scire
06f68a8159
loader: refactor to remove fake namespaces
2021-10-10 21:37:29 -07:00
Michael Scire
d9dc04318d
loader: refactor ro manager/improve accuracy
2021-10-10 18:22:32 -07:00
Michael Scire
d8a36e39f2
spl: refactor for accuracy/move into libstrat
2021-10-10 12:57:36 -07:00
Michael Scire
bc96ebb74c
os: add FlushDataCache
2021-10-10 00:33:52 -07:00
Michael Scire
a595c232b9
strat: use m_ for member variables
2021-10-10 00:14:06 -07:00
Michael Scire
5a38311ebf
libstrat: remove lingering debugging edits
2021-10-09 14:51:44 -07:00
Michael Scire
1ab0bd1765
ams: replace most remaining operator & with std::addressof
2021-10-09 14:49:53 -07:00
Michael Scire
ce8aacef21
settings: fix correctness issue in LazyFileAccessor
2021-10-09 14:20:37 -07:00
Michael Scire
ec65c39d17
strat: refactor address taking of form &var[...]
2021-10-09 12:45:31 -07:00
Michael Scire
b0e520112b
strat: always use explicit result namespacing
2021-10-09 10:36:21 -07:00
Adubbz
303c6eb5f9
settings: implement KeyValueStore ( #1659 )
...
* settings: implement KeyValueStore and dependencies
* settings: update KeyValueStore for recent refactoring
* settings: address feedback
2021-10-09 09:16:40 -07:00
Michael Scire
d14290e357
os: fix mutex push/pop prototypes
2021-10-07 23:38:15 -07:00
Michael Scire
41a4bf53f6
cs: prevent exceptions from manifesting
2021-10-07 19:48:40 -07:00
Michael Scire
888b35833e
boot: save 12KB
2021-10-07 19:33:07 -07:00
Michael Scire
afccc35e79
erpt: save 8KB
2021-10-07 19:14:31 -07:00
Michael Scire
ffc143860b
strat: use ams::Main() instead of main(argc, argv)
2021-10-07 17:44:54 -07:00
Michael Scire
6a53726833
strat: build sysmodules with -Wextra/-Werror
2021-10-06 23:22:54 -07:00
Michael Scire
e8f1efd01b
libstrat: fix compilation without pre-compiled header/without lto
2021-10-06 17:58:42 -07:00
Michael Scire
7ca83c9d3b
libstrat: enable -Wextra, -Werror
...
This caught an embarrassingly large number of bugs.
2021-10-06 15:20:48 -07:00
Michael Scire
e1fbf27398
os: fix MapTransferMemory output not being set
2021-10-06 12:07:26 -07:00
Michael Scire
4866e80769
svc: refactor/rename MemoryInfo fields
2021-10-05 15:16:54 -07:00
Michael Scire
719ead824e
strat: remove map namespace, svc: add address space defs
2021-10-05 12:22:34 -07:00
Michael Scire
69777cf792
strat: use sf::NativeHandle for ipc templating
2021-10-05 00:11:36 -07:00
Michael Scire
d97e97258e
sf: add NativeHandle type
...
TODO: figure out how to integrate this into templating...
2021-10-04 17:34:16 -07:00
Michael Scire
d0041a33ac
strat: prefer os::NativeHandle to Handle/svc::Handle where sensible
2021-10-04 17:12:32 -07:00
Michael Scire
597d521f52
pm: use svc::LimitableResource where relevant
2021-10-04 16:33:18 -07:00
Michael Scire
6f680fe63b
strat: use svc:: over ::svc
2021-10-04 14:54:13 -07:00
Michael Scire
77fe5cf6f5
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-04 12:59:10 -07:00
Michael Scire
6f76066d24
os: remove ManagedHandle, refactor to use NativeHandle typename
2021-10-04 12:33:09 -07:00
Michael Scire
65fd967550
pm/cfg: simplify initial process id range logic
2021-10-01 17:37:39 -07:00
Michael Scire
18825866ac
strat: automatic program id detection
2021-10-01 17:18:50 -07:00
Michael Scire
2b37e5d486
os: adopt nintendo ReaderWriter naming over ReadWrite
2021-10-01 11:42:34 -07:00
Michael Scire
00d0c94f2d
os: amend io region api
2021-10-01 01:02:48 -07:00
Michael Scire
3eac814268
os: improve thread name codegen
2021-10-01 00:41:35 -07:00
Michael Scire
82f3416799
os: implement SharedMemory, update AslrSpaceManager
2021-10-01 00:36:18 -07:00
Michael Scire
101e3087fe
os: fix AttachTransferMemory return type
2021-09-30 22:18:46 -07:00
Michael Scire
24d6933145
strat: use consistent include style for lib headers
2021-09-30 19:21:08 -07:00
Michael Scire
7444a68cd1
os: adopt multiwait naming over waitable
2021-09-30 19:00:47 -07:00
Michael Scire
d9b4009f82
os: add IoRegion
2021-09-30 11:43:17 -07:00
Michael Scire
2d214f5e1e
os: add tentative IoRegionType
2021-09-30 11:32:45 -07:00
Michael Scire
c31060f0b8
lmem: fix assert with side effects
2021-09-29 23:56:30 -07:00
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
155f158197
ncm: fix destructor availability
2021-09-19 11:00:57 -07:00
Michael Scire
ce7dd55257
svc/kern/dd: remove MapDeviceAddressSpace()
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
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
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
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
da208f8001
ams-1.0.0: meso no longer optional, remove conditional logic
2021-09-06 16:26:50 -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
ea7b6e14f9
ams-libs: fix change detection for library building
2021-07-12 01:59:37 -07:00
Michael Scire
a7c14e03b9
ams: std::optional -> util::optional
2021-07-08 02:37:26 -07:00
Michael Scire
f863164648
ams: basic support for 12.1.0
2021-07-06 07:13:56 -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
3dbc79dd5c
ams: bump version to 0.19.4
2021-06-08 08:09:05 -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
7e05e12b83
sf/tipc: treat min/max as true min/max, rather than numeric
2021-05-12 22:43:39 -07:00
Michael Scire
bb4c7a390b
ams: update for 12.0.2
2021-05-12 09:08:47 -07:00
Michael Scire
bf8de39e69
ams: move around abort handler to avoid linker errors
2021-05-07 17:49:10 -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
Michael Scire
7040e8976d
i2c: add aula pmic device code
2021-04-30 08:42:25 -07:00
Michael Scire
296a6af058
boot: update all autogenerated parameters other than charge
2021-04-30 08:37:51 -07:00
Michael Scire
355010ad84
erpt: implement forced shutdown detection
2021-04-30 04:21:03 -07:00
Michael Scire
ef0c15b764
erpt: Implement 12.0.0 AppletTotalActiveTime tracking
2021-04-29 21:48:47 -07:00
Michael Scire
0dc308d92a
fs: properly implement OperateRangeWithBuffer, correct OperationId names.
2021-04-29 20:09:45 -07:00
Michael Scire
0767d9f8da
ams: assume gcc 11
2021-04-28 15:13:29 -07:00
Michael Scire
21f3d29df7
strat: compat with gcc 11
2021-04-26 20:06:28 -07:00
Michael Scire
5bb790e4a7
erpt: implement AppletActiveTimeInfoList
2021-04-16 00:55:22 -07:00
Michael Scire
bdcf02a3ef
tipc: ports use objects in the object manager
2021-04-14 00:34:46 -07:00
Michael Scire
88ac85c423
sm: save 0x1000 in data costs by not aligning server manager to 0x1000
2021-04-14 00:12:21 -07:00
Michael Scire
2e1a93f1d1
strat: no longer materially constrained by sm session limit
2021-04-13 23:58:10 -07:00
Michael Scire
97a251b4b2
ncm: fix iteration of nested-subdirectory content files
2021-04-12 17:10:27 -07:00
Michael Scire
9d30917f4e
boot2: migration also not launched in 12.0.0
2021-04-11 10:37:04 -07:00
Michael Scire
c67c29ebd5
ncm: fix random error when deleting content
2021-04-11 05:44:13 -07:00
Michael Scire
03a98635d8
fs: add (stubbed) OperateRangeWithBuffer implementation
2021-04-11 03:42:16 -07:00
Michael Scire
461e2ced6f
erpt: add (stubbed, TODO after 0.19.0) support for 12.0.0
2021-04-11 03:42:16 -07:00
Michael Scire
b2d2f65b87
boot2: grc is no longer launched by boot2 on 12.0.0+
2021-04-11 03:42:16 -07:00
Michael Scire
b2b0c50802
pgl: update to use tipc (untested)
2021-04-11 03:42:16 -07:00
Michael Scire
1118421fa6
strat: changes for sm tipc (boots 11.0.1, now)
2021-04-11 03:42:16 -07:00
Michael Scire
b1b3914ccf
tipc: Result is first raw data word, not last
2021-04-11 03:42:16 -07:00
Michael Scire
9be8b32311
tipc/sm: various fixes for issues
2021-04-11 03:42:16 -07:00
Michael Scire
57c8bc432d
sm: reimplement using tipc instead of cmif (probably broken, untested)
2021-04-11 03:42:16 -07:00
Michael Scire
58776f5ba8
tipc: server processor fixes (compiles!)
2021-04-11 03:42:16 -07:00
Michael Scire
affeeb2724
tipc: implement ServerManager processing logic
2021-04-11 03:42:16 -07:00
Michael Scire
822875ecf5
tipc: implement framework/server support logic (except for actual processing)
2021-04-11 03:42:16 -07:00
Michael Scire
e3a65b1405
tipc: fix deserialization of buffers
2021-04-11 03:42:16 -07:00
Michael Scire
20a7fa1588
tipc: hard-enforce boolean constraints in command processing generation
2021-04-11 03:42:16 -07:00
Michael Scire
315b7bdf22
tipc: implement service object interface generation
2021-04-11 03:42:16 -07:00
Michael Scire
ec988c5a99
tipc: first draft object allocation logic
2021-04-11 03:42:16 -07:00
Michael Scire
21b883a75c
tipc: fix compilation issues with core serialization routines
2021-04-11 03:42:16 -07:00
Michael Scire
e93d71d932
tipc: tentative core serialization logic (missing imports, won't compile)
2021-04-11 03:42:16 -07:00
Michael Scire
dc6a0d7562
ams: add target firmware 12.0.0, fusee recognition
2021-04-11 03:42:16 -07:00
Michael Scire
75a2052144
ncm: fix GameCardStorageRoot mount point ( closes #1404 )
2021-03-24 07:17:03 -07:00
Adubbz
5666c59657
ncm: Updated ListContentId for 11.0.0
2021-03-22 14:58:28 -07:00