move the tests under the debug folder
[AROS.git] / debug / test / smp / smp-test / work.h
blobf7b064f949c5fbc19fb108d8d19622b7fe82be84
1 /*
2 Copyright © 2017, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #include <aros/types/spinlock_s.h>
7 #include <exec/tasks.h>
8 #include <exec/ports.h>
10 struct SMPMaster
12 IPTR smpm_WorkerCount;
13 struct List smpm_Workers;
14 struct Task *smpm_Master;
15 struct MsgPort *smpm_MasterPort;
16 ULONG *smpm_WorkBuffer;
17 UWORD smpm_Width;
18 UWORD smpm_Height;
19 spinlock_t smpm_Lock;
20 ULONG smpm_MaxWork;
21 ULONG smpm_Oversample;
22 BOOL smpm_Buddha;
25 struct SMPWorker
27 struct Node smpw_Node;
28 struct Task *smpw_Task;
29 struct MsgPort *smpw_MasterPort;
30 struct MsgPort *smpw_MsgPort;
31 struct Task *smpw_SyncTask;
32 spinlock_t *smpw_Lock;
33 ULONG smpw_MaxWork;
34 ULONG smpw_Oversample;
37 struct SMPWorkMessage
39 struct Message smpwm_Msg;
40 IPTR smpwm_Type;
41 ULONG *smpwm_Buffer;
42 ULONG smpwm_Width;
43 ULONG smpwm_Height;
44 ULONG smpwm_Start;
45 ULONG smpwm_End;
46 spinlock_t *smpwm_Lock;
49 #define SPMWORKTYPE_FINISHED (1 << 0)
50 #define SPMWORKTYPE_MANDLEBROT (1 << 1)
51 #define SPMWORKTYPE_BUDDHA (1 << 2)
53 void SMPTestMaster(struct ExecBase *);
54 void SMPTestWorker(struct ExecBase *);