Generate README.md, add clock dividers and limiters, load configs from WS client, fix stream per-segment subscriptions according to memory projections mechanism
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
#define __BASE_DEVICE_H__
|
||||
|
||||
#include "hmmmm.h"
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct {
|
||||
void* specs;
|
||||
@@ -9,6 +10,7 @@ typedef struct {
|
||||
device_public_context_t* ctx;
|
||||
uint64_t clockCycleLimit;
|
||||
uint64_t clockCycleCounter;
|
||||
uint64_t clockDivider;
|
||||
} device_handle_t;
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define __CONTEXT_H__
|
||||
|
||||
#include <pthread.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "ptQueue/inc/ptQueue.h"
|
||||
#include "wsServer/include/ws.h"
|
||||
@@ -30,11 +31,13 @@ typedef struct {
|
||||
OutgoingBuffers* outBufs;
|
||||
DeviceSegStreamReg** deviceStreamRegs;
|
||||
uint8_t** devicesMem;
|
||||
size_t** devicesMemSegAddrs;
|
||||
size_t devicesCount;
|
||||
void** deviceHandles; // device_handle_t** — dynamically loaded devices
|
||||
void* interceptCtxs; // contiguous intercept_ctx_t array (freed as single block)
|
||||
size_t interceptCtxCount;
|
||||
flatcc_builder_t stream_builder;
|
||||
uint64_t simRateLimit;
|
||||
} EmulContext;
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,9 @@
|
||||
typedef struct {
|
||||
ClientContext* clientContext;
|
||||
uint32_t regId;
|
||||
uint32_t segId;
|
||||
uint64_t startAddr;
|
||||
uint64_t startGlobalAddr;
|
||||
uint64_t segLen;
|
||||
uint8_t mode;
|
||||
} StreamReg;
|
||||
|
||||
Reference in New Issue
Block a user