Re: How to debug kernel before there is no printk mechanism?

From: Randy.Dunlap
Date: Wed Mar 30 2005 - 18:34:28 EST


linux-os wrote:
On Wed, 30 Mar 2005, krishna wrote:

Hi all,

How can one debug kernel before there is no printk mechanism in kernel.

Regards,
Krishna Chaitanya

Here's an implementation by Keith Owens:
http://kernelnewbies.org/documents/videochar.txt

The patch there is to Linux 2.4.18, but should be workable
on many versions.

Write directly to screen memory at 0x000b8000, or write to the
RS-232C UART while polling the TX buf empty bit, or just write
bits that mean something to you out the printer port.

Screen - memory is 16-bit words with the high-word being
an attibute byte. FYI 0x07 is a good B&W byte. You can
initialize a pointer to it as:

unsigned short *screen = 0xc00b8000; Since low memory
is always mapped, the above cheat will work. The 0xc0000000
is PAGE_OFFSET.

An early '486 was brought up into a 32-bit protected-mode
(non linux) operating system using these debugging methods.
The first time I got to see some symbol written to the
screen in protected-mode marked the start of a week-end-
long party. Have fun!


--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/