Skip to contentSkip to conversation

rmap and nvidia?

DISCUSSION mdew 7 participants 9 messages Dec 14, 2002 – Dec 16, 2002

lore
Share & tools
lore

mdew

author
#0 lore raw

is there a nvidia patch available to make it work with rmap?

nirvana:~/NVIDIA_kernel-1.0-3123# make
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -1`\" > nv_compiler.h
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts
-Wparentheses -Wpointer-arith -Wcast-qual -Wno-multichar  -O -MD
-D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE
-DRM_HEAPMGR -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE 
-DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=3123 
-DNV_UNIX   -DNV_LINUX   -DNVCPU_X86       -I.
-I/lib/modules/2.4.20-xfs-rmap15b/build/include -Wno-cast-qual nv.c
nv.c: In function `nv_get_phys_address':
nv.c:2182: warning: implicit declaration of function `pte_offset'
nv.c:2182: invalid type argument of `unary *'
make: *** [nv.o] Error 1
#1 lore raw
Quoted 11 lines · mdew

is there a nvidia patch available to make it work with rmap?

nirvana:~/NVIDIA_kernel-1.0-3123# make
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -1`\" > nv_compiler.h
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts
(quoted diff) +0 -6
-Wparentheses -Wpointer-arith -Wcast-qual -Wno-multichar  -O -MD
-D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE
-DRM_HEAPMGR -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE 
-DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=3123 
-DNV_UNIX   -DNV_LINUX   -DNVCPU_X86       -I.
-I/lib/modules/2.4.20-xfs-rmap15b/build/include -Wno-cast-qual nv.c
Quoted 4 lines

nv.c: In function `nv_get_phys_address':
nv.c:2182: warning: implicit declaration of function pte_offset' nv.c:2182: invalid type argument of unary *'
make: *** [nv.o] Error 1

Use pte_offset_map() with a corresponding pte_unmap().

Bill

author
#2 lore raw
Quoted 18 lines · William Lee Irwin III
Quoted 11 lines · mdew

is there a nvidia patch available to make it work with rmap?

nirvana:~/NVIDIA_kernel-1.0-3123# make
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -1`\" > nv_compiler.h
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts
(quoted diff) +0 -6
-Wparentheses -Wpointer-arith -Wcast-qual -Wno-multichar  -O -MD
-D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE
-DRM_HEAPMGR -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE 
-DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=3123 
-DNV_UNIX   -DNV_LINUX   -DNVCPU_X86       -I.
-I/lib/modules/2.4.20-xfs-rmap15b/build/include -Wno-cast-qual nv.c
Quoted 4 lines

nv.c: In function `nv_get_phys_address':
nv.c:2182: warning: implicit declaration of function pte_offset' nv.c:2182: invalid type argument of unary *'
make: *** [nv.o] Error 1

Use pte_offset_map() with a corresponding pte_unmap().

err pardon?

#3 lore raw
Quoted 9 lines · mdew
Quoted 6 lines · William Lee Irwin III
Quoted 3 lines · mdew

nv.c: In function `nv_get_phys_address':
nv.c:2182: warning: implicit declaration of function pte_offset' nv.c:2182: invalid type argument of unary *'

Use pte_offset_map() with a corresponding pte_unmap().

err pardon?

wli just gave you the information you need to create a patch for the nvidia driver.

Rik

Signature · 3 lines
Bravely reimplemented by the knights who say "NIH".
http://www.surriel.com/		http://guru.conectiva.com/
Current spamtrap:  <a href=mailto:"[email protected]">[email protected]</a>
#4 lore raw
Quoted 8 lines · Rik van Riel
Quoted 6 lines · mdew
Quoted 5 lines · William Lee Irwin III
Quoted 3 lines · mdew

nv.c: In function `nv_get_phys_address':
nv.c:2182: warning: implicit declaration of function pte_offset' nv.c:2182: invalid type argument of unary *'

Quoted 6 lines
Quoted 3 lines
Quoted 1 line

Use pte_offset_map() with a corresponding pte_unmap().

err pardon?

wli just gave you the information you need to create a patch for the nvidia driver.

The replies for people in the know (Rik, wli) give a clue but not an answer. Use mere mortals want a proper patch in order to build and use this kernel.

I will summarise my understanding so far; The original code says:

unsigned long
nv_get_phys_address(unsigned long address)

{
    pgd_t *pg_dir;
    pmd_t *pg_mid_dir;
    pte_t *pte__, pte;
.....
#if defined (pte_offset_atomic)
    pte__ = pte_offset_atomic(pg_mid_dir, address);
    pte = *pte__;
    pte_kunmap(pte__);
#else
    pte__ = NULL;
    pte = *pte_offset(pg_mid_dir, address);

#endif

    if (!pte_present(pte))
        goto failed;

    return ((pte_val(pte) & KERN_PAGE_MASK) | NV_MASK_OFFSET(address));

.....
}

The last line above is the problem. So far I could see two possible changes that will compile, but I do not know which will function correctly. The first replacement option:

    pte = *pte_offset(pg_mid_dir, address);

The second replacement option is more involved:

    pte__ = pte_offset_map(pg_mid_dir, address);
    pte = *pte__;

    if (!pte_present(pte))
        goto failed;

    pte_unmap(pte__);

Reading the patch itself I see places where the first approach is used, while elsewhere the second is used. I do not know what pte_val(pte) requires though. Can we do the pte_unmap(pte__) earlier or is the mapping
necessary for pte_present(pte)? Will this work:

    pte__ = pte_offset_map(pg_mid_dir, address);
    pte = *pte__;
    pte_unmap(pte__);

In summary, you can see that for someone who is not intimately involved the answers so far do not provide a working patch.

Thanks everybody.

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

#5 lore raw

Eyal Lebedinsky wrote:
8<

Quoted 3 lines

The replies for people in the know (Rik, wli) give a clue but not an answer. Use mere mortals want a proper patch in order to build and use this kernel.

8<

This driver, you mean ;-)

#6 lore raw
Quoted 8 lines · Philip Dodd

Eyal Lebedinsky wrote:
8<

Quoted 3 lines

The replies for people in the know (Rik, wli) give a clue but not an answer. Use mere mortals want a proper patch in order to build and use this kernel.

This driver, you mean ;-)

Well, yes and no. This kernel is of no use to me without this driver right now.

--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>

#7 lore raw
Quoted 8 lines · Eyal Lebedinsky
Quoted 7 lines · Philip Dodd

Eyal Lebedinsky wrote:
8<

Quoted 3 lines

The replies for people in the know (Rik, wli) give a clue but not an answer. Use mere mortals want a proper patch in order to build and use this kernel.

Quoted 5 lines
Quoted 1 line

This driver, you mean ;-)

Well, yes and no. This kernel is of no use to me without this driver right now.

Ah, OK. You need to play quake3 with this kernel, I guess.

Signature · 3 lines
Ducrot Bruno
http://www.poupinou.org        Page profaissionelle
http://toto.tu-me-saoules.com  Haume page
#8 lore raw

Come on, think laptops. XFree86 doesn't support all the NVidias without that driver. Well, except in vesa framebuffer mode, which is horrible.

Quoted 28 lines · --On Monday, December 16, 2002 14:32:23 +0100 Ducrot Bruno <[email protected]>…
Quoted 8 lines · Eyal Lebedinsky
Quoted 7 lines · Philip Dodd

Eyal Lebedinsky wrote:
8<

Quoted 3 lines

The replies for people in the know (Rik, wli) give a clue but not an answer. Use mere mortals want a proper patch in order to build and use this kernel.

Quoted 5 lines
Quoted 1 line

This driver, you mean ;-)

Well, yes and no. This kernel is of no use to me without this driver right now.

Ah, OK. You need to play quake3 with this kernel, I guess.

--
Ducrot Bruno
http://www.poupinou.org Page profaissionelle
http://toto.tu-me-saoules.com Haume page
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/