Michael Scire
4489513f7c
dmnt: enable experimental standalone usage of gdbstub, while starlink is in dev
2021-11-03 23:56:25 -07:00
Michael Scire
5eabca7f04
ams.mitm: more romfs building space/time tradeoffs.
...
This is needed for Animal Crossing 2.0.0, which has >99000 fucking files.
We now do several passes over dir/file tables instead of one pass,
doing entire hash tables before we touch dir/file tables. Thus we
no longer need to simultaneously allocate hash table and dir/file table space.
In addition, we now do repeated passes building a segment of hash tables
at a time, when insufficient memory is available. Similar is also now the
case for file/dir tables, we try 0x40000 work buffer and divide by 2
until we successfully alloc. We don't allow a work buffer <0x4000, for
write/perf reasons. If a game triggers that, let me know I guess.
Hard to imagine a worse torture-test for this code than animal crossing.
2021-11-03 23:52:38 -07:00
Michael Scire
889d843718
ams: improve offsetof style consistency
2021-10-18 00:17:13 -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
a595c232b9
strat: use m_ for member variables
2021-10-10 00:14:06 -07:00
Michael Scire
1ab0bd1765
ams: replace most remaining operator & with std::addressof
2021-10-09 14:49:53 -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
229651fe72
ams.mitm: avoid using std::unordered_map, it manifests exception code
2021-10-07 22:59:16 -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
69777cf792
strat: use sf::NativeHandle for ipc templating
2021-10-05 00:11:36 -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
18825866ac
strat: automatic program id detection
2021-10-01 17:18:50 -07:00
Michael Scire
41ab4c2c68
stratosphere: use SdkMutex/SdkRecursiveMutex over Mutex
2021-09-29 22:52:50 -07:00
Michael Scire
ab81ed2795
fs.mitm: fix memory leak in romfs build ( closes #1031 )
2021-09-20 17:53:29 -07:00
Michael Scire
568a3b62eb
set.mitm: pointer buffer size was increased to 0x200 in 13.0.0
2021-09-19 10:34:31 -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
045f9b2f15
fusee: fix buildsystem, rename secondary -> package3
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
SciresM
17ca463c3f
ams: replace sept with tsec firmware ( #1594 )
...
* ams: replace sept with tsec firmware
This replaces sept with a custom tsec key derivation firmware.
NOTE: This does not use any TSEC exploits whatsoever; it is a well-signed
TSEC binary assembled with envyas and signed with the real cauth key.
For more details, contact SciresM#0524.
* fusee: only set SBK if it's readable
2021-08-20 13:13:29 -07:00
Michael Scire
a7c14e03b9
ams: std::optional -> util::optional
2021-07-08 02:37:26 -07:00
Michael Scire
846cde52e0
fs.mitm: ns registers program index map info, not am
2021-06-28 22:43:56 -07:00
Michael Scire
a3dd445b32
fs.mitm: add OpenDataStorageWithProgramIndex support (theoretically, closes #1250 )
2021-06-28 22:24:26 -07:00
Michael Scire
8a6afe7909
dns.mitm: fix wildcardcmp failure case ( #1539 )
2021-06-15 16:35:26 -07:00
Michael Scire
bb4c7a390b
ams: update for 12.0.2
2021-05-12 09:08:47 -07:00
Michael Scire
26fb201518
dns.mitm: handle nullptr hostname
2021-05-10 13:27:14 -07:00
Michael Scire
15381409dc
fs: fix missed operation rename
2021-04-30 09:02:58 -07:00
Michael Scire
243d7dc777
ams: write-protect stratosphere.romfs
2021-04-30 04:57:46 -07:00
Michael Scire
2e1a93f1d1
strat: no longer materially constrained by sm session limit
2021-04-13 23:58:10 -07:00
SciresM
a6729171d3
set.mitm: fake compatibility for usb!usb30_force_enabled on 9.0.0+ ( #1391 )
...
* set.mitm: fake compatibility for usb!usb30_force_enabled on 9.0.0+
* set.mitm: add value meaning comment for usb!usb30_force_enabled
* loader: pretend to be polite about patch ordering
2021-03-01 14:18:27 -08:00
Michael Scire
1c974a387c
htc: implement socket driver (socket api not really impl'd yet)
2021-02-24 04:06:54 -08:00
Michael Scire
ce149f996c
htc: configure usage via system setting
2021-02-24 04:06:54 -08:00
Michael Scire
74e4e70053
fs.mitm: fix cache of non-current-process data storages ( closes #1371 )
2021-02-15 19:39:32 -08:00
Michael Scire
c0e3cee657
dns.mitm: allow nullptr for port string ( closes #1352 )
2021-02-03 12:41:23 -08:00
Michael Scire
8eb65ab401
dns.mitm: fix hosts file parsing bug
2021-02-02 17:11:53 -08:00
Michael Scire
bcda834980
dns.mitm: make line ordering explicit, rather than implicit.
...
This doesn't actually change functionality, because this is how std::unordered_map worked anyway...
...but it's better for us to be explicit, I think.
2021-02-02 13:48:40 -08:00
Michael Scire
e521ae805d
dns.mitm: add documentation
2021-02-02 11:41:49 -08:00
Michael Scire
6950989552
dns.mitm: support % in hosts file as stand-in for environment identifier
2021-02-02 11:41:49 -08:00
Michael Scire
ffbdf29c10
dns.mitm: fix ABORT_UNLESS -> ABORT
2021-02-02 11:41:49 -08:00
Michael Scire
135d42ffee
dns.mitm: hint = {} fix in options
2021-02-02 11:41:49 -08:00
Michael Scire
1306d03136
dns.mitm: add GetAddrInfo redir, AtmosphereReloadHostsFile, debug logging control
2021-02-02 11:41:49 -08:00
Michael Scire
97aa209c43
dns.mitm: fix inverted hostname detection
2021-02-02 11:41:49 -08:00
Michael Scire
b30311be65
dns.mitm: support wildcards in hosts
2021-02-02 11:41:49 -08:00
Michael Scire
6694d8c2d9
dns.mitm: edit default behavior/hosts filenames
2021-02-02 11:41:49 -08:00
Michael Scire
658389fc60
dns.mitm: fix issue in host file parsing
2021-02-02 11:41:49 -08:00