Make write via waiting buf

This commit is contained in:
2026-04-12 16:33:57 +03:00
parent d039b9a5b8
commit 65e7b45861
3 changed files with 12 additions and 46 deletions

View File

@@ -52,12 +52,6 @@ void freeDevSpec(void* _specs)
device_mem_t* genDevMem(device_specs_t* devSpec, char* errbuf)
{
if (devSpec->memSpecsCount < 2)
{
sprintf(errbuf, "invalid amount of mem specs: %u", devSpec->memSpecsCount);
return NULL;
}
device_mem_t* devMem = (device_mem_t*)calloc(1, sizeof(device_mem_t));
if (devMem == NULL)
{
@@ -157,7 +151,6 @@ device_mem_t* genDevMem(device_specs_t* devSpec, char* errbuf)
}
uint8_t* memwriteCellSegments = calloc(MEM_ACCESS_INTERCEPT_BUF_SIZE, sizeof(uint8_t));
if(memwriteCellSegments == NULL)
{
sprintf(errbuf, "unable to allocate write interception addrs");
@@ -229,8 +222,7 @@ device_mem_t* genDevMem(device_specs_t* devSpec, char* errbuf)
uint64_t smartAddrWriteMask = 0;
mem_h_read_handler* smartAddrReadHandlers = calloc(memTotalSize, sizeof(mem_h_read_handler));
if (smartAddrReadHandlers == NULL)
if(memwriteCellSegments == NULL)
{
sprintf(errbuf, "unable to allocate read interception handlers");
free(devMem->memsegShifts);
@@ -258,13 +250,13 @@ device_mem_t* genDevMem(device_specs_t* devSpec, char* errbuf)
free(devMem);
free(rawCells);
free(memreadCellAddrs);
free(cells);
free(cellNames);
free(memwriteCellAddrs);
free(memwriteCellSegments);
free(memwriteValues);
free(memwriteValuesContainers);
free(memwriteWordLengths);
free(cells);
free(cellNames);
return NULL;
}