You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tree:
7fe27de26e
2ndAdjustmentAndroid
2ndAdjustmentVulkan
2ndAdjustmentVulkanV3-STOP_FORCE_PUSHING_CAMILLE
2ndAdjustmentVulkanv2
2ndgpuopts
Kernel
Update-some-barriers-test
astc_optimization1
astc_optimizations
atomicops-mxwell
auto-updater
bcn-ternary-soft
bump-httplib-minver
civa
descriptor
descriptor_pool_opt
descriptor_set
discfix
dmnt2
dynarmic
dynarmic-ppc64
eden-orbis-ps4
eds-true-adreno-fixes
eds-true-adreno-fixes-pre-0.1.0
eds_changes1
eds_changes_phasewise
feat/22.0.0
feat/android_kotlin_compose
feat/game_override
ffmpeg-cross-compile
fix-grid-autoalign
fix/discord-rpc
flatopsfixes23485
fs-try
gpuopts
kosmic_krisp
kosmickrisp
lanobu
lines
liz-dynarmic-macos-fbsd-port
liz-heaptrack-fix
lizize/fixcrashwehenimagesizeexceed
lizzie/adreno5-mali-driver-fix
lizzie/anv-cached-mesa-hack
lizzie/astc-mp4-improv
lizzie/bsdsockets-mod-fix
lizzie/bundleevil123
lizzie/civ7-y2k-dns-ban
lizzie/controller7547
lizzie/cpudetect1234
lizzie/demangle-cxxabi
lizzie/draw-state-inline
lizzie/dynarmic-exclusive-fixups
lizzie/dynarmic-faster-xbyak
lizzie/edit-handheld-mode
lizzie/evil-f32-u32-format-fix
lizzie/evil-meow-meow
lizzie/fbsd-shm_create_largepage
lizzie/ffmpeg-d1d873c003
lizzie/fix-nvmap-handles
lizzie/fix-nvmap-handles-but-evil
lizzie/forceattachements-at-all-times
lizzie/fs-msvc-succks
lizzie/gutter-sw-blitter
lizzie/hleinlineremoveredundant
lizzie/inline-123
lizzie/inline-cmif-request
lizzie/inlinecodecnvenc
lizzie/invert-gyro
lizzie/ios-port-sud
lizzie/jit-addresschecks
lizzie/ltofix123
lizzie/macos-network-ifaces
lizzie/macos-vk-metal-fix-stype
lizzie/mark-bl-dynarmic
lizzie/maxwell-dumb-tools
lizzie/mboverhead1
lizzie/mlp223
lizzie/multicore-macos-fix1
lizzie/nce-invalidate-split
lizzie/nce-port1123
lizzie/noexcept-dynarmic
lizzie/prevent-pt-recreate
lizzie/product-model-wawa
lizzie/readonly-listicons
lizzie/remove-disassembler-dynarmic
lizzie/remove-mlp-2-level
lizzie/restore-fcsm
lizzie/settings-blocked-domains
lizzie/sgsr
lizzie/simplify-invalid-acc
lizzie/sm-AtmosphereHasService
lizzie/splay
lizzie/stable-shader-pools
lizzie/stuff-for-fun-but-evil
lizzie/stupid-socket-bullshit
lizzie/sysarchive7543
lizzie/ulaunch-attempt1
lizzie/unaligned-attempt-2
lizzie/unity-build
lizzie/update-faq-link-wwa
lizzie/vk-ext-fault-info
lizzie/vkexperiments1-highp-fucked
lizzie/wallclock-remove-indirection1
lizzie/wstring-uni-123
lizzie/xbyak-force-bundled
lizzie/xcode-evil-shit-123
macroify-surface-stuffs
master
memory_changes
mmap-fixews
mpl-coalesce
mutliplayer-filter-better1
n64
nce_cpp
nvhost-better-ptr
pipelinederivative
qcomopts2
queries
querybugfix
refactoreds2
release-early-fences
release/0.0.3
release/0.0.4
release/0.1.0
revert-2695
showcase
showcase2
sjkdbsdfjkbsdf-2834
spvopts
sured-revert
techno48473719
test-revert-gpu-optim
test2
tex_opt
texture_cache
true-eds
true-eds-graphics
true-eds-pre-0.0.1
uma
update-deps-040626
vk-fix-oom-force-maller-buffers
vk-symph
vkexperiments1
vuid00336_1
vuid02999
vuid04553
vulkanasync
workgroup
xbzk-dma-pusher-step-redesign
xbzk-saf-recursive-write-with-permission-request
xbzk/background-support
xbzk/flicker-fix
xbzk/unreal-unsafe-junk-guards
xbzk/vulkan-vuid-goodies-pack
0.0.0
0.0.1-pre-alpha
0.0.2-pre-alpha
v0.0.3
v0.0.3-rc1
v0.0.3-rc2
v0.0.3-rc3
v0.0.4
v0.0.4-rc1
v0.0.4-rc2
v0.0.4-rc3
v0.1.0
v0.1.1
v0.2.0-rc1
v0.2.0-rc2
${ noResults }
The kernel uses the handle table of the current process to retrieve the
process that should be used to retrieve certain information. To someone
not familiar with the kernel, this might raise the question of "Ok,
sounds nice, but doesn't this make it impossible to retrieve information
about the current process?".
No, it doesn't, because HandleTable instances in the kernel have the
notion of a "pseudo-handle", where certain values allow the kernel to
lookup objects outside of a given handle table. Currently, there's only
a pseudo-handle for the current process (0xFFFF8001) and a pseudo-handle
for the current thread (0xFFFF8000), so to retrieve the current process,
one would just pass 0xFFFF8001 into svcGetInfo.
The lookup itself in the handle table would be something like:
template <typename T>
T* Lookup(Handle handle) {
if (handle == PSEUDO_HANDLE_CURRENT_PROCESS) {
return CurrentProcess();
}
if (handle == PSUEDO_HANDLE_CURRENT_THREAD) {
return CurrentThread();
}
return static_cast<T*>(&objects[handle]);
}
which, as is shown, allows accessing the current process or current
thread, even if those two objects aren't actually within the HandleTable
instance.
|
8 years ago | |
|---|---|---|
| .. | ||
| inih@603729dec8 | Added configuration file system. | 12 years ago |
| CMakeLists.txt | CMakeLists: Derive the source directory grouping from targets themselves | 8 years ago |