diff --git a/src/vxWorks/db/Makefile b/src/vxWorks/db/Makefile index 24ec4af1b..6ade2044e 100644 --- a/src/vxWorks/db/Makefile +++ b/src/vxWorks/db/Makefile @@ -11,7 +11,7 @@ vxDbLib_SRCS += devLib.c vxDbLib_SRCS += devLibVxWorks.c vxDbLib_SRCS += tsSubr.c -LIBRARY_Ioc = vxDbLib +LIBRARY_vxWorks = vxDbLib include $(TOP)/configure/RULES diff --git a/src/vxWorks/db/drvTS.c b/src/vxWorks/db/drvTS.c index b0012aa50..c145fd176 100644 --- a/src/vxWorks/db/drvTS.c +++ b/src/vxWorks/db/drvTS.c @@ -13,6 +13,9 @@ /* * $Log$ + * Revision 1.32 2000/01/24 21:26:55 mrk + * new way to build + * * Revision 1.31 1999/08/26 21:36:39 jhill * fixed bug where time sync UDP client was getting in a state where * it was using the response from the previous request, and ending @@ -175,7 +178,7 @@ #include "errMdef.h" #include "drvSup.h" #include "drvTS.h" -#include "bsdSocketResource.h" +#include "osiSockResource.h" #define TSprintf epicsPrintf diff --git a/src/vxWorks/db/drvTS.h b/src/vxWorks/db/drvTS.h index 87f071372..4eefc2a92 100644 --- a/src/vxWorks/db/drvTS.h +++ b/src/vxWorks/db/drvTS.h @@ -3,6 +3,9 @@ /* * $Log$ + * Revision 1.6 1999/12/14 21:35:34 jhill + * use osiTime.h to get TS_STAMP + * * Revision 1.5 1999/11/18 13:30:07 mrk * new makefile method; moved drvTS.h to vxWorks specific code * @@ -76,7 +79,7 @@ of this distribution. #include #include -#include +#include "tsStamp.h" #ifdef TS_DRIVER #define TS_EXTERN diff --git a/src/vxWorks/dev/apsDev/Makefile b/src/vxWorks/dev/apsDev/Makefile index fcc22251f..991b00b09 100644 --- a/src/vxWorks/dev/apsDev/Makefile +++ b/src/vxWorks/dev/apsDev/Makefile @@ -7,7 +7,7 @@ INC += devApsEr.h SRCS += devApsEg.c SRCS += devApsEr.c -OBJS_IOC += $(SRCS:%.c=%.o) +OBJS_vxWorks += $(SRCS:%.c=%.o) include $(TOP)/configure/RULES diff --git a/src/vxWorks/dev/atDev/Makefile b/src/vxWorks/dev/atDev/Makefile index d965f2105..9fbdef39b 100644 --- a/src/vxWorks/dev/atDev/Makefile +++ b/src/vxWorks/dev/atDev/Makefile @@ -5,7 +5,7 @@ include $(TOP)/configure/CONFIG SRCS += devAt5Vxi.c SRCS += devAt8Fp.c -OBJS_IOC += $(SRCS:%.c=%.o) +OBJS_vxWorks += $(SRCS:%.c=%.o) include $(TOP)/configure/RULES diff --git a/src/vxWorks/dev/compumotorDev/Makefile b/src/vxWorks/dev/compumotorDev/Makefile index 4557dee9d..70dbb588c 100644 --- a/src/vxWorks/dev/compumotorDev/Makefile +++ b/src/vxWorks/dev/compumotorDev/Makefile @@ -4,7 +4,7 @@ include $(TOP)/configure/CONFIG SRCS += devSmCompumotor1830.c -OBJS_IOC = $(SRCS:%.c=%.o) +OBJS_vxWorks += $(SRCS:%.c=%.o) include $(TOP)/configure/RULES diff --git a/src/vxWorks/dev/gpibDev/Makefile b/src/vxWorks/dev/gpibDev/Makefile index 5838d1a59..241f8925f 100644 --- a/src/vxWorks/dev/gpibDev/Makefile +++ b/src/vxWorks/dev/gpibDev/Makefile @@ -6,7 +6,7 @@ INC += devCommonGpib.h SRCS += devCommonGpib.c -OBJS_IOC += $(SRCS:%.c=%.o) +OBJS_vxWorks += $(SRCS:%.c=%.o) include $(TOP)/configure/RULES diff --git a/src/vxWorks/dev/joergerDev/Makefile b/src/vxWorks/dev/joergerDev/Makefile index 6742e8b29..a793bbfb0 100644 --- a/src/vxWorks/dev/joergerDev/Makefile +++ b/src/vxWorks/dev/joergerDev/Makefile @@ -4,7 +4,7 @@ include $(TOP)/configure/CONFIG SRCS += devWfJoergerVtr1.c -OBJS_IOC += $(SRCS:%.c=%.o) +OBJS_vxWorks += $(SRCS:%.c=%.o) include $(TOP)/configure/RULES diff --git a/src/vxWorks/devOpt/Makefile b/src/vxWorks/devOpt/Makefile index 8d54a390a..a32b7ed3a 100644 --- a/src/vxWorks/devOpt/Makefile +++ b/src/vxWorks/devOpt/Makefile @@ -12,9 +12,9 @@ SRCS+= devXxDc5009Gpib.c SRCS+= devXxK263Gpib.c SRCS+= devXxSkeletonGpib.c -PROD += $(SRCS:%.c=%.o) +OBJS_vxWorks += $(SRCS:%.c=%.o) -LIBRARY += devLibOpt +LIBRARY_vxWorks += devLibOpt include $(TOP)/configure/RULES diff --git a/src/vxWorks/drv/ansi/Makefile b/src/vxWorks/drv/ansi/Makefile index 288018683..4d8397c09 100644 --- a/src/vxWorks/drv/ansi/Makefile +++ b/src/vxWorks/drv/ansi/Makefile @@ -11,20 +11,20 @@ INC += drvMz8310.h INC += drvStc.h INC += epvxi.h -SRCS.c += ../drvAt5Vxi.c -SRCS.c += ../drvEpvxi.c -SRCS.c += ../drvEpvxiMsg.c -SRCS.c += ../drvHp1404a.c -SRCS.c += ../drvHpe1368a.c -SRCS.c += ../drvHpe1445a.c -SRCS.c += ../drvKscV215.c -SRCS.c += ../drvMz8310.c -SRCS.c += ../drvStc.c -#SRCS.c += ../drvCaenV265.c +SRCS += drvAt5Vxi.c +SRCS += drvEpvxi.c +SRCS += drvEpvxiMsg.c +SRCS += drvHp1404a.c +SRCS += drvHpe1368a.c +SRCS += drvHpe1445a.c +SRCS += drvKscV215.c +SRCS += drvMz8310.c +SRCS += drvStc.c +#SRCS += drvCaenV265.c -#SRCS.c += ../drvVmic2534.c +#SRCS += drvVmic2534.c -PROD += $(SRCS.c:../%.c=%.o) +OBJS_vxWorks += $(SRCS:%.c=%.o) MAN3 = drvEpvxi.3 diff --git a/src/vxWorks/drv/old/Makefile b/src/vxWorks/drv/old/Makefile index 4a97a2912..af084247f 100644 --- a/src/vxWorks/drv/old/Makefile +++ b/src/vxWorks/drv/old/Makefile @@ -25,25 +25,25 @@ INC += drvOms.h INC += steppermotor.h -SRCS += ../module_types.c -SRCS += ../drvBb902.c -SRCS += ../drvBb910.c -SRCS += ../drvComet.c -SRCS += ../drvCompuSm.c -SRCS += ../drvDvx.c -SRCS += ../drvFp.c -SRCS += ../drvFpm.c -SRCS += ../drvGpib.c -SRCS += ../drvJgvtr1.c -SRCS += ../drvOms.c -SRCS += ../drvVmi4100.c -SRCS += ../drvXy010.c -SRCS += ../drvXy210.c -SRCS += ../drvXy220.c -SRCS += ../drvXy240.c -SRCS += ../drvXy566.c +SRCS += module_types.c +SRCS += drvBb902.c +SRCS += drvBb910.c +SRCS += drvComet.c +SRCS += drvCompuSm.c +SRCS += drvDvx.c +SRCS += drvFp.c +SRCS += drvFpm.c +SRCS += drvGpib.c +SRCS += drvJgvtr1.c +SRCS += drvOms.c +SRCS += drvVmi4100.c +SRCS += drvXy010.c +SRCS += drvXy210.c +SRCS += drvXy220.c +SRCS += drvXy240.c +SRCS += drvXy566.c -PROD += $(SRCS:../%.c=%.o) +OBJS_vxWorks += $(SRCS:%.c=%.o) include $(TOP)/configure/RULES diff --git a/src/vxWorks/drv/old/drvComet.c b/src/vxWorks/drv/old/drvComet.c index 483bab6ec..d144236f9 100644 --- a/src/vxWorks/drv/old/drvComet.c +++ b/src/vxWorks/drv/old/drvComet.c @@ -72,14 +72,15 @@ static char *sccsID = "@(#)drvComet.c 1.11\t9/16/92"; #include #include #include -#include -#include -#include #include -#include -#include -#include -#include + +#include "module_types.h" +#include "task_params.h" +#include "fast_lock.h" +#include "drvSup.h" +#include "dbDefs.h" +#include "dbScan.h" +#include "taskwd.h" #define COMET_NCHAN 4 #define COMET_CHANNEL_MEM_SIZE 0x20000 /* bytes */ diff --git a/src/vxWorks/include/fast_lock.h b/src/vxWorks/include/fast_lock.h index c987daa15..1925eef00 100644 --- a/src/vxWorks/include/fast_lock.h +++ b/src/vxWorks/include/fast_lock.h @@ -69,123 +69,26 @@ #include #endif -/* - * Macro equivalent of vxWorks glue for better performance - */ -#ifdef VRTX_KERNEL -# define semGive(SEMID)\ - { if ((SEMID)->count == 0)vrtxPost (&((SEMID)->count), 1); } -# define semTake(SEMID)\ - {int dummy; vrtxPend (&((SEMID)->count), 0, &dummy); } -#endif +#define FAST_LOCK SEM_ID -typedef struct{ - SEM_ID ppend; /* wait for lock sem */ - unsigned short count; /* cnt of tasks waiting for lock */ - unsigned char lock; /* test and set lock bit */ - char pad; /* structure alignment */ -}FAST_LOCK; - -#define SEM_FAST_LOCK - -#if defined(SEM_FAST_LOCK) /* no lock test */ #define FASTLOCKINIT(PFAST_LOCK)\ - (((FAST_LOCK *)(PFAST_LOCK))->ppend = \ + (*(PFAST_LOCK) = \ semMCreate(SEM_DELETE_SAFE|SEM_INVERSION_SAFE|SEM_Q_PRIORITY)) #define FASTLOCKFREE(PFAST_LOCK)\ - semDelete( ((FAST_LOCK *)(PFAST_LOCK))->ppend ) + semDelete(*(PFAST_LOCK)) #define FASTLOCK(PFAST_LOCK)\ - semTake(((FAST_LOCK *)(PFAST_LOCK))->ppend, WAIT_FOREVER); + semTake(*(PFAST_LOCK), WAIT_FOREVER); #define FASTUNLOCK(PFAST_LOCK)\ - semGive(((FAST_LOCK *)(PFAST_LOCK))->ppend); + semGive(*(PFAST_LOCK)) #define FASTLOCKNOWAIT(PFAST_LOCK) \ - ((semTake(((FAST_LOCK *)(PFAST_LOCK))->ppend,NO_WAIT)==0) ? TRUE : FALSE) + (semTake(*(PFAST_LOCK),NO_WAIT)==0) ? TRUE : FALSE) #define FASTLOCKTEST(PFAST_LOCK) \ (\ - (semTake(((FAST_LOCK *)(PFAST_LOCK))->ppend,NO_WAIT)==0 )\ - ? (semGive(((FAST_LOCK *)(PFAST_LOCK))->ppend),FALSE)\ - : TRUE \ + (semTake(*(PFAST_LOCK),NO_WAIT)==0 )\ + ? (semGive(*(PFAST_LOCK),FALSE)\ + : TRUE) \ ) - - -#elif defined(TASK_LOCK_FAST_LOCK) - -#define FASTLOCKINIT(PFAST_LOCK)\ - (\ - ((FAST_LOCK *)(PFAST_LOCK))->count =0, \ - ((FAST_LOCK *)(PFAST_LOCK))->lock =0, \ - ((FAST_LOCK *)(PFAST_LOCK))->ppend = \ - semBCreate(SEM_Q_PRIORITY, SEM_EMPTY) \ - ) -#define FASTLOCKFREE(PFAST_LOCK)\ - semDelete( ((FAST_LOCK *)(PFAST_LOCK))->ppend ) - -#define FASTLOCK(PFAST_LOCK)\ - {\ - TASK_LOCK;\ - while( ((FAST_LOCK *)(PFAST_LOCK))->lock ){\ - ((FAST_LOCK *)(PFAST_LOCK))->count++;\ - TASK_UNLOCK;\ - semTake(((FAST_LOCK *)(PFAST_LOCK))->ppend, WAIT_FOREVER);\ - TASK_LOCK;\ - (((FAST_LOCK *)(PFAST_LOCK))->count)--;\ - }\ - ((FAST_LOCK *)(PFAST_LOCK))->lock= TRUE; - TASK_UNLOCK; - } - -#define FASTUNLOCK(PFAST_LOCK)\ - {\ - ((FAST_LOCK *)(PFAST_LOCK))->lock = FALSE;\ - if( ((FAST_LOCK *)(PFAST_LOCK))->count )\ - semGive(((FAST_LOCK *)(PFAST_LOCK))->ppend);\ - }; - -#define FASTLOCKTEST(PFAST_LOCK)\ -( ((FAST_LOCK *)(PFAST_LOCK))->lock ) - -#else /* vxTas() fast lock */ - -/* - * extra paren avoids order of ops problems - * (returns what semBCreate returns on v5 vxWorks) - */ -#define FASTLOCKINIT(PFAST_LOCK)\ - (\ - ((FAST_LOCK *)(PFAST_LOCK))->count =0, \ - ((FAST_LOCK *)(PFAST_LOCK))->lock =0, \ - ((FAST_LOCK *)(PFAST_LOCK))->ppend = \ - semBCreate(SEM_Q_PRIORITY, SEM_EMPTY) \ - ) - -/* - * new requirement with v5 vxWorks - */ -#define FASTLOCKFREE(PFAST_LOCK)\ - semDelete( ((FAST_LOCK *)(PFAST_LOCK))->ppend ) - -#define FASTLOCK(PFAST_LOCK)\ - {\ - ((FAST_LOCK *)(PFAST_LOCK))->count++;\ - while(!vxTas( (char *)&( ((FAST_LOCK *)(PFAST_LOCK))->lock ) ))\ - semTake(((FAST_LOCK *)(PFAST_LOCK))->ppend, WAIT_FOREVER);\ - ( ((FAST_LOCK *)(PFAST_LOCK))->count)--;\ - } - -#define FASTUNLOCK(PFAST_LOCK)\ - {\ - ((FAST_LOCK *)(PFAST_LOCK))->lock = FALSE;\ - if( ((FAST_LOCK *)(PFAST_LOCK))->count )\ - semGive(((FAST_LOCK *)(PFAST_LOCK))->ppend);\ - }; - -#define FASTLOCKNOWAIT(PFAST_LOCK) (vxTas((char *)&(((FAST_LOCK *)(PFAST_LOCK))->lock))) - -#define FASTLOCKTEST(PFAST_LOCK)\ -( ((FAST_LOCK *)(PFAST_LOCK))->lock ) - -#endif #endif /* Nothing after this endif */ diff --git a/src/vxWorks/libvxWorks/Makefile b/src/vxWorks/libvxWorks/Makefile index 6fbda618c..b688dc0a5 100644 --- a/src/vxWorks/libvxWorks/Makefile +++ b/src/vxWorks/libvxWorks/Makefile @@ -4,10 +4,9 @@ include $(TOP)/configure/CONFIG INC += epicsDynLink.h -SRCS += iocLogClient.c -SRCS += veclist.c -SRCS += epicsDynLink.c +vxComLib_SRCS += veclist.c +vxComLib_SRCS += epicsDynLink.c -LIBRARY += vxComLib +LIBRARY_vxWorks += vxComLib include $(TOP)/configure/RULES