[LWN Logo]

Date:   Sat, 10 Jul 1999 21:55:42 +0200 (MET DST)
From:   Tomasz Motylewski <motyl@stan.chemie.unibas.ch>
To:     Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: bttv.c broken in 2.3.10 and VM questions.

On Thu, 8 Jul 1999, Alan Cox wrote:

> Make sure you pick up the changes from the latest bttv driver (eg in 2.3.10pre5)
> DaveM cleaned the code up and change the technique used so it also works on
> the ultrasparc

Hmm, "also" ....

I have tried, but unfortunately it does not work under Intel architecture as
a module (init_mm used by pgd_offset_k not exported). This is easy to fix in
2.3 (export init_mm), but for me more important is 2.0-2.3 portability, so I
will stick to the older version. 

Could someone explain me why in 2.3.10 include/asm-i386/page.h   ?:

#define __pa(x)                 ((unsigned long)(x)-PAGE_OFFSET)
#define __va(x)                 ((void *)((unsigned long)(x)+PAGE_OFFSET))

while in include/asm-i386/io.h

#define __io_virt(x)            ((void *)(PAGE_OFFSET | (unsigned long)(x)))
#define __io_phys(x)            ((unsigned long)(x) & ~PAGE_OFFSET)

(used by phys_to_virt and virt_to_phys). Why __io_virt is not just defined as
__va ? I find all that different names and implementations for same thing
highly confusing.  IO-mapping.txt mentiones only the phys_to_virt and
virt_to_phys. What for are the other macros? 

Regards,
--
Tomek Motylewski


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/