Hi, I finally fixed gnumach so it can handle sustained transfert on serial port at higher speed. On my PC works great so I'm posting the patch for any brave guys who want test it on their PC.
I hope to see the patch applied to the official gnumach soon, so I don't have to manually apply to any new version of gnumach. diff -u -r1.3 chario.c --- device/chario.c 2001/04/29 20:29:29 1.3 +++ device/chario.c 2001/10/19 19:37:20 @@ -55,8 +55,8 @@ * is greater than largest tthiwat entry. */ short tthiwat[NSPEEDS] = - { 100,100,100,100,100,100,100,200,200,400,400,400,650,650,1300,2000, - 2000,2000 }; + { 100,100,100,100,100,100,100,200,200,400,400,400,650,650,1024,1024, + 1024,1024 }; short ttlowat[NSPEEDS] = { 30, 30, 30, 30, 30, 30, 30, 50, 50,120,120,120,125,125, 125, 125, 125,125 }; @@ -122,8 +122,8 @@ pdma_timeouts[B2400] = _PR(240); pdma_timeouts[B4800] = _PR(480); pdma_timeouts[B9600] = _PR(960); - pdma_timeouts[EXTA] = _PR(1440); /* >14400 baud */ - pdma_timeouts[EXTB] = _PR(1920); /* >19200 baud */ + pdma_timeouts[B19200] = _PR(1920); /* >14400 baud */ + pdma_timeouts[B38400] = _PR(3840); /* >19200 baud */ pdma_timeouts[B57600] = _PR(5760); pdma_timeouts[B115200] = _PR(11520); @@ -143,13 +143,21 @@ pdma_water_mark[B1800] = _PR(180); pdma_water_mark[B2400] = _PR(240); pdma_water_mark[B4800] = _PR(480); + pdma_water_mark[B9600] = _PR(960); + pdma_water_mark[B19200] = _PR(1920); + pdma_water_mark[B38400] = 192; + pdma_water_mark[B57600] = 96; + pdma_water_mark[B115200] = 64; + +#if 0 i = tty_inq_size/2; pdma_water_mark[B9600] = i; pdma_water_mark[EXTA] = i; /* >14400 baud */ pdma_water_mark[EXTB] = i; /* >19200 baud */ pdma_water_mark[B57600] = i; pdma_water_mark[B115200] = i; - +#endif + return; } -- Saluti / Regards Diego Roversi | diegor at maganet.net | diegor at tiscalinet.it _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd