Hi,

On Tuesday 1. January 2008, Michael Schmitz wrote:

> I'm getting a bit confused - the good old mach_max_dma_address variable
> does not seem to get used in the recent kernels anymore at all. Could a mm
> expert please unravel this mystery?

It suffered from bit rot, as atari was the only real user.
With the old virtual mapping it was also a bit bogus, as nothing guaranteed 
the order of how the memory chunks were mapped. With the new mapping it 
should be easy to add back. OTOH I would prefer the alternative approach by 
reserving a bit of ST-RAM.

>       for (i = 0; i < m68k_num_memory; i++) {
> -             zones_size[ZONE_DMA] = m68k_memory[i].size >> PAGE_SHIFT;
> +     /* MSch Hack */
> +             if ( m68k_memory[i].addr < mach_max_dma_addr
> +              && (m68k_memory[i].addr+m68k_memory[i].size) <= 
> mach_max_dma_addr ) {
> +                     zones_size[ZONE_DMA]    = m68k_memory[i].size >> 
> PAGE_SHIFT;
> +                     zones_size[ZONE_NORMAL] = 0;
> +             } else {
> +                     zones_size[ZONE_DMA]    = 0;
> +                     zones_size[ZONE_NORMAL] = m68k_memory[i].size >> 
> PAGE_SHIFT;
> +             }
>               free_area_init_node(i, pg_data_map + i, zones_size,
>                                   m68k_memory[i].addr >> PAGE_SHIFT, NULL);
>       }

How big is the ST-RAM area? If it's 16MB this may not work as expected, as 
mach_max_dma_address is set to 0xffffff (0x1000000 <= 0xffffff).

bye, Roman


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to