Files
haikuports/dev-embedded/ec2drv/patches/ec2drv-20250614.patchset
2025-08-30 23:11:43 -03:00

545 lines
18 KiB
Plaintext

From bede3c632660efd91b18d40db2425865869bd47b Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 12 Aug 2018 15:24:24 +0200
Subject: Do not use "read_port"
It overrides the kernel kit one, making everything crash on startup, of
course.
diff --git a/src/devel-tools/playback-comms.cpp b/src/devel-tools/playback-comms.cpp
index f9de0a3..2652d0b 100644
--- a/src/devel-tools/playback-comms.cpp
+++ b/src/devel-tools/playback-comms.cpp
@@ -94,7 +94,7 @@ void Ec2Sim::go()
{
cout << "waiting for : ";
print_vec( mSimData[i].tx );
- while(!read_port( buf,mSimData[i].tx.size()) );
+ while(!read_ec2_port( buf,mSimData[i].tx.size()) );
for(unsigned int j=0; j<mSimData[i].rx.size(); j++)
buf[j] = mSimData[i].rx[j];
@@ -103,7 +103,7 @@ void Ec2Sim::go()
while(1)
{
- while(!read_port( buf,0x0C) );
+ while(!read_ec2_port( buf,0x0C) );
}
}
@@ -178,16 +178,16 @@ bool Ec2Sim::write_port( char *buf, int len )
return true;
}
-int Ec2Sim::read_port_ch()
+int Ec2Sim::read_ec2_port_ch()
{
char ch;
- if( read_port( &ch, 1 ) )
+ if( read_ec2_port( &ch, 1 ) )
return ch;
else
return -1;
}
-bool Ec2Sim::read_port( char *buf, int len )
+bool Ec2Sim::read_ec2_port( char *buf, int len )
{
fd_set input;
struct timeval timeout;
diff --git a/src/devel-tools/playback-comms.h b/src/devel-tools/playback-comms.h
index 38aa60e..ff8396a 100644
--- a/src/devel-tools/playback-comms.h
+++ b/src/devel-tools/playback-comms.h
@@ -31,8 +31,8 @@ protected:
bool write_port_ch( char ch );
bool write_port( char *buf, int len );
- int read_port_ch();
- bool read_port( char *buf, int len );
+ int read_ec2_port_ch();
+ bool read_ec2_port( char *buf, int len );
void rx_flush();
void tx_flush();
void close_port();
diff --git a/src/ec2drv/boot.c b/src/ec2drv/boot.c
index e3cac94..c4d1f6d 100644
--- a/src/ec2drv/boot.c
+++ b/src/ec2drv/boot.c
@@ -15,7 +15,7 @@ uint8_t boot_run_app( EC2DRV *obj )
DUMP_FUNC();
uint8_t fw_ver;
write_port(obj,"\x06\x00\x00",3);
- fw_ver = read_port_ch(obj);
+ fw_ver = read_ec2_port_ch(obj);
DUMP_FUNC_END();
return fw_ver;
}
@@ -27,7 +27,7 @@ uint8_t boot_get_version( EC2DRV *obj )
{
DUMP_FUNC();
write_port(obj,"\x00\x00\x00",3);
- obj->boot_ver = read_port_ch(obj);
+ obj->boot_ver = read_ec2_port_ch(obj);
DUMP_FUNC_END();
return obj->boot_ver;
}
@@ -102,7 +102,7 @@ BOOL boot_write_flash_page( EC2DRV *obj, uint8_t *buf, BOOL do_xor )
{
write_port(obj,(char*)out_buf,512);
}
- read_port_ch(obj); // 0x00
+ read_ec2_port_ch(obj); // 0x00
// printf("local_csum = 0x%04x, remote_csum=0x%04x\n",local_csum, boot_calc_page_cksum(obj));
BOOL r = boot_calc_page_cksum(obj) == local_csum;
DUMP_FUNC_END();
@@ -124,7 +124,7 @@ uint8_t boot_read_byte( EC2DRV *obj, uint16_t addr )
cmd[1] = (addr>>8) & 0xff;
cmd[2] = addr & 0xff;
write_port(obj,cmd,3);
- while(!read_port(obj,(char*)&c,1))
+ while(!read_ec2_port(obj,(char*)&c,1))
write_port(obj,cmd,3);
DUMP_FUNC_END();
return c;
@@ -141,7 +141,7 @@ uint16_t boot_calc_page_cksum( EC2DRV *obj )
char buf[2];
uint16_t cksum;
write_port(obj,"\x04\x00\x00",3);
- read_port(obj,buf,2);
+ read_ec2_port(obj,buf,2);
cksum = (buf[0]&0xff)<<8 | (buf[1]&0xff);
// printf("checksum = 0x%04x\n",cksum);
DUMP_FUNC();
diff --git a/src/ec2drv/c2_mode.c b/src/ec2drv/c2_mode.c
index 89e306a..530aa6e 100644
--- a/src/ec2drv/c2_mode.c
+++ b/src/ec2drv/c2_mode.c
@@ -16,7 +16,7 @@ uint8_t c2_special_read( EC2DRV *obj, uint8_t sfr)
cmd[2] = 1;
write_port( obj, (char*)cmd, 3 );
- read_port( obj, (char*)buf, 2 ); // +1 for 0x0d
+ read_ec2_port( obj, (char*)buf, 2 ); // +1 for 0x0d
return buf[0];
}
@@ -32,7 +32,7 @@ void c2_special_write( EC2DRV *obj, uint8_t sfr, uint8_t value )
cmd[2] = 1;
cmd[3] = value & 0xff;
write_port( obj, (char*)cmd, 4 );
- read_port( obj, (char*)buf, 1 ); // +1 for 0x0d
+ read_ec2_port( obj, (char*)buf, 1 ); // +1 for 0x0d
}
/** Perform opperations necessary before any flash write or erase
@@ -176,7 +176,7 @@ uint16_t c2_device_id( EC2DRV *obj )
// this appeared in new versions of IDE but seems to have no effect for F310
// EC2 chokes on this!!!! trx(obj,"\xfe\x08",2,"\x0d",1);
write_port( obj,"\x22", 1 ); // request device id (C2 mode)
- read_port( obj, buf, 3 );
+ read_ec2_port( obj, buf, 3 );
return buf[0]<<8 | buf[1];
}
@@ -187,7 +187,7 @@ uint16_t c2_derivative_id( EC2DRV *obj )
// ec2_target_halt(obj); // halt needed otherwise device may return garbage!
write_port(obj,"\x23",1);
- read_port(obj,buf,3);
+ read_ec2_port(obj,buf,3);
dev_id = buf[1];
// print_buf( buf,3);
// ec2_target_halt(obj); // halt needed otherwise device may return garbage!
@@ -225,7 +225,7 @@ void c2_erase_flash( EC2DRV *obj )
printf("Start erase3\n");
write_port( obj, "\x3C",1); // Erase entire device
printf("Start erase4\n");
- read_port_ch(obj); // 0x0d
+ read_ec2_port_ch(obj); // 0x0d
printf("Start erase5\n");
flash_write_post(obj);
printf("Start erase6\n");
@@ -504,7 +504,7 @@ BOOL c2_read_flash( EC2DRV *obj, uint8_t *buf, uint32_t start_addr, int len, BOO
cmd[2] = high;
cmd[3] = l;
write_port( obj, (char*)cmd, 4 );
- read_port( obj, (char*)buf+i, cmd[3]+1 ); // +1 for 0x0d
+ read_ec2_port( obj, (char*)buf+i, cmd[3]+1 ); // +1 for 0x0d
if (buf[i+cmd[3]] != 0x0d)
return FALSE;
i+=l;
@@ -563,7 +563,7 @@ BOOL c2_read_xdata_emif( EC2DRV *obj, char *buf, int start_addr, int len )
block_len = (len-cnt)>block_len_max ? block_len_max : len-cnt;
cmd[3] = block_len;
write_port( obj, cmd, 4 );
- read_port( obj, buf+cnt, block_len+1 ); // +1 for 0x0d terminator ///@FIXME do we need to read one extra here for 0x0d?
+ read_ec2_port( obj, buf+cnt, block_len+1 ); // +1 for 0x0d terminator ///@FIXME do we need to read one extra here for 0x0d?
addr += block_len;
cnt += block_len;
}
@@ -610,7 +610,7 @@ BOOL c2_read_xdata_F350( EC2DRV *obj, char *buf, int start_addr, int len )
cmd[2] = 0x00;
cmd[3] = (len-ofs)>=max_read_len ? max_read_len : (len-ofs);
write_port( obj, (char*)cmd, 4 );
- read_port( obj, (char*)buf+ofs, cmd[3]+1 ); // for 0x0d terminator
+ read_ec2_port( obj, (char*)buf+ofs, cmd[3]+1 ); // for 0x0d terminator
}
// restore SFR page register
@@ -667,12 +667,12 @@ BOOL c2_write_xdata_emif( EC2DRV *obj, char *buf, int start_addr, int len )
// split write over 2 USB writes
write_port( obj, cmd, 0x3f );
write_port( obj, &cmd[cmd_len+0x3b], 1 );
- ok |= (read_port_ch( obj)=='\x0d');
+ ok |= (read_ec2_port_ch( obj)=='\x0d');
}
else
{
write_port( obj, cmd, block_len + cmd_len );
- ok |= (read_port_ch( obj)=='\x0d');
+ ok |= (read_ec2_port_ch( obj)=='\x0d');
}
addr += block_len;
cnt += block_len;
@@ -694,9 +694,9 @@ void c2_read_ram( EC2DRV *obj, char *buf, int start_addr, int len )
//T 28 24 02 R 7C 00
//T 28 26 02 R 00 00
write_port( obj,"\x28\x24\x02",3 );
- read_port( obj, &tmp[0], 2);
+ read_ec2_port( obj, &tmp[0], 2);
write_port( obj,"\x28\x26\x02",3 );
- read_port( obj, &tmp[2], 2);
+ read_ec2_port( obj, &tmp[2], 2);
if( start_addr<3 )
{
memcpy( &buf[0], &tmp[start_addr], 3-start_addr );
@@ -716,7 +716,7 @@ void c2_read_ram_sfr( EC2DRV *obj, char *buf, int start_addr, int len, BOOL sfr
cmd[1] = start_addr+i;
cmd[2] = len-i >= block_len ? block_len : len-i;
write_port( obj, (char*)cmd, 3 );
- read_port( obj, buf+i, cmd[2] );
+ read_ec2_port( obj, buf+i, cmd[2] );
}
}
@@ -842,12 +842,12 @@ BOOL c2_write_xdata_F35x( EC2DRV *obj, char *buf, int start_addr, int len )
// split write over 2 USB writes
write_port( obj, cmd, 0x3f );
write_port( obj, &cmd[cmd_len+0x3b], 1 );
- ok |= (read_port_ch( obj)=='\x0d');
+ ok |= (read_ec2_port_ch( obj)=='\x0d');
}
else
{
write_port( obj, cmd, block_len + cmd_len );
- ok |= (read_port_ch( obj)=='\x0d');
+ ok |= (read_ec2_port_ch( obj)=='\x0d');
}
addr += block_len;
cnt += block_len;
@@ -1026,7 +1026,7 @@ BOOL c2_target_halt_poll( EC2DRV *obj )
char buf[2];
write_port( obj, "\x27", 1 );
//write_port( obj, "\x27\x00", 2 );
- read_port( obj, buf, 2 );
+ read_ec2_port( obj, buf, 2 );
return buf[0]==0x01; // 01h = stopped, 00h still running
}
diff --git a/src/ec2drv/ec2drv.c b/src/ec2drv/ec2drv.c
index c5c9923..b74888f 100644
--- a/src/ec2drv/ec2drv.c
+++ b/src/ec2drv/ec2drv.c
@@ -29,6 +29,7 @@
#include <errno.h> // Error number definitions
#include <termios.h> // POSIX terminal control definitions
#include <sys/ioctl.h>
+#include <sys/select.h>
#include "ec2drv.h"
#include "config.h"
#include "boot.h"
@@ -1167,7 +1168,7 @@ void read_active_regs( EC2DRV *obj, char *buf )
// R0-R1
write_port( obj, "\x02\x02\x24\x02", 4 );
- read_port( obj, &buf[0], 2 );
+ read_ec2_port( obj, &buf[0], 2 );
}
/** Read the targets program counter
@@ -1182,12 +1183,12 @@ uint16_t ec2_read_pc( EC2DRV *obj )
if( obj->mode==JTAG )
{
write_port( obj, "\x02\x02\x20\x02", 4 );
- read_port( obj, (char*)buf, 2 );
+ read_ec2_port( obj, (char*)buf, 2 );
}
else if( obj->mode==C2 )
{
write_port( obj, "\x28\x20\x02", 3 );
- read_port( obj, (char*)buf, 2 );
+ read_ec2_port( obj, (char*)buf, 2 );
}
return ((buf[1]<<8) | buf[0]);
}
@@ -1242,7 +1243,7 @@ uint16_t ec2_step( EC2DRV *obj )
trx( obj, "\x13\x00", 2, "\x01", 1 ); // very similar to 1/2 a target_halt command, test to see if stopped...
write_port( obj, "\x02\x02\x20\x02", 4 );
- read_port( obj, buf, 2 );
+ read_ec2_port( obj, buf, 2 );
return (uint8_t)buf[0] | ((uint8_t)buf[1]<<8);
}
else if( obj->mode==C2 )
@@ -1730,7 +1731,7 @@ BOOL trx( EC2DRV *obj, char *txbuf, int txlen, char *rxexpect, int rxlen )
{
char rxbuf[256];
write_port( obj, txbuf, txlen );
- if( read_port( obj, rxbuf, rxlen ) )
+ if( read_ec2_port( obj, rxbuf, rxlen ) )
return memcmp( rxbuf, rxexpect, rxlen )==0 ? TRUE : FALSE;
else
return FALSE;
@@ -1857,7 +1858,7 @@ BOOL write_port( EC2DRV *obj, char *buf, int len )
}
}
-int read_port_ch( EC2DRV *obj )
+int read_ec2_port_ch( EC2DRV *obj )
{
if( obj->dbg_adaptor==EC3 )
{
@@ -1866,7 +1867,7 @@ int read_port_ch( EC2DRV *obj )
else
{
char ch;
- if( read_port( obj, &ch, 1 ) )
+ if( read_ec2_port( obj, &ch, 1 ) )
return ch;
else
return -1;
@@ -1879,9 +1880,9 @@ int read_port_ch( EC2DRV *obj )
\param len Number of bytes to read.
\returns TRUE on success, FALSE on timeout ro failure.
*/
-BOOL read_port( EC2DRV *obj, char *buf, int len )
+BOOL read_ec2_port( EC2DRV *obj, char *buf, int len )
{
- return read_port_tm( obj, buf, len, 100000 );
+ return read_ec2_port_tm( obj, buf, len, 100000 );
}
@@ -1892,7 +1893,7 @@ BOOL read_port( EC2DRV *obj, char *buf, int len )
\param ms Number of milliseconds beefore a timeout will occur.
\returns TRUE on success, FALSE on timeout ro failure.
*/
-BOOL read_port_tm( EC2DRV *obj, char *buf, int len, uint32_t ms )
+BOOL read_ec2_port_tm( EC2DRV *obj, char *buf, int len, uint32_t ms )
{
if( obj->dbg_adaptor==EC3 )
{
diff --git a/src/ec2drv/ec2drv.h b/src/ec2drv/ec2drv.h
index f46160c..8e99c91 100644
--- a/src/ec2drv/ec2drv.h
+++ b/src/ec2drv/ec2drv.h
@@ -134,9 +134,9 @@ BOOL ec2_write_raw_sfr(EC2DRV *obj, uint8_t addr, uint8_t value );
BOOL trx( EC2DRV *obj, char *txbuf, int txlen, char *rxexpect, int rxlen );
BOOL write_port_ch( EC2DRV *obj, char ch );
BOOL write_port( EC2DRV *obj, char *buf, int len );
-int read_port_ch( EC2DRV *obj );
-BOOL read_port( EC2DRV *obj, char *buf, int len );
-BOOL read_port_tm( EC2DRV *obj, char *buf, int len, uint32_t ms );
+int read_ec2_port_ch( EC2DRV *obj );
+BOOL read_ec2_port( EC2DRV *obj, char *buf, int len );
+BOOL read_ec2_port_tm( EC2DRV *obj, char *buf, int len, uint32_t ms );
void set_flash_addr_jtag( EC2DRV *obj, uint32_t addr );
void ec2_core_suspend( EC2DRV *obj );
diff --git a/src/ec2drv/jtag_mode.c b/src/ec2drv/jtag_mode.c
index 3e39382..e7606d7 100644
--- a/src/ec2drv/jtag_mode.c
+++ b/src/ec2drv/jtag_mode.c
@@ -26,7 +26,7 @@ uint16_t jtag_device_id( EC2DRV *obj )
char buf[6];
// trx( obj,"\x0A\x00",2,"\x21\x01\x03\x00\x00\x12",6);
write_port( obj, "\x0A\x00", 2 );
- read_port( obj, buf, 6 );
+ read_ec2_port( obj, buf, 6 );
return buf[2]<<8 | 0; // no rev id known yet
}
@@ -39,7 +39,7 @@ uint16_t jtag_derivative_id( EC2DRV *obj )
ec2_target_halt(obj); // halt needed otherwise device may return garbage!
trx(obj,"\x10\x00",2,"\x07\x0D",2);
write_port(obj,"\x0C\x02\x80\x12",4);
- read_port(obj,buf,4);
+ read_ec2_port(obj,buf,4);
// print_buf( buf,4);
return buf[2];
}
@@ -220,7 +220,7 @@ BOOL jtag_write_flash_sector( EC2DRV *obj, uint32_t sect_addr, uint8_t *buf,
memcpy(tbuf,"\x12\x02\x0c\x00",4);
memcpy(tbuf+4,buf,max_block_len);
write_port(obj,tbuf,max_block_len+4);
- result |= read_port_ch(obj)==0x0d;
+ result |= read_ec2_port_ch(obj)==0x0d;
addr += max_block_len;
buf += max_block_len;
}
@@ -235,7 +235,7 @@ BOOL jtag_write_flash_sector( EC2DRV *obj, uint32_t sect_addr, uint8_t *buf,
tbuf[3] = 0x00;
memcpy(&tbuf[4],buf,len);
write_port(obj, tbuf,4+len);
- result &= read_port_ch( obj )==0x0d;
+ result &= read_ec2_port_ch( obj )==0x0d;
}
}
else
@@ -257,7 +257,7 @@ BOOL jtag_write_flash_sector( EC2DRV *obj, uint32_t sect_addr, uint8_t *buf,
: sector_size-offset;
write_port(obj,(char*)buf+offset,blk);
}
- result &= read_port_ch(obj)==0x0d;
+ result &= read_ec2_port_ch(obj)==0x0d;
}
jtag_flashcon( obj, 0x00 );
@@ -423,11 +423,11 @@ BOOL jtag_read_flash( EC2DRV *obj, uint8_t *buf,
cmd[2] = (len-i)>=block_size ? block_size : (len-i);
cmd[3] = 0x00;
write_port( obj, (char*)cmd, 4 );
- read_port( obj, tmp_buf, cmd[2]+1 ); // +1 for 0x0d terminator
+ read_ec2_port( obj, tmp_buf, cmd[2]+1 ); // +1 for 0x0d terminator
memcpy(buf+i,tmp_buf,cmd[2]);
result &= tmp_buf[cmd[2]]==0x0d;
- //read_port( obj, buf+i, cmd[2]+1 );
- // result &= read_port_ch( obj )==0x0d; // requires ec2 ver 0x13 or newer
+ //read_ec2_port( obj, buf+i, cmd[2]+1 );
+ // result &= read_ec2_port_ch( obj )==0x0d; // requires ec2 ver 0x13 or newer
}
jtag_flashcon( obj, 0x00 ); //trx( obj, "\x0D\x05\x82\x08\x00\x00\x00", 7, "\x0D", 1 );
@@ -631,7 +631,7 @@ BOOL jtag_erase_flash( EC2DRV *obj )
write_port(obj,"\x0F\x01\xA5",3);
BOOL r;
char c;
- r = read_port_tm(obj,&c,1,5000);
+ r = read_ec2_port_tm(obj,&c,1,5000);
r &= c==0x0d;
trx( obj, "\x0b\x02\x02\x00",4,"\x0d",1);
@@ -827,7 +827,7 @@ uint8_t JTAG_0x14( EC2DRV *obj, uint8_t a, uint8_t b )
cmd[2] = a;
cmd[3] = b;
write_port( obj, cmd, 4 );
- read_port( obj, cmd, 2 );
+ read_ec2_port( obj, cmd, 2 );
return cmd[0];
}
@@ -839,7 +839,7 @@ uint8_t JTAG_unknown_op_0x15( EC2DRV *obj )
{
char buf[2];
write_port( obj, "\x15\x02\x18\x00",4);
- read_port( obj, buf, 2);
+ read_ec2_port( obj, buf, 2);
return buf[0];
}
@@ -852,7 +852,7 @@ uint16_t JTAG_0x16_Len2( EC2DRV *obj, uint8_t a, uint8_t b )
cmd[2] = a;
cmd[3] = b;
write_port( obj, cmd, 4);
- read_port( obj, cmd, 3);
+ read_ec2_port( obj, cmd, 3);
return cmd[0] | (cmd[1]<<8);
}
@@ -865,7 +865,7 @@ uint32_t JTAG_0x16_Len3( EC2DRV *obj, uint8_t a, uint8_t b, uint8_t c )
cmd[3] = b;
cmd[4] = c;
write_port( obj, cmd, 5);
- read_port( obj, cmd, 4);
+ read_ec2_port( obj, cmd, 4);
return cmd[0] | (cmd[1]<<8) | (cmd[1]<<16);
}
@@ -897,7 +897,7 @@ BOOL ec2_connect_jtag( EC2DRV *obj, const char *port )
return FALSE;
}
write_port( obj, "\x06\x00\x00",3);
- read_port( obj, buf, 1);
+ read_ec2_port( obj, buf, 1);
printf("Debug adaptor ver = 0x%02x\n",buf[0]);
ec2_target_reset( obj );
@@ -914,10 +914,10 @@ void jtag_read_ram( EC2DRV *obj, char *buf, int start_addr, int len )
ec2_read_ram_sfr( obj, buf, start_addr, len, FALSE );
char tmp[4];
write_port( obj,"\x02\x02\x24\x02",4 );
- read_port( obj, &tmp[0], 3); // 3rd byte is 0x0d terminator
+ read_ec2_port( obj, &tmp[0], 3); // 3rd byte is 0x0d terminator
usleep(10000);
write_port( obj,"\x02\x02\x26\x02",4 );
- read_port( obj, &tmp[2], 3); // 3rd byte is 0x0d terminator
+ read_ec2_port( obj, &tmp[2], 3); // 3rd byte is 0x0d terminator
usleep(10000);
if( start_addr<3 )
{
@@ -938,8 +938,8 @@ void jtag_read_ram_sfr( EC2DRV *obj, char *buf, int start_addr, int len, BOOL sf
cmd[3] = len-i >= 0x0C ? 0x0C : len-i;
write_port( obj, cmd, 0x04 );
// usleep(10000); // try to prevent bad reads of RAM by letting the EC2 take a breather
- //read_port( obj, buf+i, cmd[3] );
- read_port( obj, rbuf, cmd[3]+1 ); // +1 for terminator 0x0d
+ //read_ec2_port( obj, buf+i, cmd[3] );
+ read_ec2_port( obj, rbuf, cmd[3]+1 ); // +1 for terminator 0x0d
memcpy(buf+i,rbuf,cmd[3]);
}
}
@@ -1236,7 +1236,7 @@ void jtag_read_xdata_page( EC2DRV *obj, char *buf, unsigned char page,
cmd[2] = (start+i) & 0xFF;
cmd[3] = (len-i)>=0x3C ? 0x3C : (len-i);
write_port( obj, (char*)cmd, 4 );
- read_port( obj, buf, cmd[3]+1 ); // +1 for 0x0d terminator
+ read_ec2_port( obj, buf, cmd[3]+1 ); // +1 for 0x0d terminator
buf += cmd[3];
}
// close out XDATA read process...bug fix for bug #2024032
@@ -1313,7 +1313,7 @@ BOOL jtag_target_halt( EC2DRV *obj )
BOOL jtag_target_halt_poll( EC2DRV *obj )
{
write_port( obj, "\x13\x00", 2 );
- return read_port_ch( obj )==0x01; // 01h = stopped, 00h still running
+ return read_ec2_port_ch( obj )==0x01; // 01h = stopped, 00h still running
}
--
2.50.1
From 61bce21489ceb78d4b7c73d188107cf3471789e8 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sat, 30 Aug 2025 05:42:55 -0300
Subject: fix linking issue with newcdb.
diff --git a/src/newcdb/CMakeLists.txt b/src/newcdb/CMakeLists.txt
index de4c781..0c9412c 100644
--- a/src/newcdb/CMakeLists.txt
+++ b/src/newcdb/CMakeLists.txt
@@ -23,5 +23,5 @@ set(NEWCDB_SRC
)
add_executable(newcdb ${NEWCDB_SRC})
-target_link_libraries(newcdb ec2drv dbgcore)
+target_link_libraries(newcdb ec2drv dbgcore network)
--
2.50.1