fbcon + X Server + Cirrus/Powerstack

Jeff Rugen jrugen at primenet.com
Tue Dec 29 14:10:50 EST 1998


On Mon, 28 Dec 1998, Geert Uytterhoeven wrote:

> > fb_info->fbmem = ioremap(0xC0000000, board_size);  /* returns 0xC8000000 */
> > fb_info->fbmem_phys = virt_to_phys((unsigned char *)fb_info->fbmem);
> 
> Try
> 
>     fb_info->fbmem_phys = 0xC0000000;
> 
> instead, i.e. use the address you passed to ioremap()[*].
> 

This didn't work -- it generated a "Machine check in kernel mode."

I'm wondering if this is because virt_to_phys and phys_to_vert don't seem to
have a relationship to ioremap -- the inline functions in virt_to_phys and
phys_to_virt for non-APUS machines just add or subtract KERNELBASE from the
address passed in -- and KERNELBASE is 0xc0000000.  ioremap() returned a
value 0x0800000 higher than passed in.  I'm not sure what to experiment with
next.. though I think I'll take a look at how the APUS does the virt_to_phys
and phys_to_vert.

----------------------------------------------------------------------------
Jeff Rugen                      jrugen at primenet.com

..Had this been an actual emergency, we would have fled in terror, and you 
would not have been informed.


[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request at lists.linuxppc.org ]]




More information about the Linuxppc-dev mailing list