Small sys_flashrom clean up (#1795)

* sys_flashrom cleanup

* Remove uncessary data word from function names

* format
This commit is contained in:
Derek Hensley
2025-02-21 17:00:11 -08:00
committed by GitHub
parent 6f626d9186
commit 8d9750652e
5 changed files with 80 additions and 80 deletions
+22 -20
View File
@@ -18,7 +18,6 @@ STACK(sSysFlashromStack, 0x1000);
StackEntry sSysFlashromStackInfo;
OSThread sSysFlashromThread;
FlashromRequest sFlashromRequest;
OSMesg sSysFlashromMsgBuf[1];
s32 SysFlashrom_IsInit(void) {
return sFlashromIsInit;
@@ -78,7 +77,7 @@ s32 SysFlashrom_InitFlash(void) {
return 0;
}
s32 SysFlashrom_ReadData(void* addr, u32 pageNum, u32 pageCount) {
s32 SysFlashrom_Read(void* addr, u32 pageNum, u32 pageCount) {
OSIoMesg msg;
if (!SysFlashrom_IsInit()) {
@@ -113,7 +112,7 @@ s32 SysFlashrom_ExecWrite(void* addr, u32 pageNum, u32 pageCount) {
for (i = 0; i < pageCount; i++) {
osFlashWriteBuffer(&msg, OS_MESG_PRI_NORMAL, (u8*)addr + i * FLASH_BLOCK_SIZE, &sFlashromMesgQueue);
osRecvMesg(&sFlashromMesgQueue, NULL, OS_MESG_BLOCK);
result = osFlashWriteArray(i + pageNum);
result = osFlashWriteArray(pageNum + i);
if (result != 0) {
return result;
}
@@ -164,7 +163,7 @@ s32 SysFlashrom_NeedsToErase(void* data, void* addr, u32 pageCount) {
return true;
}
s32 SysFlashrom_WriteData(void* addr, u32 pageNum, u32 pageCount) {
s32 SysFlashrom_Write(void* addr, u32 pageNum, u32 pageCount) {
void* data;
size_t size;
s32 ret;
@@ -177,7 +176,7 @@ s32 SysFlashrom_WriteData(void* addr, u32 pageNum, u32 pageCount) {
if (data == NULL) {
ret = SysFlashrom_AttemptWrite(addr, pageNum, pageCount);
} else {
SysFlashrom_ReadData(data, pageNum, pageCount);
SysFlashrom_Read(data, pageNum, pageCount);
if (bcmp(data, addr, size) == 0) {
ret = 0;
} else {
@@ -188,7 +187,7 @@ s32 SysFlashrom_WriteData(void* addr, u32 pageNum, u32 pageCount) {
ret = SysFlashrom_AttemptWrite(addr, pageNum, pageCount);
}
if (ret == 0) {
SysFlashrom_ReadData(data, pageNum, pageCount);
SysFlashrom_Read(data, pageNum, pageCount);
if (bcmp(data, addr, size) == 0) {
ret = 0;
} else {
@@ -204,27 +203,28 @@ s32 SysFlashrom_WriteData(void* addr, u32 pageNum, u32 pageCount) {
void SysFlashrom_ThreadEntry(void* arg) {
FlashromRequest* req = (FlashromRequest*)arg;
switch (req->requestType) {
switch (req->type) {
case FLASHROM_REQUEST_WRITE:
req->response = SysFlashrom_WriteData(req->addr, req->pageNum, req->pageCount);
osSendMesg(&req->messageQueue, (OSMesg)req->response, OS_MESG_BLOCK);
req->response = SysFlashrom_Write(req->addr, req->pageNum, req->pageCount);
osSendMesg(&req->queue, (OSMesg)req->response, OS_MESG_BLOCK);
break;
case FLASHROM_REQUEST_READ:
req->response = SysFlashrom_ReadData(req->addr, req->pageNum, req->pageCount);
osSendMesg(&req->messageQueue, (OSMesg)req->response, OS_MESG_BLOCK);
req->response = SysFlashrom_Read(req->addr, req->pageNum, req->pageCount);
osSendMesg(&req->queue, (OSMesg)req->response, OS_MESG_BLOCK);
break;
}
}
void SysFlashrom_WriteDataAsync(u8* addr, u32 pageNum, u32 pageCount) {
void SysFlashrom_WriteAsync(void* addr, u32 pageNum, u32 pageCount) {
FlashromRequest* req = &sFlashromRequest;
if (SysFlashrom_IsInit()) {
req->requestType = FLASHROM_REQUEST_WRITE;
req->type = FLASHROM_REQUEST_WRITE;
req->addr = addr;
req->pageNum = pageNum;
req->pageCount = pageCount;
osCreateMesgQueue(&req->messageQueue, sSysFlashromMsgBuf, ARRAY_COUNT(sSysFlashromMsgBuf));
osCreateMesgQueue(&req->queue, req->msgBuf, ARRAY_COUNT(req->msgBuf));
StackCheck_Init(&sSysFlashromStackInfo, sSysFlashromStack, STACK_TOP(sSysFlashromStack), 0, 0x100,
"sys_flashrom");
osCreateThread(&sSysFlashromThread, Z_THREAD_ID_FLASHROM, SysFlashrom_ThreadEntry, req,
@@ -234,25 +234,27 @@ void SysFlashrom_WriteDataAsync(u8* addr, u32 pageNum, u32 pageCount) {
}
s32 SysFlashrom_IsBusy(void) {
OSMesgQueue* queue = &sFlashromRequest.messageQueue;
FlashromRequest* req = &sFlashromRequest;
if (!SysFlashrom_IsInit()) {
return -1;
}
return MQ_IS_FULL(queue);
return MQ_IS_FULL(&req->queue);
}
s32 SysFlashrom_AwaitResult(void) {
FlashromRequest* req = &sFlashromRequest;
if (!SysFlashrom_IsInit()) {
return -1;
}
osRecvMesg(&sFlashromRequest.messageQueue, NULL, OS_MESG_BLOCK);
osRecvMesg(&req->queue, NULL, OS_MESG_BLOCK);
osDestroyThread(&sSysFlashromThread);
StackCheck_Cleanup(&sSysFlashromStackInfo);
return sFlashromRequest.response;
return req->response;
}
void SysFlashrom_WriteDataSync(void* addr, u32 pageNum, u32 pageCount) {
SysFlashrom_WriteDataAsync(addr, pageNum, pageCount);
void SysFlashrom_WriteSync(void* addr, u32 pageNum, u32 pageCount) {
SysFlashrom_WriteAsync(addr, pageNum, pageCount);
SysFlashrom_AwaitResult();
}
+43 -46
View File
@@ -1170,15 +1170,15 @@ void Sram_ResetSaveFromMoonCrash(SramContext* sramCtx) {
bzero(sramCtx->saveBuf, SAVE_BUFFER_SIZE);
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2],
gFlashSaveNumPages[gSaveContext.fileNum * 2]) != 0) {
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2 + 1],
gFlashSaveNumPages[gSaveContext.fileNum * 2 + 1]);
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2],
gFlashSaveNumPages[gSaveContext.fileNum * 2]) != 0) {
SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2 + 1],
gFlashSaveNumPages[gSaveContext.fileNum * 2 + 1]);
}
Lib_MemCpy(&gSaveContext.save, sramCtx->saveBuf, sizeof(Save));
if (CHECK_NEWF(gSaveContext.save.saveInfo.playerData.newf)) {
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2 + 1],
gFlashSaveNumPages[gSaveContext.fileNum * 2 + 1]);
SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2 + 1],
gFlashSaveNumPages[gSaveContext.fileNum * 2 + 1]);
Lib_MemCpy(&gSaveContext, sramCtx->saveBuf, sizeof(Save));
}
gSaveContext.save.cutsceneIndex = cutsceneIndex;
@@ -1235,29 +1235,27 @@ void Sram_OpenSave(FileSelectState* fileSelect, SramContext* sramCtx) {
bzero(sramCtx->saveBuf, SAVE_BUFFER_SIZE);
if (gSaveContext.fileNum == 0xFF) {
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[0], gFlashSaveNumPages[0]);
SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[0], gFlashSaveNumPages[0]);
} else if (fileSelect->isOwlSave[gSaveContext.fileNum + 2]) {
phi_t1 = gSaveContext.fileNum + 2;
phi_t1 *= 2;
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1], gFlashSaveNumPages[phi_t1]) != 0) {
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1 + 1],
gFlashSaveNumPages[phi_t1 + 1]);
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1], gFlashSaveNumPages[phi_t1]) != 0) {
SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1 + 1], gFlashSaveNumPages[phi_t1 + 1]);
}
} else {
phi_t1 = gSaveContext.fileNum;
phi_t1 *= 2;
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1], gFlashSaveNumPages[phi_t1]) != 0) {
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1 + 1],
gFlashSaveNumPages[phi_t1 + 1]);
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1], gFlashSaveNumPages[phi_t1]) != 0) {
SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1 + 1], gFlashSaveNumPages[phi_t1 + 1]);
}
}
Lib_MemCpy(&gSaveContext, sramCtx->saveBuf, gFlashSaveSizes[phi_t1]);
if (CHECK_NEWF(gSaveContext.save.saveInfo.playerData.newf)) {
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1 + 1], gFlashSaveNumPages[phi_t1 + 1]);
SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[phi_t1 + 1], gFlashSaveNumPages[phi_t1 + 1]);
Lib_MemCpy(&gSaveContext, sramCtx->saveBuf, gFlashSaveSizes[phi_t1]);
}
}
@@ -1407,12 +1405,12 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
phi_s2 = false;
sp6E = 0;
// read main save from flash
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[sp64], gFlashSaveNumPages[sp64]) != 0) {
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[sp64], gFlashSaveNumPages[sp64]) != 0) {
// main save didn't work
sp6E = 1;
// read backup save from flash
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1], gFlashSaveNumPages[sp64 + 1]) !=
0) {
// backup save didn't work
phi_s2 = true;
}
@@ -1449,8 +1447,8 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
// read backup save from flash
phi_s2 = false;
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
// backup save didn't work
phi_s2 = true;
}
@@ -1514,8 +1512,8 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
// main save
oldCheckSum = gSaveContext.save.saveInfo.checksum;
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
phi_s2 = 1;
} else {
Lib_MemCpy(&gSaveContext.save, sramCtx->saveBuf, sizeof(Save));
@@ -1526,7 +1524,7 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
if (CHECK_NEWF(gSaveContext.save.saveInfo.playerData.newf) || (sp7A != phi_s2) ||
(oldCheckSum != phi_s2)) {
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[sp64], gFlashSaveNumPages[sp64]);
SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[sp64], gFlashSaveNumPages[sp64]);
Lib_MemCpy(&gSaveContext.save, sramCtx->saveBuf, sizeof(Save));
Lib_MemCpy(&sramCtx->saveBuf[0x2000], &gSaveContext.save, sizeof(Save));
Sram_SyncWriteToFlash(sramCtx, gFlashSaveStartPages[sp64], gFlashSpecialSaveNumPages[sp64]);
@@ -1563,8 +1561,8 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
phi_s2 = false;
// read backup save from flash
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
// backup save didn't work
phi_s2 = true;
}
@@ -1628,8 +1626,8 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
// main save
oldCheckSum = gSaveContext.save.saveInfo.checksum;
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[sp64 + 1],
gFlashSaveNumPages[sp64 + 1]) != 0) {
phi_s2 = 1;
} else {
Lib_MemCpy(&gSaveContext, sramCtx->saveBuf, gFlashSaveSizes[sp64]);
@@ -1640,8 +1638,7 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
if (CHECK_NEWF(gSaveContext.save.saveInfo.playerData.newf) || (sp7A != phi_s2) ||
(oldCheckSum != phi_s2)) {
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashSaveStartPages[sp64],
gFlashSaveNumPages[sp64]);
SysFlashrom_Read(sramCtx->saveBuf, gFlashSaveStartPages[sp64], gFlashSaveNumPages[sp64]);
Lib_MemCpy(&gSaveContext, sramCtx->saveBuf, gFlashSaveSizes[sp64]);
Sram_SyncWriteToFlash(sramCtx, gFlashSaveStartPages[sp64], gFlashSaveNumPages[sp64]);
Sram_SyncWriteToFlash(sramCtx, gFlashSaveStartPages[sp64 + 1],
@@ -1740,11 +1737,11 @@ void Sram_CopySave(FileSelectState* fileSelect2, SramContext* sramCtx) {
// clear buffer
bzero(sramCtx->saveBuf, SAVE_BUFFER_SIZE);
// read to buffer
if (SysFlashrom_ReadData(&sramCtx->saveBuf[0], gFlashSaveStartPages[fileSelect->selectedFileIndex * 2],
gFlashSaveNumPages[fileSelect->selectedFileIndex * 2])) {}
if (SysFlashrom_Read(&sramCtx->saveBuf[0], gFlashSaveStartPages[fileSelect->selectedFileIndex * 2],
gFlashSaveNumPages[fileSelect->selectedFileIndex * 2])) {}
if (SysFlashrom_ReadData(&sramCtx->saveBuf[0x2000], gFlashSaveStartPages[fileSelect->selectedFileIndex * 2 + 1],
gFlashSaveNumPages[fileSelect->selectedFileIndex * 2 + 1])) {}
if (SysFlashrom_Read(&sramCtx->saveBuf[0x2000], gFlashSaveStartPages[fileSelect->selectedFileIndex * 2 + 1],
gFlashSaveNumPages[fileSelect->selectedFileIndex * 2 + 1])) {}
// copy buffer to save context
Lib_MemCpy(&gSaveContext.save, sramCtx->saveBuf, sizeof(Save));
@@ -1875,7 +1872,7 @@ void Sram_Alloc(GameState* gameState, SramContext* sramCtx) {
void Sram_SyncWriteToFlash(SramContext* sramCtx, s32 curPage, s32 numPages) {
sramCtx->curPage = curPage;
sramCtx->numPages = numPages;
SysFlashrom_WriteDataSync(sramCtx->saveBuf, curPage, numPages);
SysFlashrom_WriteSync(sramCtx->saveBuf, curPage, numPages);
}
/**
@@ -1888,8 +1885,8 @@ void Sram_SaveSpecialEnterClockTown(PlayState* play) {
gSaveContext.save.isFirstCycle = true;
gSaveContext.save.isOwlSave = false;
func_80145698(sramCtx);
SysFlashrom_WriteDataSync(sramCtx->saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2],
gFlashSpecialSaveNumPages[gSaveContext.fileNum * 2]);
SysFlashrom_WriteSync(sramCtx->saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2],
gFlashSpecialSaveNumPages[gSaveContext.fileNum * 2]);
}
/**
@@ -1910,8 +1907,8 @@ void Sram_SaveSpecialNewDay(PlayState* play) {
gSaveContext.save.day = day;
gSaveContext.save.time = time;
gSaveContext.save.cutsceneIndex = cutsceneIndex;
SysFlashrom_WriteDataSync(play->sramCtx.saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2],
gFlashSaveNumPages[gSaveContext.fileNum * 2]);
SysFlashrom_WriteSync(play->sramCtx.saveBuf, gFlashSaveStartPages[gSaveContext.fileNum * 2],
gFlashSaveNumPages[gSaveContext.fileNum * 2]);
}
void Sram_SetFlashPagesDefault(SramContext* sramCtx, u32 curPage, u32 numPages) {
@@ -1922,7 +1919,7 @@ void Sram_SetFlashPagesDefault(SramContext* sramCtx, u32 curPage, u32 numPages)
void Sram_StartWriteToFlashDefault(SramContext* sramCtx) {
// async flash write
SysFlashrom_WriteDataAsync(sramCtx->saveBuf, sramCtx->curPage, sramCtx->numPages);
SysFlashrom_WriteAsync(sramCtx->saveBuf, sramCtx->curPage, sramCtx->numPages);
sramCtx->startWriteOsTime = osGetTime();
sramCtx->status = 2;
@@ -1952,7 +1949,7 @@ void Sram_SetFlashPagesOwlSave(SramContext* sramCtx, s32 curPage, s32 numPages)
}
void Sram_StartWriteToFlashOwlSave(SramContext* sramCtx) {
SysFlashrom_WriteDataAsync(sramCtx->saveBuf, sramCtx->curPage, sramCtx->numPages);
SysFlashrom_WriteAsync(sramCtx->saveBuf, sramCtx->curPage, sramCtx->numPages);
sramCtx->startWriteOsTime = osGetTime();
sramCtx->status = 7;
@@ -1962,10 +1959,10 @@ void Sram_UpdateWriteToFlashOwlSave(SramContext* sramCtx) {
if (sramCtx->status == 7) {
if (SysFlashrom_IsBusy() != 0) { // Is task running
if (SysFlashrom_AwaitResult() == 0) { // Wait for task done
SysFlashrom_WriteDataAsync(sramCtx->saveBuf, sramCtx->curPage + 0x80, sramCtx->numPages);
SysFlashrom_WriteAsync(sramCtx->saveBuf, sramCtx->curPage + 0x80, sramCtx->numPages);
sramCtx->status = 8;
} else {
SysFlashrom_WriteDataAsync(sramCtx->saveBuf, sramCtx->curPage + 0x80, sramCtx->numPages);
SysFlashrom_WriteAsync(sramCtx->saveBuf, sramCtx->curPage + 0x80, sramCtx->numPages);
sramCtx->status = 8;
}
}
@@ -1984,7 +1981,7 @@ void Sram_UpdateWriteToFlashOwlSave(SramContext* sramCtx) {
gSaveContext.save.isOwlSave = false;
gSaveContext.save.saveInfo.checksum = 0;
// flash read to buffer then copy to save context
SysFlashrom_ReadData(sramCtx->saveBuf, sramCtx->curPage, sramCtx->numPages);
SysFlashrom_Read(sramCtx->saveBuf, sramCtx->curPage, sramCtx->numPages);
Lib_MemCpy(&gSaveContext, sramCtx->saveBuf, offsetof(SaveContext, fileNum));
}
}
@@ -2027,11 +2024,11 @@ void func_80147414(SramContext* sramCtx, s32 fileNum, s32 arg2) {
bzero(sramCtx->saveBuf, SAVE_BUFFER_SIZE);
// Read save file
if (SysFlashrom_ReadData(sramCtx->saveBuf, gFlashOwlSaveStartPages[fileNum * 2],
gFlashOwlSaveNumPages[fileNum * 2]) != 0) {
if (SysFlashrom_Read(sramCtx->saveBuf, gFlashOwlSaveStartPages[fileNum * 2], gFlashOwlSaveNumPages[fileNum * 2]) !=
0) {
// If failed, read backup save file
SysFlashrom_ReadData(sramCtx->saveBuf, gFlashOwlSaveStartPages[fileNum * 2 + 1],
gFlashOwlSaveNumPages[fileNum * 2 + 1]);
SysFlashrom_Read(sramCtx->saveBuf, gFlashOwlSaveStartPages[fileNum * 2 + 1],
gFlashOwlSaveNumPages[fileNum * 2 + 1]);
}
// Copy buffer to save context