BREAK is simply a space condition asserted onto a (generally RS-232)
serial line for >> one character period. The line rests at mark (1), the
start bit is a space (0) then there's 5 - 9 data periods, then one or
two stop bits, which are just the line going back to the mark state.
This is of course ASYNCHRONOUS data, eg. the receiver thinks it knows
how long a character must be, and it knows a stop character is a mark,
so if it's a space, it could be a so-called LINE BREAK.
(It seems obvious (but I have nothing to back this up) that the source
of this is LINE BREAK == broken line eg. loop current goes to zero
because a wire fell off. tty mark == current flow == 1. tty space == no
current flow == 0.)
A lot of UART chips detect BREAK, and the old ones like the Giant
AY5013? (sheesh, did I actually recall that or is it crap?) has a pin
for it (and for parity, Rxready, etc) so it would be easy to tie it to
CPU RESET (shudder). The chip spec will tell you what "BREAK" means to
the chip, but I would guess it's some counter like 10 or 16 bit times of
consecutive spaces.
BREAK is away to assert another information-carrying state on a line.
I remember being mystified by this stuff, and other magic like autobaud,
back when it was all new to me. Now it all seems so simple, but now it's
no longer useful :-)