Messages in this thread | | | Subject | Re: Re: 2.6.0 fails to complete boot - Sony VAIO laptop | Date | Fri Dec 19 20:09:53 2003 | From | (Alexander Poquet) |
| |
Hey folks.
On Fri, 19 Dec 2003 02:28:21 -0800, William Lee Irwin III wrote: > The hardware solution is better, but I'll settle for anything you can > get that way.
Not having a hardware solution at my disposal, I copied the dmesg by hand from the screen, giving myself screenfuls by hacking null while loops into various places. I've attached it below; as it was copied by hand there may be a typo or two but I was as careful as possible. There are a few lines that I did not get, at the very beginning, because the last place I could put a hang was after console_init() in start_kernel() -- if information from up there is needed, I can probably hack printk. It doesn't look too hard but I didn't want to mess with it unless someone requires the information.
As is evident from the dmesg, the blank out happens while doing an isapnp scan. Now, I'm wondering why I have isapnp configured -- I think it has something to do with 16-bit PCMCIA cards, but I can't remember exactly -- but at any rate as stock kernels are likely to have it setup perhaps this is a bug that should be ironed out. I haven't tried compiling the kernel without isapnp support, but I can do that if you think the bug is a symptom of something else and not a fsck-up in the isapnp code itself. At any rate, the exact function call that generates the black out is in drivers/pnp/isapnp/core.c, on line 1132 (or just about). The code in question (it's in isapnp_init()):
isapnp_detected = 1; if (isapnp_rdp < 0x203 || isapnp_rdp > 0x3ff) { cards = isapnp_isolate(); if (cards < 0 || (isapnp_rdp < 0x203 || isapnp_rdp > 0x3ff)) { #ifdef ISAPNP_REGION_OK release_region(_PIDXR, 1); #endif -----------------> release_region(_PNPWRP, 1); isapnp_detected = 0; printk(KERN_INFO "isapnp: No Plug & Play device found\n"); return 0; } request_region(isapnp_rdp, 1, "isapnp read"); } isapnp_build_device_list();
The corresponding request_region is a little bit higher up in the function. Why would releasing the region cause a console blank?
WRT to the console blank, it was very much as if the card jumped out of text mode, or something. The monitor felt ... weird. (I'm connecting to my laptop using an external monitor; the Sony VAIO model I have, the PCG-F450, has a documented issue with its LCD panel). I'm not exactly sure how to put it into words, but it was like doing "SCREEN 9" in BASICA back on DOS. Like it jumped into a graphics mode, or something.
The boot obviously doesn't continue -- does that imply that the kernel panics after the console black out? Without a serial cable I can't be sure that there isn't more stuff being printed after the console black out that might be useful. Any ideas on how to deal with this would be appreciated.
Oh, and also, what does that address space collision stuff in the PCI init portion of the dmesg mean? Should I be worried about that?
Alexander
dmesg follows... ------------------------------------------------------------------------------- BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009f800 (usable) BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved) BIOS-e820: 00000000000eb000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000007ff0000 (usable) BIOS-e820: 0000000007ff0000 - 0000000007fffc00 (ACPI data) BIOS-e820: 0000000007fffc00 - 0000000008000000 (ACPI NVS) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) 127MB LOWMEM available. On node 0 totalpages: 32752 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 28656 pages, LIFO batch:6 HighMem zone: 0 pages, LIFO batch:1 DMI 2.1 present. Sony Vaio laptop detected. Building zonelist for node : 0 Kernel command line: BOOT_IMAGE=Linux ro root=301 Local APIC disabled by BIOS -- reenabling. Could not enable APIC! Initializing CPU#0 PID hash table entries: 512 (order 9: 4096 bytes) Detected 496.456 MHz processor. Console: colour VGA+ 80x25 Memory: 125336k/131008k available (2581k kernel code, 5116k reserved, 893k data, 164k init, 0k highmem) Calibrating delay loop... 980.99 BogoMIPS Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K Intel machine architecture supported. Intel machine check reporting enabled on CPU#0. CPU: Intel Pentium III (Coppermine) stepping 01 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfd99e, last bus=1 PCI: Using configuration type 1 mtrr: v2.0 (20020519) Linux Plug and Play Support v0.97 (c) Adam Belay PnPBIOS: Scanning system for PnP BIOS support... PnPBIOS: Found PnP BIOS installation structure at 0x00f71f0 pnp: 00:00: ioport range 0x398-0x399 has been reserved pnp: 00:00: ioport range 0x4d0-0x4d1 has been reserved pnp: 00:00: ioport range 0x8000-0x804f has been reserved pnp: 00:00: ioport range 0x1040-0x104f has been reserved PnPBIOS: 17 nodes reported by PnP BIOS; 17 recorded by driver SCSI subsystem initialized Linux Kernel Card Services options: [pci] [cardbus] [pm] drivers/usb/core/usb.c: registered new driver hub PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Address space collision on region 7 of bridge 0000:00:07.3 [8000:803f] PCI: Address space collision on region 8 of bridge 0000:00:07.3 [1040:105f] PCI: Using IRQ router PIIX/ICH [8086/7110] at 0000:00:07.0 PCI: IRQ 0 for device 0000:00:07.2 doesn't match PIRQ mask - try pci=usepirqmask PCI: IRQ 0 for device 0000:00:08.0 doesn't match PIRQ mask - try pci=usepirqmask PCI: IRQ 0 for device 0000:00:0c.0 doesn't match PIRQ mask - try pci=usepirqmask PCI: Found IRQ 9 for device 0000:00:0c.0 PCI: IRQ 0 for device 0000:00:0c.1 doesn't match PIRQ mask - try pci=usepirqmask NET: Registered protocol family 23 neofb: mapped io at c8800000 Autodetected external display Panel is a 1024x768 color TFT display neofb: mapped framebuffer at c8a01000 neofb v0.4.1: 2560kB VRAM, using 1024x768, 48.361kHz, 60Hz fb0: MagicGraph 256AV frame buffer device SBF: ACPI BOOT descriptor is wrong length (39) SBF: Simple Boot Flag extension found and enabled. SBF: Seting boot flags 0x1 apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac) Installing knfsd (copyright (C) 1996 okir@monad.swb.de). udf: registering filesystem Limiting direct PCI/PCI transfers. pci_hotplug: PCI Hot Plug PCI Core version: 0.5 isapnp: Scanning for PnP cards... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |