diff --git a/early_printk.c b/early_printk.c index cb2f75e..90e2fac 100644 --- a/early_printk.c +++ b/early_printk.c @@ -14,11 +14,11 @@ static int early_serial_base = 0x3f8; /* ttyS0 */ static bool early_serial_txr_out(struct kvm *self, uint16_t port, void *data, int size, uint32_t count) { char *p = data; - uint32_t i; + int i; - for (i = 0; i < count; i++) { - fprintf(stderr, "%c", *p); - p += size; + while (count--) { + for (i = 0; i < size; i++) + fprintf(stderr, "%c", *p++); } fflush(stderr);