Subject: Re: kernel panic

From: [email-masked]
Date: Thu, 2 Apr 1998 19:29:49 +0200

On Thu, Apr 02, 1998 at 07:31:00PM +0200, Ulf Carlsson wrote:

> IP-Config: Got BOOTP answer from 192.168.0.1, my address is 192.168.0.3
> Partition check:
>  sda: sda1 sda2 sda3 sda4
>  sdb: sdb1 sdb2 sdb3
> VFS: Mounted root (ext2 filesystem) readonly.
> Warning: unable to open an initial console.
> Got vced at 8801a2a4.
> Kernel panic: Caught VCE exception - should not happen
> 
> That's the end of it.. tell me if you need some info above those lines..
> Can it be my partition which is screwed? I reinstalled sgi-linux two days ago...

No.  Your report indicates that my last two fixes seem to work.
Now we've got problem #3 in the MC/SC support to fix and I think I've got
an idea what's wrong.  Again I'll go for an simple fix because I don't have
SC CPUs at hand but we're definately on the right way.

  Ralf

---

From: Ulf Carlsson <[email-masked]>
Date: Thu, 2 Apr 1998 19:31:00 +0200

Hello again... we're updating the internet connection to my mail server so
I can't read what you've written today. But I've downloaded patch-3 of the
sgi-kernel. I get further, but it still doesn't work.. well, I think it's
almost fixed now. Here's the output:

We're atleast getting somewhere! Great work :-)

- Ulf

---

From: [email-masked]
Date: Thu, 2 Apr 1998 20:47:38 +0200

On Thu, Apr 02, 1998 at 01:55:41PM -0500, Dong Liu wrote:

> Ulf Carlsson writes:
> Same here, only difference is I'm using nfsroot.
> 
> Good work! Now only I can find a serial cable for this damn Indy:=).

Surprise, the support for the serial console does not compile :-)

  Ralf

---

From: Dong Liu <[email-masked]>
Date: Thu, 2 Apr 1998 13:55:41 -0500

Dong

---

From: Dong Liu <[email-masked]>
Date: Thu, 2 Apr 1998 14:22:46 -0500

> Surprise, the support for the serial console does not compile :-)

I know, but look at drivers/char/console.c, you don't need
CONFIG_SERIAL_CONSOLE to be defined, it will always call
rs_cons_hook() if CONFIG_SGI or CONFIG_SUN_SERIAL is set, and
in arch/mips/sgi/setup.c serial_console is set if
prom_getenv("console") returns "d" or "d2".

Maybe it should be changed to be use CONFIG_SUN_SERIAL and implement 
function serial_console_init().

Dong

---

From: Dong Liu <[email-masked]>
Date: Thu, 2 Apr 1998 15:06:21 -0500

Ok, I got a serial cable , connect it, type "nvram console d", now I
can boot irix from a serial terminal, but for linux, the message
didn't come out, maybe all the serial parameters are not set right.

Dong.

---

From: [email-masked]
Date: Thu, 2 Apr 1998 22:37:38 +0200

> function serial_console_init().

For shure not CONFIG_STUN_SERIAL :-)

  Ralf

---

From: Dong Liu <[email-masked]>
Date: Thu, 2 Apr 1998 16:10:06 -0500

> For shure not CONFIG_STUN_SERIAL :-)
Sorry, I meant CONFIG_SERIAL_CONSOLE, victim of emacs' dabbrev-expand :=).

Dong

---

From: [email-masked]
Date: Thu, 2 Apr 1998 23:35:32 +0200

> didn't come out, maybe all the serial parameters are not set right.

Linux doesn't accept the value ``dd'' for the console variable.  If you
try, Linux should complain about the setting and enter the interactive
firmware mode again.  Could you try setting console to either d1 or d2
according to the serial line you're using?

Thanks for testing this; having working serial consoles is on of the
missing parts in supporting the Challenge S.

  Ralf

---

From: "William J. Earl" <[email-masked]>
Date: Thu, 2 Apr 1998 15:16:13 -0800

> according to the serial line you're using?

     For reduced user confusion, accepting "console=d" as an alias
for "console=d1" might reduce user confusion.

---

From: Dong Liu <[email-masked]>
Date: Thu, 2 Apr 1998 18:53:46 -0500

> for "console=d1" might reduce user confusion.

Yes, but from arch/mips/sgi/setup.c

	ctype = prom_getenv("console");
	serial_console = 0;
	if(*ctype == 'd') {
		if(*(ctype+1)=='2')
			serial_console = 1;
		else
			serial_console = 2;
		if(!serial_console) {
			prom_printf("Weird console env setting %s\n", ctype);
			prom_printf("Press a key to reboot.\n");
			prom_getchar();
			prom_imode();
		}
	}

It got it the wrong serial_console, "d2" means serial port 1, "d"
means serial port 2.

Any way, I think I found out why serial port doesn't work, con_init()
call rs_cons_hook() before rs_init got called. 

But now I got another problem, I got the patch from
ftp://zero.aec.at/pub/sgi-linux, using the same .config file from the
same ftp site, I got

Exception: <vector=UTLB Miss>
Status register: 0x30044803<CU1,CU0,CH,IM7,IM4,IPL=???,MODE=KERNEL,EXL,IE>
Cause register: 0x8008<CE=0,IP8,EXC=RMISS>
Exception PC: 0x880ec7f0, Exception RA: 0x880f0294
exception, bad address: 0x0
Local I/O interrupt register 1: 0x80 <VR/GIO2>
  Saved user regs in hex (&gpda 0xa8740e08, &_regs 0xa8741008):
  arg: 0 8bfffcae 8bfffc24 88107498
  tmp: e 8813e5bc a 8811216c 100000 88100000 0 48
  sve: 88121228 2 8813e570 4 4 1 88121220 9fc47a40
  t8 48 t9 bfbd9833 at 4f v0 1 v1 88107498 k1 bad11bad
  gp 8bf70000 fp 9fc47bac sp 8bfff840 ra 880f0294

PANIC: Unexpected exception

[Press reset or ENTER to restart.]

So I can't compile the kernel my self:=(.

Dong

---

From: [email-masked]
Date: Fri, 3 Apr 1998 02:47:32 +0200

>  > for "console=d1" might reduce user confusion.

Correct.

> It got it the wrong serial_console, "d2" means serial port 1, "d"

Ooops.

>   gp 8bf70000 fp 9fc47bac sp 8bfff840 ra 880f0294

Which looks similar to the Challenge S report recently posted to this
list, but not the same.

  Ralf

---

From: Oliver Frommel <[email-masked]>
Date: Sat, 4 Apr 1998 22:27:24 +0200 (MET DST)

Hi,

i think i fixed the serial console, at least it works here after linking
/dev/console to /dev/ttyS1 (i have no idea if this is the correct behaviour
however)
you can find the patch on ftp://zero.aec.at/pub/sgi-linux/serial-patch.gz

bye
-oliver