[Kernel] Flag a few frequently-used functions as kHighFrequency
This commit is contained in:
parent
77d1d7342e
commit
10c8413acf
|
@ -68,7 +68,8 @@ dword_result_t XNotifyGetNext(dword_t handle, dword_t match_id,
|
||||||
|
|
||||||
return dequeued ? 1 : 0;
|
return dequeued ? 1 : 0;
|
||||||
}
|
}
|
||||||
DECLARE_XAM_EXPORT(XNotifyGetNext, ExportTag::kImplemented);
|
DECLARE_XAM_EXPORT(XNotifyGetNext,
|
||||||
|
ExportTag::kImplemented | ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t XNotifyDelayUI(dword_t delay_ms) {
|
dword_result_t XNotifyDelayUI(dword_t delay_ms) {
|
||||||
// Ignored.
|
// Ignored.
|
||||||
|
|
|
@ -36,7 +36,8 @@ dword_result_t XAudioGetVoiceCategoryVolumeChangeMask(lpunknown_t driver_ptr,
|
||||||
return X_ERROR_SUCCESS;
|
return X_ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(XAudioGetVoiceCategoryVolumeChangeMask,
|
DECLARE_XBOXKRNL_EXPORT(XAudioGetVoiceCategoryVolumeChangeMask,
|
||||||
ExportTag::kStub | ExportTag::kAudio);
|
ExportTag::kStub | ExportTag::kAudio |
|
||||||
|
ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t XAudioGetVoiceCategoryVolume(dword_t unk, lpfloat_t out_ptr) {
|
dword_result_t XAudioGetVoiceCategoryVolume(dword_t unk, lpfloat_t out_ptr) {
|
||||||
// Expects a floating point single. Volume %?
|
// Expects a floating point single. Volume %?
|
||||||
|
@ -92,7 +93,8 @@ dword_result_t XAudioSubmitRenderDriverFrame(lpunknown_t driver_ptr,
|
||||||
return X_ERROR_SUCCESS;
|
return X_ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(XAudioSubmitRenderDriverFrame,
|
DECLARE_XBOXKRNL_EXPORT(XAudioSubmitRenderDriverFrame,
|
||||||
ExportTag::kImplemented | ExportTag::kAudio);
|
ExportTag::kImplemented | ExportTag::kAudio |
|
||||||
|
ExportTag::kHighFrequency);
|
||||||
|
|
||||||
void RegisterAudioExports(xe::cpu::ExportResolver* export_resolver,
|
void RegisterAudioExports(xe::cpu::ExportResolver* export_resolver,
|
||||||
KernelState* kernel_state) {
|
KernelState* kernel_state) {
|
||||||
|
|
|
@ -447,8 +447,9 @@ dword_result_t KeSetEvent(pointer_t<X_KEVENT> event_ptr, dword_t increment,
|
||||||
|
|
||||||
return ev->Set(increment, !!wait);
|
return ev->Set(increment, !!wait);
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(KeSetEvent,
|
DECLARE_XBOXKRNL_EXPORT(KeSetEvent, ExportTag::kImplemented |
|
||||||
ExportTag::kImplemented | ExportTag::kThreading);
|
ExportTag::kThreading |
|
||||||
|
ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t KePulseEvent(pointer_t<X_KEVENT> event_ptr, dword_t increment,
|
dword_result_t KePulseEvent(pointer_t<X_KEVENT> event_ptr, dword_t increment,
|
||||||
dword_t wait) {
|
dword_t wait) {
|
||||||
|
@ -460,7 +461,9 @@ dword_result_t KePulseEvent(pointer_t<X_KEVENT> event_ptr, dword_t increment,
|
||||||
|
|
||||||
return ev->Pulse(increment, !!wait);
|
return ev->Pulse(increment, !!wait);
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(KePulseEvent, ExportTag::kImplemented);
|
DECLARE_XBOXKRNL_EXPORT(KePulseEvent, ExportTag::kImplemented |
|
||||||
|
ExportTag::kThreading |
|
||||||
|
ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t KeResetEvent(pointer_t<X_KEVENT> event_ptr) {
|
dword_result_t KeResetEvent(pointer_t<X_KEVENT> event_ptr) {
|
||||||
auto ev = XObject::GetNativeObject<XEvent>(kernel_state(), event_ptr);
|
auto ev = XObject::GetNativeObject<XEvent>(kernel_state(), event_ptr);
|
||||||
|
@ -523,8 +526,9 @@ dword_result_t NtSetEvent(dword_t handle, lpdword_t previous_state_ptr) {
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(NtSetEvent,
|
DECLARE_XBOXKRNL_EXPORT(NtSetEvent, ExportTag::kImplemented |
|
||||||
ExportTag::kImplemented | ExportTag::kThreading);
|
ExportTag::kThreading |
|
||||||
|
ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t NtPulseEvent(dword_t handle, lpdword_t previous_state_ptr) {
|
dword_result_t NtPulseEvent(dword_t handle, lpdword_t previous_state_ptr) {
|
||||||
X_STATUS result = X_STATUS_SUCCESS;
|
X_STATUS result = X_STATUS_SUCCESS;
|
||||||
|
@ -541,8 +545,9 @@ dword_result_t NtPulseEvent(dword_t handle, lpdword_t previous_state_ptr) {
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(NtPulseEvent,
|
DECLARE_XBOXKRNL_EXPORT(NtPulseEvent, ExportTag::kImplemented |
|
||||||
ExportTag::kImplemented | ExportTag::kThreading);
|
ExportTag::kThreading |
|
||||||
|
ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t NtClearEvent(dword_t handle) {
|
dword_result_t NtClearEvent(dword_t handle) {
|
||||||
X_STATUS result = X_STATUS_SUCCESS;
|
X_STATUS result = X_STATUS_SUCCESS;
|
||||||
|
@ -556,8 +561,9 @@ dword_result_t NtClearEvent(dword_t handle) {
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(NtClearEvent,
|
DECLARE_XBOXKRNL_EXPORT(NtClearEvent, ExportTag::kImplemented |
|
||||||
ExportTag::kImplemented | ExportTag::kThreading);
|
ExportTag::kThreading |
|
||||||
|
ExportTag::kHighFrequency);
|
||||||
|
|
||||||
// https://msdn.microsoft.com/en-us/library/windows/hardware/ff552150(v=vs.85).aspx
|
// https://msdn.microsoft.com/en-us/library/windows/hardware/ff552150(v=vs.85).aspx
|
||||||
void KeInitializeSemaphore(pointer_t<X_KSEMAPHORE> semaphore_ptr, dword_t count,
|
void KeInitializeSemaphore(pointer_t<X_KSEMAPHORE> semaphore_ptr, dword_t count,
|
||||||
|
@ -838,9 +844,9 @@ dword_result_t KeWaitForSingleObject(lpvoid_t object_ptr, dword_t wait_reason,
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(KeWaitForSingleObject, ExportTag::kImplemented |
|
DECLARE_XBOXKRNL_EXPORT(KeWaitForSingleObject,
|
||||||
ExportTag::kThreading |
|
ExportTag::kImplemented | ExportTag::kThreading |
|
||||||
ExportTag::kBlocking);
|
ExportTag::kBlocking | ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t NtWaitForSingleObjectEx(dword_t object_handle, dword_t wait_mode,
|
dword_result_t NtWaitForSingleObjectEx(dword_t object_handle, dword_t wait_mode,
|
||||||
dword_t alertable,
|
dword_t alertable,
|
||||||
|
@ -859,9 +865,9 @@ dword_result_t NtWaitForSingleObjectEx(dword_t object_handle, dword_t wait_mode,
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(NtWaitForSingleObjectEx, ExportTag::kImplemented |
|
DECLARE_XBOXKRNL_EXPORT(NtWaitForSingleObjectEx,
|
||||||
ExportTag::kThreading |
|
ExportTag::kImplemented | ExportTag::kThreading |
|
||||||
ExportTag::kBlocking);
|
ExportTag::kBlocking | ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t KeWaitForMultipleObjects(dword_t count, lpdword_t objects_ptr,
|
dword_result_t KeWaitForMultipleObjects(dword_t count, lpdword_t objects_ptr,
|
||||||
dword_t wait_type, dword_t wait_reason,
|
dword_t wait_type, dword_t wait_reason,
|
||||||
|
@ -893,9 +899,9 @@ dword_result_t KeWaitForMultipleObjects(dword_t count, lpdword_t objects_ptr,
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(KeWaitForMultipleObjects, ExportTag::kImplemented |
|
DECLARE_XBOXKRNL_EXPORT(KeWaitForMultipleObjects,
|
||||||
ExportTag::kThreading |
|
ExportTag::kImplemented | ExportTag::kThreading |
|
||||||
ExportTag::kBlocking);
|
ExportTag::kBlocking | ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t NtWaitForMultipleObjectsEx(dword_t count, lpdword_t handles,
|
dword_result_t NtWaitForMultipleObjectsEx(dword_t count, lpdword_t handles,
|
||||||
dword_t wait_type, dword_t wait_mode,
|
dword_t wait_type, dword_t wait_mode,
|
||||||
|
@ -922,9 +928,9 @@ dword_result_t NtWaitForMultipleObjectsEx(dword_t count, lpdword_t handles,
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(NtWaitForMultipleObjectsEx, ExportTag::kImplemented |
|
DECLARE_XBOXKRNL_EXPORT(NtWaitForMultipleObjectsEx,
|
||||||
ExportTag::kThreading |
|
ExportTag::kImplemented | ExportTag::kThreading |
|
||||||
ExportTag::kBlocking);
|
ExportTag::kBlocking | ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t NtSignalAndWaitForSingleObjectEx(dword_t signal_handle,
|
dword_result_t NtSignalAndWaitForSingleObjectEx(dword_t signal_handle,
|
||||||
dword_t wait_handle,
|
dword_t wait_handle,
|
||||||
|
@ -949,7 +955,7 @@ dword_result_t NtSignalAndWaitForSingleObjectEx(dword_t signal_handle,
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(NtSignalAndWaitForSingleObjectEx,
|
DECLARE_XBOXKRNL_EXPORT(NtSignalAndWaitForSingleObjectEx,
|
||||||
ExportTag::kImplemented | ExportTag::kThreading |
|
ExportTag::kImplemented | ExportTag::kThreading |
|
||||||
ExportTag::kBlocking);
|
ExportTag::kBlocking | ExportTag::kHighFrequency);
|
||||||
|
|
||||||
dword_result_t KfAcquireSpinLock(lpdword_t lock_ptr) {
|
dword_result_t KfAcquireSpinLock(lpdword_t lock_ptr) {
|
||||||
// XELOGD(
|
// XELOGD(
|
||||||
|
|
Loading…
Reference in New Issue