Driver updated to version 2.9

Changes: better Envoy support
This commit is contained in:
Henryk Richter
2020-08-24 13:08:14 +02:00
parent 131a875a37
commit 67121e1ae6
8 changed files with 39 additions and 11 deletions
+3
View File
@@ -67,6 +67,9 @@ PRIORITY=PRI/K/N,BPS/K/N,MTU/K/N,FULLDUPLEX/S,FLOWCONTROL/S,TIMER/K/N,MULTICAST/
Changelog:
----------
2.9 - better support for Envoy: automatically select a higher
task priority in presence of Envoy services
2.8 - some workarounds for Fusion
2.7 - fixed MuForce hit
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+33 -8
View File
@@ -98,8 +98,7 @@ const ULONG blub[6] = {
/* #define D2(x) D(x) */
/* #define D4(x) D(x) */
#define HIGHPRI 11
ASM SAVEDS struct Device *DevInit( ASMR(d0) DEVBASEP ASMREG(d0),
@@ -807,31 +806,57 @@ static LONG dbIsInList( struct List *l, struct Node *entry )
return 0;
}
/* Workaround for Envoy: assign higher priority to server task */
LONG Need_HighPri( DEVBASEP )
{
/* don't bother if we are at HIGHPRI already */
if( db->db_ServerProc )
{
if( ((struct Task*)db->db_ServerProc)->tc_Node.ln_Pri >= HIGHPRI )
return 0;
}
if( FindPort("Services Manager") )
return 1;
if( FindPort("Accounts Manager") )
return 1;
return 0;
}
/* start Server function and keep it up */
/* note: server is global right now */
static LONG dbStartServer( DEVBASEP, LONG unit )
{
struct MsgPort *port;
LONG ret = 0,i;
LONG ret = 0,i,pri;
struct TagItem sv_tags[5];
/* server running ? */
if( db->db_ServerProc )
{
if( Need_HighPri( db ) )
SetTaskPri((struct Task*)db->db_ServerProc,HIGHPRI);
return 1;
}
if(!(port = CreateMsgPort() ))
return 0;
pri = 0;
if( Need_HighPri( db ) )
pri = HIGHPRI;
else
if( FindPort("AMITCP") ) /* AmiTCP active ? */
pri = 6;
sv_tags[i=0].ti_Tag = NP_Entry;
sv_tags[i++].ti_Data = (ULONG)ServerTask;
sv_tags[i ].ti_Tag = NP_Name;
sv_tags[i++].ti_Data = (ULONG)db->db_Lib.lib_Node.ln_Name;
sv_tags[i ].ti_Tag = NP_Priority;
if( FindPort("AMITCP") ) /* AmiTCP active ? */
sv_tags[i++].ti_Data = (ULONG)6;
else
sv_tags[i++].ti_Data = (ULONG)0;
sv_tags[i++].ti_Data = (ULONG)pri;
sv_tags[i ].ti_Tag = TAG_DONE;
if( (db->db_ServerProc = CreateNewProc(sv_tags)))
+2 -2
View File
@@ -9,9 +9,9 @@
#define _INC_VERSION_H
#define DEVICEVERSION 2
#define DEVICEREVISION 8
#define DEVICEREVISION 9
#define DEVICEEXTRA
/* #define DEVICEEXTRA Beta */
#define DEVICEDATE 25.05.20
#define DEVICEDATE 23.08.20
#endif
+1 -1
View File
@@ -2,5 +2,5 @@ These are the AmigaOS drivers for the subsystems of the board.
The recommended SANA-II driver for the Ethernet port is located in "baxnet".
Please use enc624j6net.device from baxnet/bin on MC68020 or faster CPUs. A cut-down version for 68000 and 68010 is provided as well. Please rename enc624j6net.device_68000 to enc624j6net.device before copying it to DEVS:Networks.