Re: MCA in console_init()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Bjorn.

On 12/14/06, Bjorn Helgaas <bjorn.helgaas@xxxxxx> wrote:
On Friday 08 December 2006 13:30, Karthik Gopalakrishnan wrote:
>     I am trying to debug an MCA that I hit during kernel bootup. I
> have isolated the problem to the while loop in the console_init()
> routine called as part of start_kernel(). The IIP obtained from the
> MCA Logs point to vgacon_startup().

What sort of box is this?  Does it have a VGA device?  What console
device do you intend to use?

It's an rx8620. It does not have a VGA device. I am trying to use a
"Virtual Console" device that a specific firmware exposes.


You probably got to vgacon_startup() as a side-effect of setting
conswitchp = &vga_con in setup_arch().

Yup. You are absolutely correct. When I compiled with
"CONFIG_VGA_CONSOLE" not set, the MCA went away. Only thing is, I
don't get console functionality since there is no entity to control
the console.


On most machines, if you poke at the VGA I/O ports and there's no VGA
device, nothing bad happens.  But some chipsets don't like that and
cause an MCA.

The MCA log should tell you what instruction you're at and what
address you tried to reference.  If you're doing an I/O port
reference, the address should be in the physical I/O port block
and you can compute the port number using the iobase address
from the EFI memory map, e.g.,

    set $iobase = 0x80000f8100000000
    set $addr = 0x80000f8100019064
    p/x ((($addr - $iobase) >> 12) << 2) | (($addr - $iobase) & 0xfff)


I disassembled the code & figured that the MCA occurred in
vgcon_startup(). I didn't take a detailed look. But I think there was
an access to a MMIO region. So I guess your theory is correct. :-)

I was not familiar with the way console_initcall() routines worked. I
understand that now. The way I look at it, I'll have to write a driver
similar to "vga_con", as well as a tty driver. Thank You very much for
your help.

Thanks & Regards,
Karthik
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux