On Thu, Oct 04, 2018 at 08:38:12AM -0700, Mike Larkin wrote: > On Thu, Oct 04, 2018 at 04:45:10PM +0200, Alexander Bluhm wrote: > > On Wed, Oct 03, 2018 at 02:13:33PM -0600, Mike Larkin wrote: > > > CVSROOT: /cvs > > > Module name: src > > > Changes by: mlar...@cvs.openbsd.org 2018/10/03 14:13:33 > > > > > > Modified files: > > > usr.sbin/vmd : ns8250.c > > > > > > Log message: > > > vmd(8): avoid a divide by zero when the user specified a low baud rate > > > > > > Low baud rates would result in a 0 "rate limiter pause count" in the > > > serial port output code. This pause counter is used to implement a > > > delay in what otherwise is an instantaneous serial port output path, and > > > is needed by some guest OS kernels. This fix only enables the rate > > > limiter pause if the count is > 0 ("pause after 0 characters" makes no > > > sense anyway). > > > > > > Note that this will result in skipping the limiter on unusually low > > > baud rates, but since nobody is using a low baud rate console in vmd, > > > I don't think this is going to be a problem. > > > > > > ok pd > > > > With this commit my virtual machine prints single characters only > > if I enter something at the console. > > > > ... > > softraid0 at root > > scsibus3 at softraid0: 256 targets > > root on sd0a (16c451c199802b57.a) swap on sd0b dump on sd0b > > > > Kernel printing works fine. But then it gets stuck. > > > > Automatic boot in progress: s > > > > The userland messages are printed character by charater. > > And I have to press space for each character. > > > > I use "vmctl start v74 -c" to access the console. > > If I backout this commit, it works again. > > > > bluhm > > Hmm. Ok. I'll take a look. Maybe a bit premature fix. > > -ml >
Fixed. Thanks for spotting it. I tested with a wider variety of guest OSes this time, must have escaped the test yesterday (I only tested lightly, then). I also verified pd's stty com0 4800 test, that still works also. Let me know if you see anything amiss. -ml