I've found what looks like a bug in hw/serial.c; the structure field "divider" is only a uint8_t, but should be a uint16_t. This currently breaks Etherboot, which is somewhat paranoid about the UART and will verify that both bytes of the divider are functional. (Don't ask me why.) The attached patch fixes the problem for Etherboot. Please cc me on any replies, since I am not a list member. Michael