Re: Sony S170 + 1GB ram => Yenta: ISA IRQ mask 0x0000
From: Linus Torvalds
Date: Tue Oct 26 2004 - 13:30:08 EST
On Tue, 26 Oct 2004, Lincoln D. Durey wrote:
>
> So, now we have a new Sony S170 (spiffy ultra-portable laptop) with a
> failure to recognize cards when it has 1GB ram installed. And I'm
> wondering if anyone wants to tackle having the kernel PCI system remap this
> pcmcia socket's memory so it can see cards ?
>
> booting with 1GB ram:
>
> kernel: Linux Kernel Card Services 3.1.22
> kernel: options: [pci] [cardbus] [pm]
> kernel: Yenta IRQ list 0000, PCI irq9
> kernel: Socket status: 00000000
>
> revert to 512MB or 768MB ram, and you get a happy PCMCIA slot:
Judging by your /proc/iomem, which looks like this:
00100000-3ff6ffff : System RAM
00100000-002ac223 : Kernel code
002ac224-003ab5ff : Kernel data
3ff70000-3ff703ff : 0000:00:1f.1 [ ed: IDE controller ]
3ff71000-3ff71fff : 0000:02:04.0 [ ed: cardbus ]
3ff71000-3ff71fff : yenta_socket
the 1GB case should have problem with the IDE controller too, if it has
problems with yenta-socket.
But maybe you only use PIO mode, in which case I guess it doesn't matter
if the MMIO regions are scrogged.
Anyway, the problem seems to be that you are doing something bad with the
user-defined RAM map, for some reason that is not obvious at all. Your
bootup clearly shows:
BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000d8000 - 00000000000e0000 (reserved)
BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003ff70000 (usable)
BIOS-e820: 000000003ff70000 - 000000003ff7c000 (ACPI data)
BIOS-e820: 000000003ff7c000 - 000000003ff80000 (ACPI NVS)
BIOS-e820: 000000003ff80000 - 0000000040000000 (reserved)
BIOS-e820: 00000000ff800000 - 00000000ffc00000 (reserved)
BIOS-e820: 00000000fffff000 - 0000000100000000 (reserved)
which means that the BIOS marks the 0x000000003ff70000 - 0000000040000000
region properly reserved, but you bave overridden this (incorrectly) with:
user-defined physical RAM map:
user: 0000000000000000 - 000000000009f800 (usable)
user: 000000000009f800 - 00000000000a0000 (reserved)
user: 00000000000d8000 - 00000000000e0000 (reserved)
user: 00000000000e4000 - 0000000000100000 (reserved)
user: 0000000000100000 - 000000003ff70000 (usable)
where your manual user-defined RAM map is crap, because it doesn't mark
the ACPI region as being reserved.
As a result, the kernel doesn't know that there is something there, and
will allocate the Cardbus controller (and IDE MMIO) range in that unusable
range.
So the question is:
- why have you done any user override at all
- and having done so, why aren't the ACPI regions there, marked reserved?
It looks like the BIOS is doing everything right, and the problem is
entirely with the user-defined values..
Linus
-
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/