This repository has been archived by the owner on Sep 21, 2021. It is now read-only.
libtransistor v2.0.0-rc1
Pre-release
Pre-release
reswitchedteam
released this
31 May 19:59
·
83 commits
to development
since this release
Changelog
Additions
- added dynamic linker,
dlopen
,dlsym
, etc. - added C++ API (see twili for examples of this API in action)
- including templated IPC client/server
- added
trn_thread
andtrn_mutex
library - added
svcMapProcessCodeMemory
,svcUnmapProcessCodeMemory
,svcSetProcessMemoryPermission
- added
svcCreateProcess
,svcStartProcess
- added
svcMapPhysicalMemory
,svcUnmapPhysicalMemory
- added resource limit, debug SVCs
- added
usb
bindings - added
as
module, for managing address space (replacesfind_empty_memory_block
) - added
fatal
service bindings - added process handle key to
loader_config
- added
SECONDS_TO_NANOSECONDS
,ASSERT_OK
,TRACE
, andDBG_TRACE
macros - added
ipc_helpers
- added
ipc_debug_level
(replacesipc_debug_flag
)' - added
collections/list.h
- added
waiter
- added twili integration
- added
runtime_config
- added hid_controller button state masks,
hid_controller_buttons_down
- added
nvhost_ioctl_ctrl_syncpt_wait
- added
surface_wait_buffer
Removals
- removed
ace_loader
- removed
alloc_pages
and heap remapping system - removed
main_thread = 0xde00
hack - removed
test_multiple_set_heap_size
Changes
- we now use display layers obtained from
am
wherever possible (fixes drawing over lock screen and fixes screenshots) - redid
file_operations_t
to not be copied from the Linux kernel, and for consistency with other libtransistor filesystem APIs - moved
loader_config
functions into their own file - we now send type 2 message before closing IPC services
- change
struct file
totrn_file_t
- enabled thread safety analysis, and thread safety for a few modules
ipc_server
now useswaiter
sm_force_finalize
is now publictrn_mountfs_mount
takes inode by value
Bugfixes
- made
ipc_server
check that it has the SVCs it needs - we now initialize all
loader_config
fields - fixed syscall missing error code number collisions
trn_result_to_errno
now callsdbg_printf
instead ofprintf
when discarding errors- supported ipc messages with raw data sizes that are not multiples of 4
svc.h
now includestypes.h
- fixed missing
__malloc_lock
and__malloc_unlock
- fixed uninitialized variable usage in
syscalls.c
- added missing typedef in
graphic_buffer_queue.h
- fixed
fd_file_put
not checkingfile->ops.release != NULL
- fixed PID unpacking in PIC
- removed some ancient debug messages
- fixed terrible QueueBuffer transactions
Misc/CI
- moved support libraries into
libtransistor-base
- run tests with
--initialize-memory
- use container infrastructure
- added instructions to README for installing squashfs on osx
Version Support
Version | Support |
---|---|
1.0.0 | Unsupported |
2.0.0 | Expected working |
2.1.0 - 2.3.0 | Expected working |
3.0.0 | Tested working |
3.0.1 - 4.0.1 | Unknown |
4.1.0 | Tested broken |
5.0.0 - 5.0.1 | Expected working |
5.0.2 | Expected working |