[Misc] Cleanup in Kernel

This commit is contained in:
Gliniak 2025-05-29 10:15:44 +02:00 committed by Radosław Gliński
parent 50492a951e
commit b864149575
101 changed files with 184 additions and 374 deletions

View File

@ -34,7 +34,7 @@ class Emulator;
namespace xe {
namespace gpu {
static const std::vector<std::pair<uint16_t, uint16_t>>
inline const std::vector<std::pair<uint16_t, uint16_t>>
internal_display_resolution_entries = {
{640, 480}, {640, 576}, {720, 480}, {720, 576}, {800, 600},
{848, 480}, {1024, 768}, {1152, 864}, {1280, 720}, {1280, 768},

View File

@ -10,8 +10,6 @@
#include "xenia/kernel/kernel_module.h"
#include "xenia/base/logging.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/processor.h"
#include "xenia/cpu/raw_module.h"
#include "xenia/emulator.h"
#include "xenia/kernel/xthread.h"

View File

@ -9,20 +9,12 @@
#include "xenia/kernel/kernel_state.h"
#include <string>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/base/assert.h"
#include "xenia/base/byte_stream.h"
#include "xenia/base/logging.h"
#include "xenia/base/string.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h"
#include "xenia/hid/input_system.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_module.h"
#include "xenia/kernel/xam/xdbf/xdbf_io.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_ob.h"

View File

@ -10,17 +10,13 @@
#ifndef XENIA_KERNEL_KERNEL_STATE_H_
#define XENIA_KERNEL_KERNEL_STATE_H_
#include <atomic>
#include <bitset>
#include <condition_variable>
#include <functional>
#include <list>
#include <memory>
#include <vector>
#include "xenia/base/bit_map.h"
#include "xenia/base/cvar.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/backend/backend.h"
#include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/smc.h"
@ -33,9 +29,7 @@
#include "xenia/kernel/xam/user_profile.h"
#include "xenia/kernel/xam/xam_state.h"
#include "xenia/kernel/xam/xdbf/spa_info.h"
#include "xenia/kernel/xam/xdbf/xdbf_io.h"
#include "xenia/kernel/xevent.h"
#include "xenia/memory.h"
#include "xenia/vfs/virtual_file_system.h"
#include "xenia/xbox.h"

View File

@ -16,19 +16,19 @@
namespace xe {
namespace kernel {
static constexpr uint32_t kXN_2001 = 0x584E07D1;
static constexpr uint32_t kXN_2002 = 0x584E07D2;
static constexpr uint32_t kDashboardID = 0xFFFE07D1;
inline constexpr uint32_t kXN_2001 = 0x584E07D1;
inline constexpr uint32_t kXN_2002 = 0x584E07D2;
inline constexpr uint32_t kDashboardID = 0xFFFE07D1;
static constexpr uint16_t GetGameId(const uint32_t title_id) {
inline constexpr uint16_t GetGameId(const uint32_t title_id) {
return title_id >> 16;
}
static constexpr bool IsValidGameId(const uint32_t title_id) {
inline constexpr bool IsValidGameId(const uint32_t title_id) {
return (title_id >> 16) != 0xFFFE;
}
static constexpr std::pair<char, char> GetTitlePublisher(
inline constexpr std::pair<char, char> GetTitlePublisher(
const uint32_t title_id) {
const char first_char = title_id >> 24;
const char second_char = (title_id >> 16) & 0xFF;
@ -36,13 +36,13 @@ static constexpr std::pair<char, char> GetTitlePublisher(
return {first_char, second_char};
}
static constexpr bool IsXboxTitle(const uint32_t title_id) {
inline constexpr bool IsXboxTitle(const uint32_t title_id) {
const auto publisher = GetTitlePublisher(title_id);
return publisher.first == 'X';
}
static constexpr bool IsXblaTitle(const uint32_t title_id) {
inline constexpr bool IsXblaTitle(const uint32_t title_id) {
const auto publisher = GetTitlePublisher(title_id);
return publisher.first == 'X' && publisher.second == 'A';
@ -51,18 +51,18 @@ static constexpr bool IsXblaTitle(const uint32_t title_id) {
static_assert(IsXblaTitle(0x5841127D)); // XBLA Game
static_assert(!IsXblaTitle(0x4D5309C9)); // Non-XBLA Game
static constexpr bool IsAppTitle(const uint32_t title_id) {
inline constexpr bool IsAppTitle(const uint32_t title_id) {
const auto publisher = GetTitlePublisher(title_id);
return publisher.first == 'X' && publisher.second == 'H' ||
publisher.first == 'X' && publisher.second == 'J';
}
static constexpr bool IsXNTitle(const uint32_t title_id) {
inline constexpr bool IsXNTitle(const uint32_t title_id) {
return title_id == kXN_2001 || title_id == kXN_2002;
}
static constexpr bool IsSystemExperienceTitle(const uint32_t title_id) {
inline constexpr bool IsSystemExperienceTitle(const uint32_t title_id) {
if (IsAppTitle(title_id)) {
return true;
}
@ -70,7 +70,7 @@ static constexpr bool IsSystemExperienceTitle(const uint32_t title_id) {
return IsXNTitle(title_id);
};
static constexpr bool IsSystemTitle(const uint32_t title_id) {
inline constexpr bool IsSystemTitle(const uint32_t title_id) {
if (!title_id) {
return true;
}
@ -90,7 +90,7 @@ static_assert(IsSystemTitle(kDashboardID)); // Dashboard check
static_assert(!IsSystemTitle(0x4D5308BC)); // Non-XBLA Game
static_assert(!IsSystemTitle(0x5841089A)); // XBLA Game
static constexpr bool IsOriginalXboxTitle(const uint32_t title_id) {
inline constexpr bool IsOriginalXboxTitle(const uint32_t title_id) {
if (!IsValidGameId(title_id)) {
return true;
}

View File

@ -15,11 +15,7 @@
#include "xenia/base/logging.h"
#include "xenia/base/xxhash.h"
#include "xenia/cpu/elf_module.h"
#include "xenia/cpu/processor.h"
#include "xenia/cpu/xex_module.h"
#include "xenia/emulator.h"
#include "xenia/kernel/xfile.h"
#include "xenia/kernel/xthread.h"
namespace xe {
namespace kernel {

View File

@ -6,10 +6,10 @@
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include <algorithm>
#include "xenia/kernel/util/crypto_utils.h"
#include "xenia/xbox.h"
#include "third_party/crypto/TinySHA1.hpp"

View File

@ -7,7 +7,10 @@
******************************************************************************
*/
#include "xenia/xbox.h"
#ifndef XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_
#define XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_
#include <cstdint>
namespace xe {
namespace kernel {
@ -25,4 +28,6 @@ void RC4(const uint8_t* key, uint32_t key_size_in, const uint8_t* data,
} // namespace util
} // namespace kernel
} // namespace xe
} // namespace xe
#endif // XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_

View File

@ -22,8 +22,6 @@ GameInfoDatabase::GameInfoDatabase(const xam::SpaInfo* data) {
Init(data);
}
GameInfoDatabase::~GameInfoDatabase() {}
void GameInfoDatabase::Init(const xam::SpaInfo* data) {
spa_gamedata_ = std::make_unique<xam::SpaInfo>(*data);
spa_gamedata_->Load();

View File

@ -88,7 +88,7 @@ class GameInfoDatabase {
// Normally titles have at least XDBF file embedded into xex. There are
// certain exceptions and that's why we need to check if it is even valid.
GameInfoDatabase(const xam::SpaInfo* data);
~GameInfoDatabase();
~GameInfoDatabase() = default;
bool IsValid() const { return is_valid_; }

View File

@ -2,16 +2,16 @@
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2023 Xenia Canary. All rights reserved. * Released under the BSD
*license - see LICENSE in the root for more details. *
* Copyright 2023 Xenia Canary. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include "xenia/kernel/util/guest_object_table.h"
#include "xenia/base/atomic.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
namespace xe {
namespace kernel {
namespace util {

View File

@ -2,16 +2,16 @@
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2023 Xenia Canary. All rights reserved. * Released under the BSD
*license - see LICENSE in the root for more details. *
* Copyright 2023 Xenia Canary. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef XENIA_KERNEL_UTIL_GUEST_OBJECT_TABLE_H_
#define XENIA_KERNEL_UTIL_GUEST_OBJECT_TABLE_H_
#include "xenia/kernel/kernel_state.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {
namespace util {
@ -32,9 +32,9 @@ struct X_HANDLE_TABLE {
uint8_t unk_36;
uint8_t unk_38;
};
static_assert_size(X_HANDLE_TABLE, 0x38);
/*
bool GrowHandleTable(uint32_t table_ptr, cpu::ppc::PPCContext* context);
uint32_t NewObjectHandle(uint32_t table_guest, uint32_t object_guest,
cpu::ppc::PPCContext* context);
@ -45,6 +45,8 @@ uint32_t LookupHandleUnlocked(X_HANDLE_TABLE* table, guest_handle_t handle,
cpu::ppc::PPCContext* context);
uint32_t LookupHandle(uint32_t table, guest_handle_t handle,
uint32_t reference_object, cpu::ppc::PPCContext* context);
*/
} // namespace util
} // namespace kernel
} // namespace xe

View File

@ -9,9 +9,6 @@
#include "xenia/kernel/util/object_table.h"
#include <algorithm>
#include <cstring>
#include "xenia/base/byte_stream.h"
#include "xenia/base/logging.h"
#include "xenia/kernel/xobject.h"

View File

@ -8,7 +8,7 @@
*/
#include "xenia/kernel/util/presence_string_builder.h"
#include "xenia/kernel/util/shim_utils.h"
#include "third_party/fmt/include/fmt/format.h"
namespace xe {
namespace kernel {

View File

@ -14,7 +14,6 @@
#include <string>
#include <type_traits>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/base/byte_order.h"
#include "xenia/base/logging.h"
#include "xenia/base/memory.h"

View File

@ -639,7 +639,7 @@ struct X_IMAGE_EXPORT_DIRECTORY {
uint32_t AddressOfNameOrdinals; // RVA from base of image
};
const std::unordered_map<uint32_t, std::string> xex2_system_flags_map = {
inline const std::unordered_map<uint32_t, std::string> xex2_system_flags_map = {
{XEX_SYSTEM_NO_FORCED_REBOOT, "XEX_SYSTEM_NO_FORCED_REBOOT"},
{XEX_SYSTEM_FOREGROUND_TASKS, "XEX_SYSTEM_FOREGROUND_TASKS"},
{XEX_SYSTEM_NO_ODD_MAPPING, "XEX_SYSTEM_NO_ODD_MAPPING"},

View File

@ -0,0 +1,64 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2025 Xenia Canary. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef XENIA_KERNEL_UTIL_XFILETIME_H_
#define XENIA_KERNEL_UTIL_XFILETIME_H_
#include "xenia/base/byte_order.h"
#include "xenia/base/chrono.h"
namespace xe {
namespace kernel {
struct X_FILETIME {
static constexpr uint64_t minimal_valid_time = 125911584000000000;
static constexpr uint64_t maximal_valid_time = 157469184000000000;
xe::be<uint32_t> high_part;
xe::be<uint32_t> low_part;
X_FILETIME() {
high_part = 0;
low_part = 0;
}
X_FILETIME(uint64_t filetime) {
high_part = static_cast<uint32_t>(filetime >> 32);
low_part = static_cast<uint32_t>(filetime);
}
X_FILETIME(std::time_t time) {
const auto file_time =
chrono::WinSystemClock::to_file_time(chrono::WinSystemClock::from_sys(
std::chrono::system_clock::from_time_t(time)));
high_part = static_cast<uint32_t>(file_time >> 32);
low_part = static_cast<uint32_t>(file_time);
}
chrono::WinSystemClock::time_point to_time_point() const {
const uint64_t filetime =
(static_cast<uint64_t>(high_part) << 32) | low_part;
return chrono::WinSystemClock::from_file_time(filetime);
}
bool is_valid() const {
const uint64_t filetime =
(static_cast<uint64_t>(high_part) << 32) | low_part;
return filetime >= minimal_valid_time && filetime <= maximal_valid_time;
}
};
static_assert_size(X_FILETIME, 0x8);
} // namespace kernel
} // namespace xe
#endif

View File

@ -39,8 +39,6 @@ std::vector<uint32_t> XLastMatchmakingQuery::GetFilters() const {
return XLast::GetAllValuesFromNode(node_, "Filters", "left");
}
XLast::XLast() : parsed_xlast_(nullptr) {}
XLast::XLast(const uint8_t* compressed_xml_data,
const uint32_t compressed_data_size,
const uint32_t decompressed_data_size) {
@ -84,8 +82,6 @@ XLast::XLast(const uint8_t* compressed_xml_data,
xlast_decompressed_xml_.size());
}
XLast::~XLast() {}
std::u16string XLast::GetTitleName() const {
std::string xpath = "/XboxLiveSubmissionProject/GameConfigProject";

View File

@ -32,7 +32,7 @@ enum class ProductInformationEntry {
GenreTypeString
};
static const std::map<std::string, ProductInformationEntry>
inline const std::map<std::string, ProductInformationEntry>
product_information_entry_string_to_enum = {
{"offlinePlayersMax", ProductInformationEntry::MaxOfflinePlayers},
{"systemLinkPlayersMax", ProductInformationEntry::MaxSystemLinkPlayers},
@ -43,7 +43,7 @@ static const std::map<std::string, ProductInformationEntry>
{"genreTextStringId", ProductInformationEntry::GenreTypeString},
};
static const std::map<XLanguage, std::string> language_mapping = {
inline const std::map<XLanguage, std::string> language_mapping = {
{XLanguage::kEnglish, "en-US"}, {XLanguage::kJapanese, "ja-JP"},
{XLanguage::kGerman, "de-DE"}, {XLanguage::kFrench, "fr-FR"},
{XLanguage::kSpanish, "es-ES"}, {XLanguage::kItalian, "it-IT"},
@ -67,10 +67,10 @@ class XLastMatchmakingQuery {
class XLast {
public:
XLast();
XLast() = default;
XLast(const uint8_t* compressed_xml_data, const uint32_t compressed_data_size,
const uint32_t decompressed_data_size);
~XLast();
~XLast() = default;
std::u16string GetTitleName() const;
std::map<ProductInformationEntry, uint32_t> GetProductInformationAttributes()

View File

@ -17,9 +17,6 @@ namespace xe {
namespace kernel {
namespace xam {
GpdAchievementBackend::GpdAchievementBackend() {}
GpdAchievementBackend::~GpdAchievementBackend() {}
void GpdAchievementBackend::EarnAchievement(const uint64_t xuid,
const uint32_t title_id,
const uint32_t achievement_id) {

View File

@ -25,8 +25,8 @@ namespace xam {
class GpdAchievementBackend : public AchievementBackendInterface {
public:
GpdAchievementBackend();
~GpdAchievementBackend();
GpdAchievementBackend() = default;
~GpdAchievementBackend() = default;
void EarnAchievement(const uint64_t xuid, const uint32_t title_id,
const uint32_t achievement_id) override;

View File

@ -15,10 +15,9 @@
#include <string>
#include <vector>
#include "xenia/base/chrono.h"
#include "xenia/kernel/util/xfiletime.h"
#include "xenia/kernel/xam/xdbf/gpd_info.h"
#include "xenia/kernel/xam/xdbf/spa_info.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {

View File

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/apps/messenger_app.h"
#include "xenia/base/logging.h"
#include "xenia/base/threading.h"
namespace xe {
namespace kernel {

View File

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/apps/xam_app.h"
#include "xenia/base/logging.h"
#include "xenia/base/threading.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xam/xam_content_device.h"
#include "xenia/kernel/xenumerator.h"

View File

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/apps/xgi_app.h"
#include "xenia/base/logging.h"
#include "xenia/base/threading.h"
namespace xe {
namespace kernel {

View File

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/apps/xlivebase_app.h"
#include "xenia/base/logging.h"
#include "xenia/base/threading.h"
namespace xe {
namespace kernel {

View File

@ -11,7 +11,6 @@
#include "xenia/kernel/xthread.h"
#include "xenia/base/logging.h"
#include "xenia/base/threading.h"
#include "xenia/emulator.h"
#include "xenia/xbox.h"

View File

@ -10,13 +10,6 @@
#ifndef XENIA_KERNEL_XAM_APPS_XMP_APP_H_
#define XENIA_KERNEL_XAM_APPS_XMP_APP_H_
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>
#include <vector>
#include "xenia/base/mutex.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xam/app_manager.h"

View File

@ -108,7 +108,9 @@ ProfileManager::ProfileManager(KernelState* kernel_state,
logged_profiles_.clear();
accounts_.clear();
LoadAccounts(FindProfiles());
for (const auto account_xuid : FindProfiles()) {
LoadAccount(account_xuid);
}
if (!cvars::logged_profile_slot_0_xuid.empty()) {
Login(xe::string_util::from_string<uint64_t>(
@ -135,8 +137,6 @@ ProfileManager::ProfileManager(KernelState* kernel_state,
}
}
ProfileManager::~ProfileManager() {}
void ProfileManager::ReloadProfile(const uint64_t xuid) {
if (accounts_.contains(xuid)) {
accounts_.erase(xuid);
@ -145,7 +145,11 @@ void ProfileManager::ReloadProfile(const uint64_t xuid) {
LoadAccount(xuid);
}
void ProfileManager::ReloadProfiles() { LoadAccounts(FindProfiles()); }
void ProfileManager::ReloadProfiles() {
for (const auto account_xuid : FindProfiles()) {
LoadAccount(account_xuid);
}
}
UserProfile* ProfileManager::GetProfile(const uint64_t xuid) const {
const uint8_t user_index = GetUserIndexAssignedToProfile(xuid);
@ -236,12 +240,6 @@ bool ProfileManager::LoadAccount(const uint64_t xuid) {
return true;
}
void ProfileManager::LoadAccounts(const std::vector<uint64_t> profiles_xuids) {
for (const auto& path : profiles_xuids) {
LoadAccount(path);
}
}
bool ProfileManager::MountProfile(const uint64_t xuid, std::string mount_path) {
std::filesystem::path profile_path = GetProfilePath(xuid);
if (mount_path.empty()) {

View File

@ -39,7 +39,7 @@ namespace xe {
namespace kernel {
namespace xam {
const static std::string kDashboardStringID =
inline const std::string kDashboardStringID =
fmt::format("{:08X}", kDashboardID);
constexpr std::string_view kDefaultMountFormat = "User_{:016X}";
@ -60,7 +60,7 @@ class ProfileManager {
// Loading Account means load basic data
ProfileManager(KernelState* kernel_state, UserTracker* user_tracker);
~ProfileManager();
~ProfileManager() = default;
bool CreateProfile(const std::string gamertag, bool autologin,
bool default_xuid = false);
@ -77,7 +77,6 @@ class ProfileManager {
void LoginMultiple(const std::map<uint8_t, uint64_t>& profiles);
bool LoadAccount(const uint64_t xuid);
void LoadAccounts(const std::vector<uint64_t> profiles_xuids);
void ReloadProfiles();
void ReloadProfile(const uint64_t xuid);

View File

@ -27,6 +27,8 @@ class CreateProfileUI final : public XamDialog {
memset(gamertag_, 0, sizeof(gamertag_));
}
~CreateProfileUI() = default;
private:
void OnDraw(ImGuiIO& io) override;

View File

@ -46,6 +46,8 @@ class GamercardUI final : public XamDialog {
GamercardUI(xe::ui::Window* window, xe::ui::ImGuiDrawer* imgui_drawer,
KernelState* kernel_state, uint64_t xuid);
~GamercardUI() = default;
private:
void OnDraw(ImGuiIO& io) override;
void DrawBaseSettings(ImGuiIO& io);

View File

@ -22,12 +22,7 @@ class ProfilePasscodeUI final : public XamDialog {
ProfilePasscodeUI(xe::ui::ImGuiDrawer* imgui_drawer, std::string_view title,
std::string_view description,
MESSAGEBOX_RESULT* result_ptr);
void DrawPasscodeField(uint8_t key_id);
void OnDraw(ImGuiIO& io) override;
virtual ~ProfilePasscodeUI() {}
~ProfilePasscodeUI() = default;
bool SelectedSignedIn() const { return selected_signed_in_; }
@ -48,6 +43,10 @@ class ProfilePasscodeUI final : public XamDialog {
{"Left", DPAD_LEFT_PASSCODE},
{"Right", DPAD_RIGHT_PASSCODE}};
void OnDraw(ImGuiIO& io) override;
void DrawPasscodeField(uint8_t key_id);
bool has_opened_ = false;
bool selected_signed_in_ = false;
std::string title_;

View File

@ -22,6 +22,8 @@ class SigninUI final : public XamDialog {
SigninUI(xe::ui::ImGuiDrawer* imgui_drawer, ProfileManager* profile_manager,
uint32_t last_used_slot, uint32_t users_needed);
~SigninUI() = default;
private:
void OnDraw(ImGuiIO& io) override;

View File

@ -22,9 +22,9 @@ class TitleListUI final : public XamDialog {
TitleListUI(xe::ui::ImGuiDrawer* imgui_drawer, const ImVec2 drawing_position,
const UserProfile* profile);
private:
~TitleListUI();
private:
void OnDraw(ImGuiIO& io) override;
void LoadProfileTitleList(xe::ui::ImGuiDrawer* imgui_drawer,

View File

@ -15,9 +15,6 @@ namespace xe {
namespace kernel {
namespace xam {
UserData::UserData() {}
UserData::~UserData() {}
UserData::UserData(const UserData& user_data) {
data_ = user_data.data_;
extended_data_ = user_data.extended_data_;

View File

@ -14,6 +14,7 @@
#include <variant>
#include <vector>
#include "xenia/base/string_util.h"
#include "xenia/xbox.h"
namespace xe {
@ -175,9 +176,7 @@ class UserData {
}
protected:
~UserData();
UserData();
UserData() = default;
UserData(const UserData& user_data);
// From host
@ -193,6 +192,8 @@ class UserData {
UserData(const X_USER_DATA_TYPE data_type, const X_USER_DATA_UNION* user_data,
std::span<const uint8_t> extended_data);
~UserData() = default;
X_USER_DATA data_ = {};
std::vector<uint8_t> extended_data_ = {};
};

View File

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/user_profile.h"
#include <ranges>
#include <sstream>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/kernel/kernel_state.h"
@ -21,7 +20,8 @@ namespace xe {
namespace kernel {
namespace xam {
UserProfile::UserProfile(uint64_t xuid, X_XAMACCOUNTINFO* account_info)
UserProfile::UserProfile(const uint64_t xuid,
const X_XAMACCOUNTINFO* account_info)
: xuid_(xuid), account_info_(*account_info), profile_images_() {
// 58410A1F checks the user XUID against a mask of 0x00C0000000000000 (3<<54),
// if non-zero, it prevents the user from playing the game.

View File

@ -74,7 +74,7 @@ enum class XTileType {
};
// TODO: find filenames of other tile types that are stored in profile
static const std::map<XTileType, std::string> kTileFileNames = {
inline const std::map<XTileType, std::string> kTileFileNames = {
{XTileType::kGamerTile, "tile_64.png"},
{XTileType::kGamerTileSmall, "tile_32.png"},
{XTileType::kPersonalGamerTile, "tile_64.png"},
@ -88,7 +88,7 @@ static constexpr std::pair<uint16_t, uint16_t> kProfileIconSizeSmall = {32, 32};
class UserProfile {
public:
UserProfile(uint64_t xuid, X_XAMACCOUNTINFO* account_info);
UserProfile(const uint64_t xuid, const X_XAMACCOUNTINFO* account_info);
uint64_t xuid() const { return xuid_; }
std::string name() const { return account_info_.GetGamertagString(); }

View File

@ -15,8 +15,6 @@ namespace xe {
namespace kernel {
namespace xam {
Property::Property() : UserData() {};
Property::Property(const Property& property)
: UserData(property), property_id_(property.property_id_) {}
@ -43,8 +41,6 @@ Property::Property(std::span<const uint8_t> serialized_data)
*reinterpret_cast<const uint32_t*>(serialized_data.data());
}
Property::~Property() {};
std::vector<uint8_t> Property::Serialize() const {
std::vector<uint8_t> serialized_property(
sizeof(AttributeKey) + sizeof(X_USER_DATA) + extended_data_.size());

View File

@ -35,7 +35,7 @@ static_assert_size(XUSER_PROPERTY, 0x18);
class Property : public UserData {
public:
Property();
Property() = default;
Property(const Property& property);
Property(uint32_t property_id, UserDataTypes property_data);
@ -44,7 +44,8 @@ class Property : public UserData {
// Ctor used for deserialization
Property(const uint8_t* serialized_data, size_t data_size);
Property(std::span<const uint8_t> serialized_data);
~Property();
~Property() = default;
const AttributeKey GetPropertyId() const { return property_id_; }

View File

@ -27,11 +27,6 @@ const static std::array<UserSetting, 3> default_setting_values = {
UserSettingId::XPROFILE_GAMERCARD_PICTURE_KEY,
xe::string_util::read_u16string_and_swap(u"gamercard_picture_key"))};
UserSetting::UserSetting(UserSetting& setting) : UserData(setting) {
setting_id_ = setting.setting_id_;
setting_source_ = setting.setting_source_;
}
UserSetting::UserSetting(const UserSetting& setting) : UserData(setting) {
setting_id_ = setting.setting_id_;
setting_source_ = setting.setting_source_;

View File

@ -267,7 +267,7 @@ enum class UserSettingId : uint32_t {
0x4F), // 0x7008004F, named "LastOnLIVE" in Velocity
};
constexpr static std::array<UserSettingId, 104> known_settings = {
inline constexpr std::array<UserSettingId, 104> known_settings = {
UserSettingId::XPROFILE_PERMISSIONS,
UserSettingId::XPROFILE_GAMER_TYPE,
UserSettingId::XPROFILE_GAMER_YAXIS_INVERSION,
@ -374,7 +374,7 @@ constexpr static std::array<UserSettingId, 104> known_settings = {
UserSettingId::XPROFILE_LAST_LIVE_SIGNIN,
};
const static std::set<UserSettingId> title_writable_settings = {
inline const std::set<UserSettingId> title_writable_settings = {
UserSettingId::XPROFILE_TITLE_SPECIFIC1,
UserSettingId::XPROFILE_TITLE_SPECIFIC2,
UserSettingId::XPROFILE_TITLE_SPECIFIC3};
@ -447,7 +447,6 @@ enum ACCELERATOR_CONTROL_OPTIONS : uint8_t {
class UserSetting : public UserData {
public:
UserSetting(UserSetting& setting);
UserSetting(const UserSetting& setting);
// Ctor for writing from host
UserSetting(UserSettingId setting_id, UserDataTypes setting_data);

View File

@ -28,8 +28,6 @@ DECLARE_int32(user_language);
namespace xe {
namespace kernel {
namespace xam {
UserTracker::UserTracker() : spa_data_(nullptr) {}
UserTracker::~UserTracker() {}
bool UserTracker::AddUser(uint64_t xuid) {
if (IsUserTracked(xuid)) {

View File

@ -45,8 +45,8 @@ struct TitleInfo {
class UserTracker {
public:
UserTracker();
~UserTracker();
UserTracker() = default;
~UserTracker() = default;
// UserTracker specific methods
bool AddUser(uint64_t xuid);
@ -115,7 +115,7 @@ class UserTracker {
void FlushUserData(const uint64_t xuid);
SpaInfo* spa_data_;
SpaInfo* spa_data_ = nullptr;
std::set<uint64_t> tracked_xuids_;
};

View File

@ -16,10 +16,6 @@
#include "xenia/kernel/xenumerator.h"
#include "xenia/xbox.h"
#if XE_PLATFORM_WIN32
#include "xenia/base/platform_win.h"
#endif
#include "third_party/fmt/include/fmt/format.h"
namespace xe {

View File

@ -7,8 +7,6 @@
******************************************************************************
*/
#include <xenia/kernel/xboxkrnl/xboxkrnl_error.h>
#include <xenia/kernel/xboxkrnl/xboxkrnl_modules.h>
#include "xenia/base/cvar.h"
#include "xenia/base/logging.h"
#include "xenia/base/string_util.h"
@ -18,7 +16,9 @@
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_module.h"
#include "xenia/kernel/xam/xam_private.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_error.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_modules.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include "xenia/kernel/xenumerator.h"
#include "xenia/kernel/xthread.h"

View File

@ -15,7 +15,6 @@
#include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_module.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xam/xam_ordinals.h"
namespace xe {
namespace kernel {

View File

@ -7,9 +7,6 @@
******************************************************************************
*/
#include <cstring>
#include "xenia/base/clock.h"
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"

View File

@ -7,7 +7,6 @@
******************************************************************************
*/
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_private.h"

View File

@ -11,7 +11,6 @@
#define XENIA_KERNEL_XAM_XAM_PRIVATE_H_
#include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xam/xam_ordinals.h"
namespace xe {

View File

@ -33,12 +33,6 @@ XamState::XamState(Emulator* emulator, KernelState* kernel_state)
AppManager::RegisterApps(kernel_state, app_manager_.get());
}
XamState::~XamState() {
app_manager_.reset();
achievement_manager_.reset();
content_manager_.reset();
}
UserProfile* XamState::GetUserProfile(uint32_t user_index) const {
if (user_index >= XUserMaxUserCount && user_index < XUserIndexLatest) {
return nullptr;

View File

@ -34,7 +34,7 @@ namespace xam {
class XamState {
public:
XamState(Emulator* emulator, KernelState* kernel_state);
~XamState();
~XamState() = default;
AppManager* app_manager() const { return app_manager_.get(); }
ContentManager* content_manager() const { return content_manager_.get(); }

View File

@ -8,20 +8,13 @@
*/
#include "xenia/base/logging.h"
#include "xenia/base/string_util.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_module.h"
#include "xenia/kernel/xam/xam_private.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h"
#if XE_PLATFORM_WIN32
#include "xenia/base/platform_win.h"
#endif
#include "third_party/fmt/include/fmt/format.h"
namespace xe {

View File

@ -8,15 +8,12 @@
*/
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/string_util.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/user_profile.h"
#include "xenia/kernel/xam/user_settings.h"
#include "xenia/kernel/xam/xam_private.h"
#include "xenia/kernel/xenumerator.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h"
#include "third_party/stb/stb_image.h"

View File

@ -7,12 +7,9 @@
******************************************************************************
*/
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_private.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_video.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {
@ -20,7 +17,7 @@ namespace xam {
void XGetVideoMode_entry(pointer_t<X_VIDEO_MODE> video_mode) {
// TODO(benvanik): actually check to see if these are the same.
xboxkrnl::VdQueryVideoMode(std::move(video_mode));
xboxkrnl::VdQueryVideoMode(video_mode);
}
DECLARE_XAM_EXPORT1(XGetVideoMode, kVideo, ExportTag::kSketchy);

View File

@ -7,8 +7,6 @@
******************************************************************************
*/
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_private.h"
#include "xenia/xbox.h"

View File

@ -10,14 +10,14 @@
#ifndef XENIA_KERNEL_XAM_XDBF_GPD_INFO_H_
#define XENIA_KERNEL_XAM_XDBF_GPD_INFO_H_
#include "xenia/kernel/xam/user_data.h"
#include "xenia/kernel/xam/xdbf/xdbf_io.h"
#include <span>
#include <string>
#include <vector>
#include "xenia/xbox.h"
#include "xenia/base/byte_order.h"
#include "xenia/kernel/util/xfiletime.h"
#include "xenia/kernel/xam/user_data.h"
#include "xenia/kernel/xam/xdbf/xdbf_io.h"
namespace xe {
namespace kernel {
@ -111,6 +111,8 @@ class GpdInfo : public XdbfFile {
GpdInfo(const uint32_t title_id);
GpdInfo(const uint32_t title_id, const std::vector<uint8_t> buffer);
~GpdInfo() = default;
// Normally GPD ALWAYS contains one free entry that indicates EOF
bool IsValid() const { return !free_entries_.empty(); }
// r/w image, setting, string.

View File

@ -29,7 +29,7 @@ class GpdInfoProfile : public GpdInfo {
GpdInfoProfile(const std::vector<uint8_t> buffer)
: GpdInfo(kDashboardID, buffer) {};
~GpdInfoProfile() {};
~GpdInfoProfile() = default;
void AddNewTitle(const SpaInfo* title_data);
void UpdateTitleInfo(const uint32_t title_id,

View File

@ -32,7 +32,7 @@ class GpdInfoTitle : public GpdInfo {
GpdInfoTitle(const uint32_t title_id, const std::vector<uint8_t> buffer)
: GpdInfo(title_id, buffer) {};
~GpdInfoTitle() {};
~GpdInfoTitle() = default;
std::vector<uint32_t> GetAchievementsIds() const;

View File

@ -130,6 +130,7 @@ static_assert_size(AchievementTableEntry, 0x24);
class SpaInfo : public XdbfFile {
public:
SpaInfo(const std::span<uint8_t> buffer);
~SpaInfo() = default;
void Load();

View File

@ -163,9 +163,11 @@ struct Entry {
// https://free60project.github.io/wiki/XDBF.html
class XdbfFile {
public:
XdbfFile() {};
XdbfFile() = default;
XdbfFile(const std::span<const uint8_t> buffer);
~XdbfFile() = default;
const Entry* const GetEntry(uint16_t section, uint64_t id) const;
protected:

View File

@ -7,21 +7,11 @@
******************************************************************************
*/
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include <vector>
#include "xenia/base/clock.h"
#include "xenia/base/debugging.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/cpu/ppc/ppc_context.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
namespace xe {
namespace kernel {

View File

@ -10,11 +10,7 @@
#ifndef XENIA_KERNEL_KERNEL_XBOXKRNL_CERT_MONITOR_H_
#define XENIA_KERNEL_KERNEL_XBOXKRNL_CERT_MONITOR_H_
#include <memory>
#include "xenia/base/threading.h"
#include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_module.h"
#include "xenia/kernel/kernel_state.h"
namespace xe {

View File

@ -7,22 +7,13 @@
******************************************************************************
*/
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include <vector>
#include "xenia/base/clock.h"
#include "xenia/base/debugging.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/cpu/ppc/ppc_context.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
DECLARE_bool(kernel_pix);

View File

@ -10,11 +10,7 @@
#ifndef XENIA_KERNEL_KERNEL_XBOXKRNL_DEBUG_MONITOR_H_
#define XENIA_KERNEL_KERNEL_XBOXKRNL_DEBUG_MONITOR_H_
#include <memory>
#include "xenia/base/threading.h"
#include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_module.h"
#include "xenia/kernel/kernel_state.h"
namespace xe {

View File

@ -8,7 +8,6 @@
*/
#include "xenia/apu/audio_system.h"
#include "xenia/base/logging.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"

View File

@ -7,11 +7,8 @@
******************************************************************************
*/
#include <cstring>
#include "xenia/apu/audio_system.h"
#include "xenia/apu/xma_decoder.h"
#include "xenia/base/assert.h"
#include "xenia/base/logging.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"

View File

@ -13,7 +13,6 @@
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {

View File

@ -7,17 +7,12 @@
******************************************************************************
*/
#include <algorithm>
#include "xenia/base/atomic.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_error.h"
#include "xenia/base/logging.h"
#include "xenia/base/string.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_error.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
namespace xe {
namespace kernel {

View File

@ -10,8 +10,7 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_ERROR_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_ERROR_H_
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/xbox.h"
#include <cstdint>
namespace xe {
namespace kernel {

View File

@ -7,11 +7,8 @@
******************************************************************************
*/
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {

View File

@ -8,9 +8,6 @@
*/
#include "xenia/base/logging.h"
#include "xenia/base/memory.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/info/file.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"

View File

@ -8,19 +8,12 @@
*/
#include "xenia/base/logging.h"
#include "xenia/base/memory.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/info/file.h"
#include "xenia/kernel/info/volume.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xfile.h"
#include "xenia/kernel/xiocompletion.h"
#include "xenia/kernel/xsymboliclink.h"
#include "xenia/kernel/xthread.h"
#include "xenia/vfs/device.h"
#include "xenia/xbox.h"

View File

@ -7,14 +7,10 @@
******************************************************************************
*/
#include <cstring>
#include "xenia/base/assert.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h"

View File

@ -15,7 +15,6 @@
namespace xe {
namespace kernel {
namespace xboxkrnl {
uint32_t xeMmAllocatePhysicalMemoryEx(uint32_t flags, uint32_t region_size,

View File

@ -7,14 +7,11 @@
******************************************************************************
*/
#include "xenia/base/logging.h"
#include "xenia/cpu/ppc/ppc_frontend.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {
namespace xboxkrnl {

View File

@ -9,22 +9,12 @@
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include <vector>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/base/clock.h"
#include "xenia/base/debugging.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/cpu/ppc/ppc_context.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/xboxkrnl/cert_monitor.h"
#include "xenia/kernel/xboxkrnl/debug_monitor.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
DEFINE_string(cl, "", "Specify additional command-line provided to guest.",
"Kernel");

View File

@ -10,9 +10,6 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_MODULE_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_MODULE_H_
#include <memory>
#include "xenia/base/threading.h"
#include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_module.h"
#include "xenia/kernel/kernel_state.h"

View File

@ -7,13 +7,11 @@
******************************************************************************
*/
#include "xboxkrnl_modules.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_modules.h"
#include "xenia/base/logging.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/util/xex2_info.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h"

View File

@ -8,19 +8,14 @@
*/
#include "xenia/kernel/xboxkrnl/xboxkrnl_ob.h"
#include "xenia/base/assert.h"
#include "xenia/base/atomic.h"
#include "xenia/base/logging.h"
#include "xenia/base/utf8.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include "xenia/kernel/xobject.h"
#include "xenia/kernel/xsemaphore.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {
namespace xboxkrnl {

View File

@ -10,11 +10,15 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_OB_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_OB_H_
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/cpu/ppc/ppc_context.h"
#include "xenia/xbox.h"
using PPCContext = xe::cpu::ppc::PPCContext;
namespace xe {
namespace kernel {
namespace xboxkrnl {
void xeObDereferenceObject(PPCContext* context, uint32_t native_ptr);
void xeObSplitName(X_ANSI_STRING input_string,
X_ANSI_STRING* leading_path_component,

View File

@ -9,22 +9,15 @@
#include "xenia/kernel/xboxkrnl/xboxkrnl_rtl.h"
#include <algorithm>
#include <string>
#include "xenia/base/atomic.h"
#include "xenia/base/chrono.h"
#include "xenia/base/logging.h"
#include "xenia/base/pe_image.h"
#include "xenia/base/string.h"
#include "xenia/base/threading.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xthread.h"
namespace xe {
namespace kernel {
namespace xboxkrnl {

View File

@ -7,17 +7,8 @@
******************************************************************************
*/
#include <cstring>
#include <iomanip>
#include <sstream>
#include <string>
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h"
DEFINE_bool(log_string_format_kernel_calls, false,

View File

@ -8,21 +8,12 @@
*/
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include <algorithm>
#include <vector>
#include "xenia/base/atomic.h"
#include "xenia/base/clock.h"
#include "xenia/base/logging.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xmutant.h"
#include "xenia/kernel/xsemaphore.h"
#include "xenia/kernel/xthread.h"
#include "xenia/kernel/xtimer.h"
#include "xenia/xbox.h"

View File

@ -7,8 +7,6 @@
******************************************************************************
*/
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h"

View File

@ -12,8 +12,6 @@
#include "xenia/base/logging.h"
#include "xenia/emulator.h"
#include "xenia/gpu/graphics_system.h"
#include "xenia/gpu/texture_info.h"
#include "xenia/gpu/xenos.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"

View File

@ -10,7 +10,6 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_VIDEO_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_VIDEO_H_
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/xbox.h"
namespace xe {

View File

@ -9,9 +9,7 @@
#include "xenia/kernel/xboxkrnl/xboxkrnl_xconfig.h"
#include "xenia/base/logging.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h"

View File

@ -10,8 +10,8 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_XCONFIG_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_XCONFIG_H_
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/xbox.h"
#include <cstdint>
#include <map>
namespace xe {
namespace kernel {

View File

@ -10,14 +10,11 @@
#ifndef XENIA_KERNEL_XENUMERATOR_H_
#define XENIA_KERNEL_XENUMERATOR_H_
#include <algorithm>
#include <cstring>
#include <vector>
#include "xenia/kernel/xam/achievement_manager.h"
#include "xenia/kernel/xam/user_tracker.h"
#include "xenia/kernel/xobject.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {

View File

@ -11,12 +11,7 @@
#include "xenia/vfs/virtual_file_system.h"
#include "xenia/base/byte_stream.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/mutex.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xevent.h"
#include "xenia/memory.h"
namespace xe {
namespace kernel {
@ -300,8 +295,8 @@ void XFile::RemoveIOCompletionPort(uint32_t key) {
}
bool XFile::Save(ByteStream* stream) {
XELOGD("XFile {:08X} ({})", handle(),
file_->entry()->absolute_path().c_str());
// XELOGD("XFile {:08X} ({})", handle(),
// file_->entry()->absolute_path().c_str());
if (!SaveObject(stream)) {
return false;
@ -332,7 +327,7 @@ object_ref<XFile> XFile::Restore(KernelState* kernel_state,
auto is_directory = stream->Read<bool>();
auto is_synchronous = stream->Read<bool>();
XELOGD("XFile {:08X} ({})", file->handle(), abs_path);
// XELOGD("XFile {:08X} ({})", file->handle(), abs_path);
vfs::File* vfs_file = nullptr;
vfs::FileAction action;
@ -340,7 +335,7 @@ object_ref<XFile> XFile::Restore(KernelState* kernel_state,
nullptr, abs_path, vfs::FileDisposition::kOpen, access, is_directory,
false, &vfs_file, &action);
if (XFAILED(res)) {
XELOGE("Failed to open XFile: error {:08X}", res);
// XELOGE("Failed to open XFile: error {:08X}", res);
return object_ref<XFile>(file);
}

View File

@ -12,9 +12,7 @@
#include <string>
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xiocompletion.h"
#include "xenia/kernel/xobject.h"
#include "xenia/vfs/device.h"
#include "xenia/vfs/entry.h"
#include "xenia/vfs/file.h"

View File

@ -12,7 +12,6 @@
#include <vector>
#include "xenia/base/byte_stream.h"
#include "xenia/base/clock.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"

View File

@ -14,6 +14,7 @@
#include "xenia/kernel/xobject.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h"
namespace xe {
namespace kernel {

View File

@ -14,7 +14,6 @@
#include <queue>
#include "xenia/base/byte_order.h"
#include "xenia/base/math.h"
#include "xenia/kernel/xobject.h"
namespace xe {

View File

@ -10,11 +10,6 @@
#ifndef XENIA_KERNEL_XSYMBOLICLINK_H_
#define XENIA_KERNEL_XSYMBOLICLINK_H_
#include <memory>
#include <unordered_map>
#include "xenia/base/mutex.h"
#include "xenia/base/threading.h"
#include "xenia/kernel/xobject.h"
#include "xenia/xbox.h"

View File

@ -9,25 +9,16 @@
#include "xenia/kernel/xthread.h"
#include <cstring>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/base/byte_stream.h"
#include "xenia/base/clock.h"
#include "xenia/base/literals.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/profiling.h"
#include "xenia/base/threading.h"
#include "xenia/cpu/breakpoint.h"
#include "xenia/cpu/ppc/ppc_decode_data.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xmutant.h"
DEFINE_bool(ignore_thread_priorities, true,
"Ignores game-specified thread priorities.", "Kernel");
DEFINE_bool(ignore_thread_affinities, true,
@ -39,6 +30,7 @@ DEFINE_int64(stack_size_multiplier_hack, 1,
DEFINE_int64(main_xthread_stack_size_multiplier_hack, 1,
"A hack for games with setjmp/longjmp issues.", "Kernel");
#endif
namespace xe {
namespace kernel {
@ -46,8 +38,6 @@ const uint32_t XAPC::kSize;
const uint32_t XAPC::kDummyKernelRoutine;
const uint32_t XAPC::kDummyRundownRoutine;
using xe::cpu::ppc::PPCOpcode;
using namespace xe::literals;
uint32_t next_xthread_id_ = 0;

View File

@ -9,9 +9,7 @@
#include "xenia/kernel/xtimer.h"
#include "xenia/base/chrono.h"
#include "xenia/base/logging.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/xthread.h"
namespace xe {

View File

@ -30,7 +30,7 @@ enum class NotificationAlignment : uint8_t {
kAlignUnknown = 0xFF
};
const static std::vector<ImVec2> notification_position_id_screen_offset = {
inline const std::vector<ImVec2> notification_position_id_screen_offset = {
{0.50f, 0.45f}, // CENTER-CENTER - 0
{0.50f, 0.10f}, // CENTER-TOP - 1
{0.50f, 0.80f}, // CENTER-BOTTOM - 2

Some files were not shown because too many files have changed in this diff Show More