Fooling around a bit more with accessing a VM's serial console from a KVM hypervisor with
virsh console mymachine
I found one thing that doesn't carry over from the host to the VM is the terminal window size, so if you try to use something like
vim through the console connection, it seems to assume a 80x25 or so window, and when
vim exits your console is all screwed up.
It looks like a serial connection doesn't have an out-of-band way of passing that info the way telnet or ssh does, so you have set it manually. You can discover your settings on the host machine with
which should show something like:
on the VM, the same command probably shows
zero rows and columns, no wonder it's confused. Fix it by setting the VM to have the same rows and columns as the host with something like:
stty rows 60 columns 142
and you're in business.