Subject: Re: Changing /dev/zero minor for ARM
To: Jaromir Dolecek <jdolecek@netbsd.org>
From: Chris Gilbert <chris@dokein.co.uk>
List: tech-kern
Date: 10/11/2003 20:18:05
Why?  Is there a reason for the change (yes I know it's strange, but
then so are some of the arm ports major's as well.)

Shouln't the diff also check these defines:
COMPAT_15 COMPAT_14 COMPAT_13 COMPAT_12 
bearing in mind that acorn32 is actually older than most people expect.

Also I assume you'd do the MAKEDEV changes for all the arm based archs?

Chris

On Sat, 11 Oct 2003 14:58:21 +0200 (CEST)
Jaromir Dolecek <jdolecek@netbsd.org> wrote:

> I'd like to get rid of ARM having different /dev/zero minor number
> than all other archs. Anyone sees a problem with this change?
> The MAKEDEVs for ARM ports would need to be adjusted to create
> /dev/zero with minor 12 too, of course.
> 
> Jaromir
> 
> Index: sys/conf.h
> ===================================================================
> RCS file: /cvsroot/src/sys/sys/conf.h,v
> retrieving revision 1.112
> diff -u -p -r1.112 conf.h
> --- sys/conf.h	7 Aug 2003 16:34:00 -0000	1.112
> +++ sys/conf.h	11 Oct 2003 12:54:02 -0000
> @@ -199,11 +199,8 @@ extern struct swdevt swdevt[];
>  #define	DEV_MEM		0	/* minor device 0 is physical memory */
>  #define	DEV_KMEM	1	/* minor device 1 is kernel memory */
>  #define DEV_NULL	2	/* minor device 2 is EOF/rathole */
> -#ifdef __arm__			/* XXX: FIX ME ARM! */
> -#define DEV_ZERO	3	/* minor device 3 is '\0'/rathole */
> -#else
> +#define _DEV_ZERO_oARM	3	/* reserved: old /dev/zero for __arm__ */
>  #define DEV_ZERO	12	/* minor device 12 is '\0'/rathole */
> -#endif
>  
>  #endif /* _KERNEL */
>  
> Index: arch/arm/arm32/mem.c
> ===================================================================
> RCS file: /cvsroot/src/sys/arch/arm/arm32/mem.c,v
> retrieving revision 1.10
> diff -u -p -r1.10 mem.c
> --- arch/arm/arm32/mem.c	7 Aug 2003 16:26:52 -0000	1.10
> +++ arch/arm/arm32/mem.c	11 Oct 2003 12:54:02 -0000
> @@ -72,6 +72,8 @@
>   * Memory special file
>   */
>  
> +#include "opt_compat_netbsd.h"
> +
>  #include <sys/cdefs.h>
>  __KERNEL_RCSID(0, "$NetBSD: mem.c,v 1.10 2003/08/07 16:26:52 agc Exp
>  $");
>  
> @@ -165,6 +167,9 @@ mmrw(dev, uio, flags)
>  				uio->uio_resid = 0;
>  			return (0);
>  
> +#ifdef COMPAT_16
> +		case _DEV_ZERO_oARM:
> +#endif
>  		case DEV_ZERO:
>  			if (uio->uio_rw == UIO_WRITE) {
>  				uio->uio_resid = 0;
> Index: arch/acorn26/acorn26/mem.c
> ===================================================================
> RCS file: /cvsroot/src/sys/arch/acorn26/acorn26/mem.c,v
> retrieving revision 1.6
> diff -u -p -r1.6 mem.c
> --- arch/acorn26/acorn26/mem.c	7 Aug 2003 16:26:28 -0000	1.6
> +++ arch/acorn26/acorn26/mem.c	11 Oct 2003 12:54:02 -0000
> @@ -72,6 +72,8 @@
>   * Memory special file
>   */
>  
> +#include "opt_compat_netbsd.h"
> +
>  #include <sys/cdefs.h>
>  __KERNEL_RCSID(0, "$NetBSD: mem.c,v 1.6 2003/08/07 16:26:28 agc Exp
>  $");
>  
> @@ -161,6 +163,9 @@ mmrw(dev, uio, flags)
>  				uio->uio_resid = 0;
>  			return (0);
>  
> +#ifdef COMPAT_16
> +		case _DEV_ZERO_oARM:
> +#endif
>  		case DEV_ZERO:
>  			if (uio->uio_rw == UIO_WRITE) {
>  				uio->uio_resid = 0;
> -- 
> Jaromir Dolecek <jdolecek@NetBSD.org>            http://www.NetBSD.cz/
> -=- We should be mindful of the potential goal, but as the tantric   
> -=--=- Buddhist masters say, ``You may notice during meditation that
> you -=--=- sometimes levitate or glow.   Do not let this distract
> you.''     -=-