--- 2.4.14pre6aa1/include/linux/blkdev.h.~1~ Thu Nov 1 05:20:45 2001 +++ 2.4.14pre6aa1/include/linux/blkdev.h Thu Nov 1 05:28:24 2001 @@ -140,7 +140,8 @@ extern inline struct buffer_head *blk_queue_bounce(request_queue_t *q, int rw, struct buffer_head *bh) { - if (bh->b_page <= q->bounce_pfn + mem_map) + struct page * page = bh->b_page; + if (page - page->zone->zone_mem_map <= q->bounce_pfn) return bh; return create_bounce(rw, bh); --- linux/include/asm-alpha/io.h.~1~ Sun Sep 23 21:11:40 2001 +++ linux/include/asm-alpha/io.h Thu Nov 1 07:13:50 2001 @@ -60,6 +60,8 @@ return (void *) (address + IDENT_ADDR); } +#define page_to_phys(page) (((page) - (page)->zone->zone_mem_map) << PAGE_SHIFT) + /* * Change addresses as seen by the kernel (virtual) to addresses as * seen by a device (bus), and vice versa.