@@ -16,35 +16,35 @@ tags: LinuxSyscalls|syscalls-x86-32
1616#include < unistd.h>
1717
1818namespace FEX ::HLE ::x32 {
19- void RegisterIO (FEX ::HLE ::SyscallHandler* Handler) {
20- REGISTER_SYSCALL_IMPL_X32 (io_getevents,
21- [](FEXCore::Core::CpuStateFrame* Frame, aio_context_t ctx_id, long min_nr, long nr, struct io_event * events,
22- struct timespec32 * timeout) -> uint64_t {
23- struct timespec * timeout_ptr {};
24- struct timespec tp64 {};
25- if (timeout) {
26- FaultSafeUserMemAccess::VerifyIsReadable (timeout, sizeof (*timeout));
27- tp64 = *timeout;
28- timeout_ptr = &tp64;
29- }
19+ auto io_getevents (FEXCore::Core::CpuStateFrame* Frame, aio_context_t ctx_id, long min_nr, long nr, struct io_event * events,
20+ struct timespec32 * timeout) -> uint64_t {
21+ struct timespec * timeout_ptr {};
22+ struct timespec tp64 {};
23+ if (timeout) {
24+ FaultSafeUserMemAccess::VerifyIsReadable (timeout, sizeof (*timeout));
25+ tp64 = *timeout;
26+ timeout_ptr = &tp64;
27+ }
3028
31- uint64_t Result = ::syscall (SYSCALL_DEF (io_getevents), ctx_id, min_nr, nr, events, timeout_ptr);
32- SYSCALL_ERRNO ();
33- });
29+ uint64_t Result = ::syscall (SYSCALL_DEF (io_getevents), ctx_id, min_nr, nr, events, timeout_ptr);
30+ SYSCALL_ERRNO ();
31+ }
3432
35- REGISTER_SYSCALL_IMPL_X32 (io_pgetevents,
36- [](FEXCore::Core::CpuStateFrame* Frame, aio_context_t ctx_id, long min_nr, long nr, struct io_event * events,
37- struct timespec32 * timeout, const struct io_sigset * usig) -> uint64_t {
38- struct timespec * timeout_ptr {};
39- struct timespec tp64 {};
40- if (timeout) {
41- FaultSafeUserMemAccess::VerifyIsReadable (timeout, sizeof (*timeout));
42- tp64 = *timeout;
43- timeout_ptr = &tp64;
44- }
33+ auto io_pgetevents (FEXCore::Core::CpuStateFrame* Frame, aio_context_t ctx_id, long min_nr, long nr, struct io_event * events,
34+ struct timespec32 * timeout, const struct io_sigset * usig) -> uint64_t {
35+ struct timespec * timeout_ptr {};
36+ struct timespec tp64 {};
37+ if (timeout) {
38+ FaultSafeUserMemAccess::VerifyIsReadable (timeout, sizeof (*timeout));
39+ tp64 = *timeout;
40+ timeout_ptr = &tp64;
41+ }
4542
46- uint64_t Result = ::syscall (SYSCALL_DEF (io_pgetevents), ctx_id, min_nr, nr, events, timeout_ptr, usig);
47- SYSCALL_ERRNO ();
48- });
43+ uint64_t Result = ::syscall (SYSCALL_DEF (io_pgetevents), ctx_id, min_nr, nr, events, timeout_ptr, usig);
44+ SYSCALL_ERRNO ();
45+ }
46+ void RegisterIO (FEX ::HLE ::SyscallHandler* Handler) {
47+ REGISTER_SYSCALL_IMPL_X32 (io_getevents, io_getevents);
48+ REGISTER_SYSCALL_IMPL_X32 (io_pgetevents, io_pgetevents);
4949}
5050} // namespace FEX::HLE::x32
0 commit comments