rmap and nvidia?
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
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 functionpte_offset' nv.c:2182: invalid type argument ofunary *'
make: *** [nv.o] Error 1
Use pte_offset_map() with a corresponding pte_unmap().
Bill
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.cQuoted 4 lines
nv.c: In function `nv_get_phys_address':
nv.c:2182: warning: implicit declaration of functionpte_offset' nv.c:2182: invalid type argument ofunary *'
make: *** [nv.o] Error 1Use
pte_offset_map()with a correspondingpte_unmap().
err pardon?
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 functionpte_offset' nv.c:2182: invalid type argument ofunary *'Use
pte_offset_map()with a correspondingpte_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>
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 functionpte_offset' nv.c:2182: invalid type argument ofunary *'
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Use
pte_offset_map()with a correspondingpte_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 longnv_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/>
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 ;-)
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/>
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
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/