[Kernel] - Implemented SystemManagementController Class
- Added handling (partial or dummy) for SMC actions: - QUERY_TEMP_SENSOR, QUERY_TRAY, QUERY_AV_PACK, QUERY_SMC_VERSION, QUERY_IR_ADDRESS, QUERY_TILT_SENSOR - SET_FAN_SPEED_CPU, SET_FAN_SPEED_GPU, SET_DVD_TRAY, SET_IR_ADDRESS, SET_POWER_LED, SET_LEDS - Stub HalOpenCloseODDTray, XamLoaderGetMediaInfo, XamLoaderGetMediaInfoEx - Partially Implement HalSendSMCMessage - Implement XamLoaderGetDvdTrayState - HalOpenCloseODDTray is used by dash and HalSendSMCMessage can be used by custom dashboards
This commit is contained in:
committed by
Radosław Gliński
parent
4b24f128f6
commit
0771938db6
@@ -7,11 +7,9 @@
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/kernel/kernel_state.h"
|
||||
#include "xenia/kernel/smc.h"
|
||||
#include "xenia/kernel/util/shim_utils.h"
|
||||
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
|
||||
#include "xenia/xbox.h"
|
||||
|
||||
DECLARE_int32(avpack);
|
||||
|
||||
@@ -36,6 +34,23 @@ DECLARE_XBOXKRNL_EXPORT2(HalReturnToFirmware, kNone, kStub, kImportant);
|
||||
dword_result_t HalGetCurrentAVPack_entry() { return cvars::avpack; }
|
||||
DECLARE_XBOXKRNL_EXPORT1(HalGetCurrentAVPack, kNone, kImplemented);
|
||||
|
||||
void HalSendSMCMessage_entry(pointer_t<X_SMC_DATA> smc_message,
|
||||
pointer_t<X_SMC_DATA> smc_response) {
|
||||
if (!smc_message) {
|
||||
return;
|
||||
}
|
||||
|
||||
kernel_state()->smc()->CallCommand(smc_message, smc_response);
|
||||
}
|
||||
DECLARE_XBOXKRNL_EXPORT3(HalSendSMCMessage, kNone, kStub, kImportant,
|
||||
kHighFrequency);
|
||||
|
||||
void HalOpenCloseODDTray_entry(dword_t open_close) {
|
||||
kernel_state()->smc()->SetTrayState(open_close ? X_DVD_TRAY_STATE::CLOSED
|
||||
: X_DVD_TRAY_STATE::OPEN);
|
||||
}
|
||||
DECLARE_XBOXKRNL_EXPORT1(HalOpenCloseODDTray, kNone, kStub);
|
||||
|
||||
} // namespace xboxkrnl
|
||||
} // namespace kernel
|
||||
} // namespace xe
|
||||
|
||||
Reference in New Issue
Block a user