* [Patch] Makes NVidia's driver work with kernel 2.5.24
@ 2002-06-21 10:32 Andre Bonin
2002-06-21 11:52 ` faasen
0 siblings, 1 reply; 3+ messages in thread
From: Andre Bonin @ 2002-06-21 10:32 UTC (permalink / raw)
To: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 757 bytes --]
Hi!
I found a patch that makes the NVidia's driver (NVIDIA_kernel-1.0-2960)
work with the 2.5 series kernels. Unfortunatly it breaks because of the
deprecation of suser in 2.5.24. I have created a patch for this (from
the 'stable' NVIDIA_kernel-1.0-2960 driver).
Most of the patch is not my doing but an unamed person somewhere on the
net. If you are that person, you can reply to this mail and take your
valid credit.
This is my first module change and my first patch so if there is
anything 'wierd' or 'wrong' please tell me, there's only one way to learn.
Thanks!
---
***********************************
Andre Bonin
Computer Engineering Technologist
Student in Software Engineering
Ottawa, Ontario
Canada
***********************************
[-- Attachment #2: patch.nvidia-2.5.24.diff --]
[-- Type: text/plain, Size: 8439 bytes --]
diff -ruN stable/NVIDIA_kernel-1.0-2960/Makefile NVIDIA_kernel-1.0-2960/Makefile
--- stable/NVIDIA_kernel-1.0-2960/Makefile Tue May 14 10:26:15 2002
+++ NVIDIA_kernel-1.0-2960/Makefile Fri Jun 21 04:16:51 2002
@@ -9,6 +9,7 @@
HEADERS=os-interface.h nv-linux.h nv.h nvrm.h nvtypes.h $(VERSION_HDR)
CFLAGS=-Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD $(DEFINES) $(INCLUDES) -Wno-cast-qual
+
RESMAN_KERNEL_MODULE=Module-nvkernel
diff -ruN stable/NVIDIA_kernel-1.0-2960/nv-linux.h NVIDIA_kernel-1.0-2960/nv-linux.h
--- stable/NVIDIA_kernel-1.0-2960/nv-linux.h Tue May 14 10:26:16 2002
+++ NVIDIA_kernel-1.0-2960/nv-linux.h Fri May 31 12:35:41 2002
@@ -38,7 +38,7 @@
#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
# define KERNEL_2_4
#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
-# error This driver does not support 2.5.x development kernels!
+//# error This driver does not support 2.5.x development kernels!
# define KERNEL_2_5
#else
# error This driver does not support 2.6.x or newer kernels!
diff -ruN stable/NVIDIA_kernel-1.0-2960/nv.c NVIDIA_kernel-1.0-2960/nv.c
--- stable/NVIDIA_kernel-1.0-2960/nv.c Tue May 14 10:26:16 2002
+++ NVIDIA_kernel-1.0-2960/nv.c Fri May 31 12:35:41 2002
@@ -50,6 +50,12 @@
#include <linux/devfs_fs_kernel.h>
#endif
+/* Since 2.5.x this is needed for the coorect lookup of the page table entry */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 0)
+#include <asm/kmap_types.h>
+#include <linux/highmem.h>
+#endif
+
#include <asm/page.h>
#include <asm/pgtable.h> // pte bit definitions
#include <asm/system.h> // cli(), *_flags
@@ -1155,11 +1161,22 @@
/* for control device, just jump to its open routine */
/* after setting up the private data */
+
+ /* I don't really know the correct kernel version since when it changed */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
if (NV_DEVICE_IS_CONTROL_DEVICE(inode->i_rdev))
return nv_kern_ctl_open(inode, file);
-
+#else
+ if (NV_DEVICE_IS_CONTROL_DEVICE(kdev_val(inode->i_rdev)))
+ return nv_kern_ctl_open(inode, file);
+#endif
/* what device are we talking about? */
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
devnum = NV_DEVICE_NUMBER(inode->i_rdev);
+#else
+ devnum = NV_DEVICE_NUMBER(kdev_val(inode->i_rdev));
+#endif
if (devnum >= NV_MAX_DEVICES)
{
rc = -ENODEV;
@@ -1265,9 +1282,14 @@
/* for control device, just jump to its open routine */
/* after setting up the private data */
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
if (NV_DEVICE_IS_CONTROL_DEVICE(inode->i_rdev))
+ return nv_kern_ctl_close(inode, file);
+#else
+ if(NV_DEVICE_IS_CONTROL_DEVICE(kdev_val(inode->i_rdev)))
return nv_kern_ctl_close(inode, file);
-
+#endif
NV_DMSG(nv, "close");
nv_unix_free_all_unused_clients(nv, current->pid, (void *) file);
@@ -1386,11 +1408,21 @@
#if defined(IA64)
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
if (remap_page_range(vma->vm_start,
(u32)(nv->regs.address) + LINUX_VMA_OFFS(vma) - NV_MMAP_REG_OFFSET,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
return -EAGAIN;
+#else
+ if (remap_page_range(vma,
+ vma->vm_start,
+ (u32) (nv->regs.address) + LINUX_VMA_OFFS(vma) - NV_MMAP_REG_OFFSET,
+ vma->vm_end - vma->vm_start,
+ vma->vm_page_prot))
+ return -EAGAIN;
+#endif
/* mark it as IO so that we don't dump it on core dump */
vma->vm_flags |= VM_IO;
@@ -1403,11 +1435,20 @@
#if defined(IA64)
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
if (remap_page_range(vma->vm_start,
(u32)(nv->fb.address) + LINUX_VMA_OFFS(vma) - NV_MMAP_FB_OFFSET,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
return -EAGAIN;
+#else
+ if (remap_page_range(vma,
+ vma->vm_start,
+ (u32) (nv->fb.address) + LINUX_VMA_OFFS(vma) - NV_MMAP_FB_OFFSET,
+ vma->vm_end - vma->vm_start,
+ vma->vm_page_prot))
+ return -EAGAIN;
+#endif
// mark it as IO so that we don't dump it on core dump
vma->vm_flags |= VM_IO;
@@ -1437,8 +1478,13 @@
while (pages--)
{
page = (unsigned long) at->page_table[i++];
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
if (remap_page_range(start, page, PAGE_SIZE, PAGE_SHARED))
return -EAGAIN;
+#else
+ if (remap_page_range(vma, start, page, PAGE_SIZE, PAGE_SHARED))
+ return -EAGAIN;
+#endif
start += PAGE_SIZE;
pos += PAGE_SIZE;
}
@@ -2273,7 +2319,11 @@
pte_kunmap(pte__);
#else
pte__ = NULL;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
pte = *pte_offset(pg_mid_dir, address);
+#else
+ pte = *pte_offset_map(pg_mid_dir, address);
+#endif
#endif
if (!pte_present(pte))
diff -ruN stable/NVIDIA_kernel-1.0-2960/os-interface.c NVIDIA_kernel-1.0-2960/os-interface.c
--- stable/NVIDIA_kernel-1.0-2960/os-interface.c Tue May 14 10:26:16 2002
+++ NVIDIA_kernel-1.0-2960/os-interface.c Fri Jun 21 04:54:35 2002
@@ -41,6 +41,7 @@
#include <linux/stddef.h>
#include <linux/kernel.h> // printk()
#include <linux/errno.h> // error codes
+#include <linux/sched.h> // capable(int)
#include <linux/types.h> // size_t
#include <linux/interrupt.h> // in_interrupt()
#include <linux/delay.h> // udelay()
@@ -114,13 +115,13 @@
#endif // DEBUG
// return TRUE if the caller is the super-user
-BOOL osIsAdministrator(
- PHWINFO pDev
-)
-{
- return suser();
+
+BOOL osIsAdministrator( PHWINFO pDev ) {
+ return capable( CAP_SYS_ADMIN );
}
+
+
//
// Some quick and dirty library functions.
// This is an OS function because some operating systems supply their
@@ -1458,9 +1459,14 @@
uaddr = *priv;
/* finally, let's do it! */
- err = remap_page_range( (size_t) uaddr, (size_t) paddr, size_bytes,
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
+ err = remap_page_range( (size_t) uaddr, (size_t) paddr, size_bytes,
+ PAGE_SHARED);
+#else
+ err = remap_page_range( kaddr, (size_t) uaddr, (size_t) paddr, size_bytes,
PAGE_SHARED);
-
+#endif
if (err != 0)
{
return (void *) NULL;
@@ -1485,10 +1491,14 @@
uaddr = *priv;
- /* finally, let's do it! */
- err = remap_page_range( (size_t) uaddr, (size_t) start, size_bytes,
+ /* finally, let's do it! */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
+ err = remap_page_rage( (size_t) uaddr, (size_t) start, size_bytes,
+ PAGE_SHARED);
+#else
+ err = remap_page_range( *priv, (size_t) uaddr, (size_t) start, size_bytes,
PAGE_SHARED);
-
+#endif
if (err != 0)
{
return (void *) NULL;
@@ -2032,15 +2042,25 @@
return RM_ERROR;
agp_addr = agpinfo.aper_base + (agp_data->offset << PAGE_SHIFT);
-
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
err = remap_page_range(vma->vm_start, (size_t) agp_addr,
agp_data->num_pages << PAGE_SHIFT,
#if defined(IA64)
vma->vm_page_prot);
#else
PAGE_SHARED);
-#endif
-
+#endif /* IA64 */
+
+#else
+ err = remap_page_range(vma,
+ vma->vm_start, (size_t) agp_addr,
+ agp_data->num_pages << PAGE_SHIFT,
+#if defined(IA64)
+ vma->vm_page_prot);
+#else
+ PAGE_SHARED);
+#endif /* IA64 */
+#endif /* LINUX_VERSION_CODE */
if (err) {
printk(KERN_ERR "NVRM: AGPGART: unable to remap %lu pages\n",
(unsigned long)agp_data->num_pages);
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [Patch] Makes NVidia's driver work with kernel 2.5.24
2002-06-21 10:32 [Patch] Makes NVidia's driver work with kernel 2.5.24 Andre Bonin
@ 2002-06-21 11:52 ` faasen
2002-06-21 11:51 ` Strange problems with 2.4.18 on RH 7.2 Egidijus Antanaitis
0 siblings, 1 reply; 3+ messages in thread
From: faasen @ 2002-06-21 11:52 UTC (permalink / raw)
To: Andre Bonin; +Cc: linux-kernel
On Fri, Jun 21, 2002 at 05:32:49AM -0500, Andre Bonin wrote:
> Hi!
>
> I found a patch that makes the NVidia's driver (NVIDIA_kernel-1.0-2960)
> work with the 2.5 series kernels. Unfortunatly it breaks because of the
> deprecation of suser in 2.5.24. I have created a patch for this (from
> the 'stable' NVIDIA_kernel-1.0-2960 driver).
>
> Most of the patch is not my doing but an unamed person somewhere on the
> net. If you are that person, you can reply to this mail and take your
> valid credit.
>
> This is my first module change and my first patch so if there is
> anything 'wierd' or 'wrong' please tell me, there's only one way to learn.
>
> Thanks!
>
Great work, except I made the same patch some days ago since suser broke in 2.5.21 ;)
Look here
http://marc.theaimsgroup.com/?l=linux-kernel&m=102424991602260&w=2
and here
http://thuis.zwanebloem.nl/nvidia
Guess it's better to have 2 patches then no patch :)
Tommy
> ---
> ***********************************
> Andre Bonin
> Computer Engineering Technologist
> Student in Software Engineering
> Ottawa, Ontario
> Canada
> ***********************************
> diff -ruN stable/NVIDIA_kernel-1.0-2960/Makefile NVIDIA_kernel-1.0-2960/Makefile
> --- stable/NVIDIA_kernel-1.0-2960/Makefile Tue May 14 10:26:15 2002
> +++ NVIDIA_kernel-1.0-2960/Makefile Fri Jun 21 04:16:51 2002
> @@ -9,6 +9,7 @@
> HEADERS=os-interface.h nv-linux.h nv.h nvrm.h nvtypes.h $(VERSION_HDR)
>
> CFLAGS=-Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD $(DEFINES) $(INCLUDES) -Wno-cast-qual
> +
>
> RESMAN_KERNEL_MODULE=Module-nvkernel
>
> diff -ruN stable/NVIDIA_kernel-1.0-2960/nv-linux.h NVIDIA_kernel-1.0-2960/nv-linux.h
> --- stable/NVIDIA_kernel-1.0-2960/nv-linux.h Tue May 14 10:26:16 2002
> +++ NVIDIA_kernel-1.0-2960/nv-linux.h Fri May 31 12:35:41 2002
> @@ -38,7 +38,7 @@
> #elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> # define KERNEL_2_4
> #elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
> -# error This driver does not support 2.5.x development kernels!
> +//# error This driver does not support 2.5.x development kernels!
> # define KERNEL_2_5
> #else
> # error This driver does not support 2.6.x or newer kernels!
> diff -ruN stable/NVIDIA_kernel-1.0-2960/nv.c NVIDIA_kernel-1.0-2960/nv.c
> --- stable/NVIDIA_kernel-1.0-2960/nv.c Tue May 14 10:26:16 2002
> +++ NVIDIA_kernel-1.0-2960/nv.c Fri May 31 12:35:41 2002
> @@ -50,6 +50,12 @@
> #include <linux/devfs_fs_kernel.h>
> #endif
>
> +/* Since 2.5.x this is needed for the coorect lookup of the page table entry */
> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 0)
> +#include <asm/kmap_types.h>
> +#include <linux/highmem.h>
> +#endif
> +
> #include <asm/page.h>
> #include <asm/pgtable.h> // pte bit definitions
> #include <asm/system.h> // cli(), *_flags
> @@ -1155,11 +1161,22 @@
>
> /* for control device, just jump to its open routine */
> /* after setting up the private data */
> +
> + /* I don't really know the correct kernel version since when it changed */
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> if (NV_DEVICE_IS_CONTROL_DEVICE(inode->i_rdev))
> return nv_kern_ctl_open(inode, file);
> -
> +#else
> + if (NV_DEVICE_IS_CONTROL_DEVICE(kdev_val(inode->i_rdev)))
> + return nv_kern_ctl_open(inode, file);
> +#endif
> /* what device are we talking about? */
> +
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> devnum = NV_DEVICE_NUMBER(inode->i_rdev);
> +#else
> + devnum = NV_DEVICE_NUMBER(kdev_val(inode->i_rdev));
> +#endif
> if (devnum >= NV_MAX_DEVICES)
> {
> rc = -ENODEV;
> @@ -1265,9 +1282,14 @@
>
> /* for control device, just jump to its open routine */
> /* after setting up the private data */
> +
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> if (NV_DEVICE_IS_CONTROL_DEVICE(inode->i_rdev))
> + return nv_kern_ctl_close(inode, file);
> +#else
> + if(NV_DEVICE_IS_CONTROL_DEVICE(kdev_val(inode->i_rdev)))
> return nv_kern_ctl_close(inode, file);
> -
> +#endif
> NV_DMSG(nv, "close");
>
> nv_unix_free_all_unused_clients(nv, current->pid, (void *) file);
> @@ -1386,11 +1408,21 @@
> #if defined(IA64)
> vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
> #endif
> +
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> if (remap_page_range(vma->vm_start,
> (u32)(nv->regs.address) + LINUX_VMA_OFFS(vma) - NV_MMAP_REG_OFFSET,
> vma->vm_end - vma->vm_start,
> vma->vm_page_prot))
> return -EAGAIN;
> +#else
> + if (remap_page_range(vma,
> + vma->vm_start,
> + (u32) (nv->regs.address) + LINUX_VMA_OFFS(vma) - NV_MMAP_REG_OFFSET,
> + vma->vm_end - vma->vm_start,
> + vma->vm_page_prot))
> + return -EAGAIN;
> +#endif
>
> /* mark it as IO so that we don't dump it on core dump */
> vma->vm_flags |= VM_IO;
> @@ -1403,11 +1435,20 @@
> #if defined(IA64)
> vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
> #endif
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> if (remap_page_range(vma->vm_start,
> (u32)(nv->fb.address) + LINUX_VMA_OFFS(vma) - NV_MMAP_FB_OFFSET,
> vma->vm_end - vma->vm_start,
> vma->vm_page_prot))
> return -EAGAIN;
> +#else
> + if (remap_page_range(vma,
> + vma->vm_start,
> + (u32) (nv->fb.address) + LINUX_VMA_OFFS(vma) - NV_MMAP_FB_OFFSET,
> + vma->vm_end - vma->vm_start,
> + vma->vm_page_prot))
> + return -EAGAIN;
> +#endif
>
> // mark it as IO so that we don't dump it on core dump
> vma->vm_flags |= VM_IO;
> @@ -1437,8 +1478,13 @@
> while (pages--)
> {
> page = (unsigned long) at->page_table[i++];
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> if (remap_page_range(start, page, PAGE_SIZE, PAGE_SHARED))
> return -EAGAIN;
> +#else
> + if (remap_page_range(vma, start, page, PAGE_SIZE, PAGE_SHARED))
> + return -EAGAIN;
> +#endif
> start += PAGE_SIZE;
> pos += PAGE_SIZE;
> }
> @@ -2273,7 +2319,11 @@
> pte_kunmap(pte__);
> #else
> pte__ = NULL;
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> pte = *pte_offset(pg_mid_dir, address);
> +#else
> + pte = *pte_offset_map(pg_mid_dir, address);
> +#endif
> #endif
>
> if (!pte_present(pte))
> diff -ruN stable/NVIDIA_kernel-1.0-2960/os-interface.c NVIDIA_kernel-1.0-2960/os-interface.c
> --- stable/NVIDIA_kernel-1.0-2960/os-interface.c Tue May 14 10:26:16 2002
> +++ NVIDIA_kernel-1.0-2960/os-interface.c Fri Jun 21 04:54:35 2002
> @@ -41,6 +41,7 @@
> #include <linux/stddef.h>
> #include <linux/kernel.h> // printk()
> #include <linux/errno.h> // error codes
> +#include <linux/sched.h> // capable(int)
> #include <linux/types.h> // size_t
> #include <linux/interrupt.h> // in_interrupt()
> #include <linux/delay.h> // udelay()
> @@ -114,13 +115,13 @@
> #endif // DEBUG
>
> // return TRUE if the caller is the super-user
> -BOOL osIsAdministrator(
> - PHWINFO pDev
> -)
> -{
> - return suser();
> +
> +BOOL osIsAdministrator( PHWINFO pDev ) {
> + return capable( CAP_SYS_ADMIN );
> }
>
> +
> +
> //
> // Some quick and dirty library functions.
> // This is an OS function because some operating systems supply their
> @@ -1458,9 +1459,14 @@
> uaddr = *priv;
>
> /* finally, let's do it! */
> - err = remap_page_range( (size_t) uaddr, (size_t) paddr, size_bytes,
> +
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> + err = remap_page_range( (size_t) uaddr, (size_t) paddr, size_bytes,
> + PAGE_SHARED);
> +#else
> + err = remap_page_range( kaddr, (size_t) uaddr, (size_t) paddr, size_bytes,
> PAGE_SHARED);
> -
> +#endif
> if (err != 0)
> {
> return (void *) NULL;
> @@ -1485,10 +1491,14 @@
>
> uaddr = *priv;
>
> - /* finally, let's do it! */
> - err = remap_page_range( (size_t) uaddr, (size_t) start, size_bytes,
> + /* finally, let's do it! */
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> + err = remap_page_rage( (size_t) uaddr, (size_t) start, size_bytes,
> + PAGE_SHARED);
> +#else
> + err = remap_page_range( *priv, (size_t) uaddr, (size_t) start, size_bytes,
> PAGE_SHARED);
> -
> +#endif
> if (err != 0)
> {
> return (void *) NULL;
> @@ -2032,15 +2042,25 @@
> return RM_ERROR;
>
> agp_addr = agpinfo.aper_base + (agp_data->offset << PAGE_SHIFT);
> -
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
> err = remap_page_range(vma->vm_start, (size_t) agp_addr,
> agp_data->num_pages << PAGE_SHIFT,
> #if defined(IA64)
> vma->vm_page_prot);
> #else
> PAGE_SHARED);
> -#endif
> -
> +#endif /* IA64 */
> +
> +#else
> + err = remap_page_range(vma,
> + vma->vm_start, (size_t) agp_addr,
> + agp_data->num_pages << PAGE_SHIFT,
> +#if defined(IA64)
> + vma->vm_page_prot);
> +#else
> + PAGE_SHARED);
> +#endif /* IA64 */
> +#endif /* LINUX_VERSION_CODE */
> if (err) {
> printk(KERN_ERR "NVRM: AGPGART: unable to remap %lu pages\n",
> (unsigned long)agp_data->num_pages);
^ permalink raw reply [flat|nested] 3+ messages in thread* Strange problems with 2.4.18 on RH 7.2
2002-06-21 11:52 ` faasen
@ 2002-06-21 11:51 ` Egidijus Antanaitis
0 siblings, 0 replies; 3+ messages in thread
From: Egidijus Antanaitis @ 2002-06-21 11:51 UTC (permalink / raw)
To: linux-kernel
Linux RH 7.2, vanilla kernel 2.4.18 with SGI XFS patch 1.1. The test: I
have tried to copy a large file (700MB) from one disk to another and the
effect: after copying for 2 seconds, it stops for 2 seconds and again again
and again... The same situation with vanilla without XFS patch. The problem
dissapears when I use RH's prepared kernel. The friend of mine reports the
same. Where is the point?
Egidijus Antanaitis
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-06-21 11:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-21 10:32 [Patch] Makes NVidia's driver work with kernel 2.5.24 Andre Bonin
2002-06-21 11:52 ` faasen
2002-06-21 11:51 ` Strange problems with 2.4.18 on RH 7.2 Egidijus Antanaitis
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.