Re: PnP BIOS + 2.4.9-ac16 = no boot

Thomas Hood
2001-09-28T12:30:20Z

[-- Attachment #1: Type: text/plain, Size: 1120 bytes --]

Stelian Pop wrote:
> When booting a 2.4.9-ac16 kernel on my Sony Vaio C1VE laptop
> the boot process hangs with something like:
> PnP: PNP BIOS installation structure at 0xc00f8120
> PnP: PNP BIOS version 1.0, entry ay f0000:b25f, dseg at 400
> general protection fault: 0000
> ...
> Code: Bad EIP value
>
> Adding nobiospnp to the kernel boot line solves the problem. The last
> -ac kernel I tried (2.4.9-ac10) does not need exhibit this problem.

Between 2.4.9-ac10 and 2.4.9-ac16 two small changes were made to
the PnP BIOS code. One of them must be the cause of your troubles.

> Since this machine's BIOS is crap anyway (almost entirely ACPI -
> APM suspend doesn't work etc), is it worth investigating this issue
> or should I blame the BIOS structures once again ?

Initial suspicion may fall on your BIOS. However, if the
PnP BIOS driver worked before then that means that we ought
to be able to work around any bugs in it.

Please try this patch to drivers/pnp/pnp_bios.c (attached) and get
back to me.

It would be helpful too if you could track down (using printks)
where the fault occurs.

--
Thomas

[-- Attachment #2: thood-pnpbiosvaio-patch-20010928-1 --]
[-- Type: text/plain, Size: 457 bytes --]

--- pnp_bios.c_ORIG Thu Sep 27 15:21:46 2001
+++ pnp_bios.c_vaiofix Fri Sep 28 08:24:39 2001
@@ -845,11 +845,11 @@
for(i=0;i<0xff;i++) {
dev = kmalloc(sizeof (struct pci_dev), GFP_KERNEL);
if (!dev)
break;

- if (pnp_bios_get_dev_node((u8 *)&num, (char )0 , node))
+ if (pnp_bios_get_dev_node((u8 *)&num, (char )1 , node))
continue;

devs++;
pnpbios_rawdata_2_pci_dev(node,dev);
dev->devfn=num;