Subject: Crash with highmem support enabled

From: "Gerhard Pircher" <[email-masked]>
Date: Mon, 23 Oct 2006 20:57:14 +0200

Hi,

I'm trying to get highmem support working on my AmigaOne. The machine is equipped with 1.5G RAM. Unfortunately the kernel crashes early in the boot process, so I couldn't save the crash log. But it seems to crash during the initialization of the radeonfb driver.

I guess this has something to do with the IO block mapping, which is implemented in the amigaone_setup.c file and looks like this:

{
/* Remap ISA/PCI IO space first to get it mapped by BATs. */
io_block_mapping(0xfe000000, 0xfe000000, 0x01000000, _PAGE_IO);
/* Remap ISA memory for framebuffer (U-boot framebuffer). */
io_block_mapping(0xfd000000, 0xfd000000, 0x01000000, _PAGE_IO);
/* Remap PROM I/O space to 0xfc000000, to get a window for non
 * cache coherent DMA support at 0xff100000.
 */
io_block_mapping(0xfc000000, 0xff000000, 0x01000000, _PAGE_IO);
}

The addresses below 0xfc000000 belong to the PCI memory space (0x80000000-0xfbffffff).

Thus I moved the highmem base to 0xfc000000, since the PCI memory is not ioremap'd. But the kernel still crashes.

Can somebody give me a hint how to get highmem working? I'm not sure what the real problem is, as also other platforms (PReP, sandpoint) ioremap the address space from 0xfe000000 to 0xffffffff.

Gerhard

-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer