Skip to content

Commit

Permalink
- Only use thread with thread-safe devices.
Browse files Browse the repository at this point in the history
  • Loading branch information
Extrems committed Feb 10, 2024
1 parent 95987b7 commit 8076791
Show file tree
Hide file tree
Showing 9 changed files with 15 additions and 14 deletions.
2 changes: 1 addition & 1 deletion cube/swiss/source/devices/aram/deviceHandler-ARAM.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ DEVICEHANDLER_INTERFACE __device_aram = {
.deviceName = "RAM Disk",
.deviceDescription = "Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_SYSTEM, 75, 48, 76, 48},
.features = FEAT_READ|FEAT_WRITE|FEAT_FAT_FUNCS,
.features = FEAT_READ|FEAT_WRITE|FEAT_THREAD_SAFE,
.location = LOC_HSP,
.initial = &initial_ARAM,
.test = deviceHandler_ARAM_test,
Expand Down
2 changes: 1 addition & 1 deletion cube/swiss/source/devices/deviceHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ typedef char* (* _fn_status)(file_handle*);
#define FEAT_BOOT_DEVICE 0x8
#define FEAT_CONFIG_DEVICE 0x10
#define FEAT_AUTOLOAD_DOL 0x20
#define FEAT_FAT_FUNCS 0x40
#define FEAT_THREAD_SAFE 0x40
#define FEAT_HYPERVISOR 0x80
#define FEAT_PATCHES 0x100
#define FEAT_AUDIO_STREAMING 0x200
Expand Down
12 changes: 6 additions & 6 deletions cube/swiss/source/devices/fat/deviceHandler-FAT.c
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@ DEVICEHANDLER_INTERFACE __device_sd_a = {
.deviceName = "SD Card - Slot A",
.deviceDescription = "SD(HC/XC) Card - Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_SDSMALL, 59, 78, 64, 80},
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_FAT_FUNCS|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_READ_SPEED|EMU_AUDIO_STREAMING|EMU_MEMCARD,
.location = LOC_MEMCARD_SLOT_A,
.initial = &initial_SD_A,
Expand All @@ -539,7 +539,7 @@ DEVICEHANDLER_INTERFACE __device_sd_b = {
.deviceName = "SD Card - Slot B",
.deviceDescription = "SD(HC/XC) Card - Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_SDSMALL, 59, 78, 64, 80},
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_FAT_FUNCS|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_READ_SPEED|EMU_AUDIO_STREAMING|EMU_MEMCARD,
.location = LOC_MEMCARD_SLOT_B,
.initial = &initial_SD_B,
Expand All @@ -566,7 +566,7 @@ DEVICEHANDLER_INTERFACE __device_ata_a = {
.deviceName = "IDE-EXI - Slot A",
.deviceDescription = "IDE/PATA HDD - Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_HDD, 104, 73, 112, 80},
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_FAT_FUNCS|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_AUDIO_STREAMING|EMU_MEMCARD,
.location = LOC_MEMCARD_SLOT_A,
.initial = &initial_ATA_A,
Expand All @@ -593,7 +593,7 @@ DEVICEHANDLER_INTERFACE __device_ata_b = {
.deviceName = "IDE-EXI - Slot B",
.deviceDescription = "IDE/PATA HDD - Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_HDD, 104, 73, 112, 80},
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_FAT_FUNCS|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_AUDIO_STREAMING|EMU_MEMCARD,
.location = LOC_MEMCARD_SLOT_B,
.initial = &initial_ATA_B,
Expand All @@ -620,7 +620,7 @@ DEVICEHANDLER_INTERFACE __device_sd_c = {
.deviceName = "SD Card - SD2SP2",
.deviceDescription = "SD(HC/XC) Card - Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_SDSMALL, 59, 78, 64, 80},
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_FAT_FUNCS|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_READ_SPEED|EMU_AUDIO_STREAMING|EMU_MEMCARD,
.location = LOC_SERIAL_PORT_2,
.initial = &initial_SD_C,
Expand All @@ -647,7 +647,7 @@ DEVICEHANDLER_INTERFACE __device_ata_c = {
.deviceName = "M.2 Loader",
.deviceDescription = "M.2 SATA SSD - Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_M2LOADER, 112, 54, 120, 64},
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_FAT_FUNCS|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_READ_SPEED|EMU_AUDIO_STREAMING|EMU_MEMCARD,
.location = LOC_SERIAL_PORT_1,
.initial = &initial_ATA_C,
Expand Down
3 changes: 2 additions & 1 deletion cube/swiss/source/devices/filemeta.c
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,8 @@ static void *meta_thread_func(void *arg) {
}

void meta_thread_start() {
LWP_CreateThread(&meta_thread, meta_thread_func, NULL, NULL, 0, LWP_PRIO_NORMAL);
if (devices[DEVICE_CUR]->features & FEAT_THREAD_SAFE)
LWP_CreateThread(&meta_thread, meta_thread_func, NULL, NULL, 0, LWP_PRIO_NORMAL);
}

void meta_thread_stop() {
Expand Down
2 changes: 1 addition & 1 deletion cube/swiss/source/devices/fsp/deviceHandler-FSP.c
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ DEVICEHANDLER_INTERFACE __device_fsp = {
.deviceName = "File Service Protocol",
.deviceDescription = "Configurable via the settings screen",
.deviceTexture = {TEX_SAMBA, 140, 64, 140, 64},
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_AUDIO_STREAMING|EMU_ETHERNET,
.location = LOC_SERIAL_PORT_1,
.initial = &initial_FSP,
Expand Down
2 changes: 1 addition & 1 deletion cube/swiss/source/devices/ftp/deviceHandler-FTP.c
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ DEVICEHANDLER_INTERFACE __device_ftp = {
.deviceName = "File Transfer Protocol",
.deviceDescription = "Configurable via the settings screen",
.deviceTexture = {TEX_SAMBA, 140, 64, 140, 64},
.features = FEAT_READ|FEAT_WRITE,
.features = FEAT_READ|FEAT_WRITE|FEAT_THREAD_SAFE,
.location = LOC_SERIAL_PORT_1,
.initial = &initial_FTP,
.test = deviceHandler_FTP_test,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ DEVICEHANDLER_INTERFACE __device_gcloader = {
.deviceName = "GC Loader",
.deviceDescription = "Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_GCLOADER, 115, 72, 120, 80},
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_FAT_FUNCS|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_WRITE|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_CONFIG_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_PATCHES|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_READ_SPEED|EMU_AUDIO_STREAMING|EMU_MEMCARD,
.location = LOC_DVD_CONNECTOR,
.initial = &initial_GCLoader,
Expand Down
2 changes: 1 addition & 1 deletion cube/swiss/source/devices/smb/deviceHandler-SMB.c
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ DEVICEHANDLER_INTERFACE __device_smb = {
.deviceName = "SMB 1.0/CIFS",
.deviceDescription = "Configurable via the settings screen",
.deviceTexture = {TEX_SAMBA, 140, 64, 140, 64},
.features = FEAT_READ|FEAT_WRITE,
.features = FEAT_READ|FEAT_WRITE|FEAT_THREAD_SAFE,
.location = LOC_SERIAL_PORT_1,
.initial = &initial_SMB,
.test = deviceHandler_SMB_test,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ DEVICEHANDLER_INTERFACE __device_wkf = {
.deviceName = "Wiikey / Wasp Fusion",
.deviceDescription = "Supported File System(s): FAT16, FAT32, exFAT",
.deviceTexture = {TEX_WIIKEY, 115, 71, 120, 80},
.features = FEAT_READ|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_FAT_FUNCS|FEAT_HYPERVISOR|FEAT_AUDIO_STREAMING,
.features = FEAT_READ|FEAT_BOOT_GCM|FEAT_BOOT_DEVICE|FEAT_AUTOLOAD_DOL|FEAT_THREAD_SAFE|FEAT_HYPERVISOR|FEAT_AUDIO_STREAMING,
.emulable = EMU_READ|EMU_AUDIO_STREAMING|EMU_MEMCARD,
.location = LOC_DVD_CONNECTOR,
.initial = &initial_WKF,
Expand Down

0 comments on commit 8076791

Please sign in to comment.