bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH gnumach 1/6] kern: import `macros.h' from x15


From: Samuel Thibault
Subject: Re: [PATCH gnumach 1/6] kern: import `macros.h' from x15
Date: Wed, 20 May 2015 01:24:01 +0200
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Justus Winter, le Tue 19 May 2015 17:38:59 +0200, a écrit :
> Import the macro definitions from the x15 kernel project, and replace
> all similar definitions littered all over the place with it.
> 
> Importing this file will make importing code from the x15 kernel
> easier.  We are already using the red-black tree implementation and
> the slab allocator from it, and we will import even more code in the
> near future.

Ack, thanks!

> * kern/list.h: Do not define `structof', include `macros.h' instead.
> * kern/rbtree.h: Likewise.
> * kern/slab.c: Do not define `ARRAY_SIZE', include `macros.h' instead.
> * i386/grub/misc.h: Likewise.
> * i386/i386/xen.h: Do not define `barrier', include `macros.h' instead.
> * kern/macro_help.h: Delete file.  Replaced by `macros.h'.
> * kern/macros.h: New file.
> * Makefrag.am (libkernel_a_SOURCES): Add new file, remove old file.
> * device/dev_master.h: Adopt accordingly.
> * device/io_req.h: Likewise.
> * device/net_io.h: Likewise.
> * i386/intel/read_fault.c: Likewise.
> * ipc/ipc_kmsg.h: Likewise.
> * ipc/ipc_mqueue.h: Likewise.
> * ipc/ipc_object.h: Likewise.
> * ipc/ipc_port.h: Likewise.
> * ipc/ipc_space.h: Likewise.
> * ipc/ipc_splay.c: Likewise.
> * ipc/ipc_splay.h: Likewise.
> * kern/assert.h: Likewise.
> * kern/ast.h: Likewise.
> * kern/pc_sample.h: Likewise.
> * kern/refcount.h: Likewise.
> * kern/sched.h: Likewise.
> * kern/sched_prim.c: Likewise.
> * kern/timer.c: Likewise.
> * kern/timer.h: Likewise.
> * vm/vm_fault.c: Likewise.
> * vm/vm_map.h: Likewise.
> * vm/vm_object.h: Likewise.
> * vm/vm_page.h: Likewise.
> ---
>  Makefrag.am             |  2 +-
>  device/dev_master.h     |  2 +-
>  device/io_req.h         |  2 +-
>  device/net_io.h         |  2 +-
>  i386/grub/misc.h        |  2 +-
>  i386/i386/xen.h         |  2 +-
>  i386/intel/read_fault.c |  2 +-
>  ipc/ipc_kmsg.h          |  2 +-
>  ipc/ipc_mqueue.h        |  2 +-
>  ipc/ipc_object.h        |  2 +-
>  ipc/ipc_port.h          |  2 +-
>  ipc/ipc_space.h         |  2 +-
>  ipc/ipc_splay.c         |  2 +-
>  ipc/ipc_splay.h         |  2 +-
>  kern/assert.h           |  2 +-
>  kern/ast.h              |  2 +-
>  kern/list.h             |  4 +--
>  kern/macro_help.h       | 50 ----------------------------------
>  kern/macros.h           | 72 
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  kern/pc_sample.h        |  2 +-
>  kern/rbtree.h           |  5 +---
>  kern/refcount.h         |  2 +-
>  kern/sched.h            |  2 +-
>  kern/sched_prim.c       |  2 +-
>  kern/slab.c             |  2 +-
>  kern/timer.c            |  2 +-
>  kern/timer.h            |  2 +-
>  vm/vm_fault.c           |  2 +-
>  vm/vm_map.h             |  2 +-
>  vm/vm_object.h          |  2 +-
>  vm/vm_page.h            |  2 +-
>  31 files changed, 101 insertions(+), 84 deletions(-)
>  delete mode 100644 kern/macro_help.h
>  create mode 100644 kern/macros.h
> 
> diff --git a/Makefrag.am b/Makefrag.am
> index 9166143..9222ad2 100644
> --- a/Makefrag.am
> +++ b/Makefrag.am
> @@ -171,7 +171,7 @@ libkernel_a_SOURCES += \
>       kern/mach_factor.h \
>       kern/machine.c \
>       kern/machine.h \
> -     kern/macro_help.h \
> +     kern/macros.h \
>       kern/pc_sample.c \
>       kern/pc_sample.h \
>       kern/printf.c \
> diff --git a/device/dev_master.h b/device/dev_master.h
> index 6ad1152..70d4c63 100644
> --- a/device/dev_master.h
> +++ b/device/dev_master.h
> @@ -37,7 +37,7 @@
>  
>  #if  NCPUS > 1
>  
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/cpu_number.h>
>  #include <kern/sched_prim.h>
>  #include <kern/thread.h>
> diff --git a/device/io_req.h b/device/io_req.h
> index 65e23e6..1ad4680 100644
> --- a/device/io_req.h
> +++ b/device/io_req.h
> @@ -42,7 +42,7 @@
>  #include <device/device_types.h>
>  #include <device/dev_hdr.h>
>  
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  /*
>   * IO request element, queued on device for delayed replies.
> diff --git a/device/net_io.h b/device/net_io.h
> index f6de854..d4e24d4 100644
> --- a/device/net_io.h
> +++ b/device/net_io.h
> @@ -38,7 +38,7 @@
>  #include <mach/machine/vm_types.h>
>  #include <ipc/ipc_kmsg.h>
>  
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/lock.h>
>  #include <kern/kalloc.h>
>  
> diff --git a/i386/grub/misc.h b/i386/grub/misc.h
> index c6cd456..b71140a 100644
> --- a/i386/grub/misc.h
> +++ b/i386/grub/misc.h
> @@ -21,6 +21,7 @@
>  #define GRUB_MISC_HEADER     1
>  
>  #include <stdarg.h>
> +#include <kern/macros.h>
>  #include <grub/types.h>
>  #include <grub/symbol.h>
>  #include <grub/err.h>
> @@ -32,7 +33,6 @@
>  #define ALIGN_UP_OVERHEAD(addr, align) ((-(addr)) & ((typeof (addr)) (align) 
> - 1))
>  #define ALIGN_DOWN(addr, align) \
>       ((addr) & ~((typeof (addr)) align - 1))
> -#define ARRAY_SIZE(array) (sizeof (array) / sizeof (array[0]))
>  #define COMPILE_TIME_ASSERT(cond) switch (0) { case 1: case !(cond): ; }
>  
>  #define grub_dprintf(condition, ...) grub_real_dprintf(GRUB_FILE, __LINE__, 
> condition, __VA_ARGS__)
> diff --git a/i386/i386/xen.h b/i386/i386/xen.h
> index 638d671..c681187 100644
> --- a/i386/i386/xen.h
> +++ b/i386/i386/xen.h
> @@ -21,6 +21,7 @@
>  
>  #ifdef       MACH_XEN
>  #ifndef      __ASSEMBLER__
> +#include <kern/macros.h>
>  #include <kern/printf.h>
>  #include <mach/machine/vm_types.h>
>  #include <mach/vm_param.h>
> @@ -32,7 +33,6 @@
>  #include <xen/public/xen.h>
>  
>  /* TODO: this should be moved in appropriate non-Xen place.  */
> -#define barrier() __asm__ __volatile__ ("": : :"memory")
>  #define mb() __asm__ __volatile__("lock; addl $0,0(%%esp)":::"memory")
>  #define rmb() mb()
>  #define wmb() mb()
> diff --git a/i386/intel/read_fault.c b/i386/intel/read_fault.c
> index 29f4439..4b1edce 100644
> --- a/i386/intel/read_fault.c
> +++ b/i386/intel/read_fault.c
> @@ -31,7 +31,7 @@
>  #include <vm/vm_page.h>
>  #include <vm/pmap.h>
>  
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  /*
>   *   Expansion of vm_fault for read fault in kernel mode.
> diff --git a/ipc/ipc_kmsg.h b/ipc/ipc_kmsg.h
> index 620785b..393c039 100644
> --- a/ipc/ipc_kmsg.h
> +++ b/ipc/ipc_kmsg.h
> @@ -38,7 +38,7 @@
>  #include <mach/message.h>
>  #include <kern/assert.h>
>  #include <kern/cpu_number.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/kalloc.h>
>  #include <ipc/ipc_marequest.h>
>  #include <ipc/ipc_object.h>
> diff --git a/ipc/ipc_mqueue.h b/ipc/ipc_mqueue.h
> index f8a2f1e..2af5e02 100644
> --- a/ipc/ipc_mqueue.h
> +++ b/ipc/ipc_mqueue.h
> @@ -37,7 +37,7 @@
>  #include <mach/message.h>
>  #include <kern/assert.h>
>  #include <kern/lock.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <ipc/ipc_kmsg_queue.h>
>  #include <ipc/ipc_kmsg.h>
>  #include <ipc/ipc_thread.h>
> diff --git a/ipc/ipc_object.h b/ipc/ipc_object.h
> index b83bb5a..be5bea7 100644
> --- a/ipc/ipc_object.h
> +++ b/ipc/ipc_object.h
> @@ -38,7 +38,7 @@
>  #include <mach/message.h>
>  #include <ipc/ipc_types.h>
>  #include <kern/lock.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/slab.h>
>  
>  typedef unsigned int ipc_object_refs_t;
> diff --git a/ipc/ipc_port.h b/ipc/ipc_port.h
> index 6914c71..ade6967 100644
> --- a/ipc/ipc_port.h
> +++ b/ipc/ipc_port.h
> @@ -43,7 +43,7 @@
>  #include <mach/kern_return.h>
>  #include <mach/port.h>
>  #include <kern/lock.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/ipc_kobject.h>
>  #include <ipc/ipc_mqueue.h>
>  #include <ipc/ipc_table.h>
> diff --git a/ipc/ipc_space.h b/ipc/ipc_space.h
> index c4683d2..3bd2f4d 100644
> --- a/ipc/ipc_space.h
> +++ b/ipc/ipc_space.h
> @@ -42,7 +42,7 @@
>  #include <mach/boolean.h>
>  #include <mach/kern_return.h>
>  #include <mach/mach_types.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/lock.h>
>  #include <kern/slab.h>
>  #include <ipc/ipc_splay.h>
> diff --git a/ipc/ipc_splay.c b/ipc/ipc_splay.c
> index 6fb5bcb..062a69f 100644
> --- a/ipc/ipc_splay.c
> +++ b/ipc/ipc_splay.c
> @@ -35,7 +35,7 @@
>  
>  #include <mach/port.h>
>  #include <kern/assert.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <ipc/ipc_entry.h>
>  #include <ipc/ipc_splay.h>
>  
> diff --git a/ipc/ipc_splay.h b/ipc/ipc_splay.h
> index d3316ef..42e5a80 100644
> --- a/ipc/ipc_splay.h
> +++ b/ipc/ipc_splay.h
> @@ -38,7 +38,7 @@
>  
>  #include <mach/port.h>
>  #include <kern/assert.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <ipc/ipc_entry.h>
>  
>  typedef struct ipc_splay_tree {
> diff --git a/kern/assert.h b/kern/assert.h
> index bd2a8be..7b66d1b 100644
> --- a/kern/assert.h
> +++ b/kern/assert.h
> @@ -29,7 +29,7 @@
>  
>  /*   assert.h        4.2     85/01/21        */
>  
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  #ifndef NDEBUG
>  #define MACH_ASSERT 1
> diff --git a/kern/ast.h b/kern/ast.h
> index 4c28b1e..7d472be 100644
> --- a/kern/ast.h
> +++ b/kern/ast.h
> @@ -41,7 +41,7 @@
>   */
>  
>  #include "cpu_number.h"
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <machine/ast.h>
>  
>  /*
> diff --git a/kern/list.h b/kern/list.h
> index ad782a8..be92762 100644
> --- a/kern/list.h
> +++ b/kern/list.h
> @@ -31,9 +31,7 @@
>  
>  #include <stddef.h>
>  #include <sys/types.h>
> -
> -#define structof(ptr, type, member) \
> -    ((type *)((char *)ptr - offsetof(type, member)))
> +#include <kern/macros.h>
>  
>  /*
>   * Structure used as both head and node.
> diff --git a/kern/macro_help.h b/kern/macro_help.h
> deleted file mode 100644
> index 7ce171f..0000000
> --- a/kern/macro_help.h
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -/* 
> - * Mach Operating System
> - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University
> - * All Rights Reserved.
> - * 
> - * Permission to use, copy, modify and distribute this software and its
> - * documentation is hereby granted, provided that both the copyright
> - * notice and this permission notice appear in all copies of the
> - * software, derivative works or modified versions, and any portions
> - * thereof, and that both notices appear in supporting documentation.
> - * 
> - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
> - * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
> - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
> - * 
> - * Carnegie Mellon requests users of this software to return to
> - * 
> - *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
> - *  School of Computer Science
> - *  Carnegie Mellon University
> - *  Pittsburgh PA 15213-3890
> - * 
> - * any improvements or extensions that they make and grant Carnegie Mellon
> - * the rights to redistribute these changes.
> - */
> -/*
> - *   File:   kern/macro_help.h
> - *
> - *   Provide help in making lint-free macro routines
> - *
> - */  
> -
> -#ifndef      _KERN_MACRO_HELP_H_
> -#define      _KERN_MACRO_HELP_H_
> -
> -#if  !defined(MACRO_BEGIN)
> -
> -#include <mach/boolean.h>
> -
> -#define              NEVER           FALSE
> -#define              ALWAYS          TRUE
> -
> -#define              MACRO_BEGIN     ({
> -#define              MACRO_END       })
> -
> -#define              MACRO_RETURN    if (ALWAYS) return
> -
> -#endif       /* !MACRO_BEGIN */
> -
> -#endif       /* _KERN_MACRO_HELP_H_ */
> diff --git a/kern/macros.h b/kern/macros.h
> new file mode 100644
> index 0000000..fb8dc5e
> --- /dev/null
> +++ b/kern/macros.h
> @@ -0,0 +1,72 @@
> +/*
> + * Copyright (c) 2009, 2010, 2013 Richard Braun.
> + *
> + * This program is free software: you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation, either version 3 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> + *
> + *
> + * Helper macros.
> + */
> +
> +#ifndef _KERN_MACROS_H
> +#define _KERN_MACROS_H
> +
> +#define MACRO_BEGIN         ({
> +#define MACRO_END           })
> +#define      MACRO_RETURN    if (1) return
> +
> +#define __QUOTE(x)          #x
> +#define QUOTE(x)            __QUOTE(x)
> +
> +#ifdef __ASSEMBLER__
> +#define DECL_CONST(x, s)    x
> +#else /* __ASSEMBLER__ */
> +#define __DECL_CONST(x, s)  x##s
> +#define DECL_CONST(x, s)    __DECL_CONST(x, s)
> +#endif /* __ASSEMBLER__ */
> +
> +#define STRLEN(x)           (sizeof(x) - 1)
> +#define ARRAY_SIZE(x)       (sizeof(x) / sizeof((x)[0]))
> +
> +#define MIN(a, b)           ((a) < (b) ? (a) : (b))
> +#define MAX(a, b)           ((a) > (b) ? (a) : (b))
> +
> +#define DIV_CEIL(n, d)      (((n) + (d) - 1) / (d))
> +
> +#define P2ALIGNED(x, a)     (((x) & ((a) - 1)) == 0)
> +#define ISP2(x)             P2ALIGNED(x, x)
> +#define P2ALIGN(x, a)       ((x) & -(a))
> +#define P2ROUND(x, a)       (-(-(x) & -(a)))
> +#define P2END(x, a)         (-(~(x) & -(a)))
> +
> +#define structof(ptr, type, member) \
> +    ((type *)((char *)(ptr) - offsetof(type, member)))
> +
> +#define alignof(x)          __alignof__(x)
> +
> +#define likely(expr)        __builtin_expect(!!(expr), 1)
> +#define unlikely(expr)      __builtin_expect(!!(expr), 0)
> +
> +#define barrier()           asm volatile("" : : : "memory")
> +
> +#define __noreturn          __attribute__((noreturn))
> +#define __aligned(x)        __attribute__((aligned(x)))
> +#define __always_inline     inline __attribute__((always_inline))
> +#define __section(x)        __attribute__((section(x)))
> +#define __packed            __attribute__((packed))
> +#define __alias(x)          __attribute__((alias(x)))
> +
> +#define __format_printf(fmt, args) \
> +    __attribute__((format(printf, fmt, args)))
> +
> +#endif /* _KERN_MACROS_H */
> diff --git a/kern/pc_sample.h b/kern/pc_sample.h
> index 3c64068..4832cb9 100644
> --- a/kern/pc_sample.h
> +++ b/kern/pc_sample.h
> @@ -49,7 +49,7 @@
>  #include <mach/pc_sample.h>
>  #include <mach/machine/vm_types.h>
>  #include <kern/kern_types.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  /*
>   *   Control structure for sampling, included in
> diff --git a/kern/rbtree.h b/kern/rbtree.h
> index 189a7fd..16ef273 100644
> --- a/kern/rbtree.h
> +++ b/kern/rbtree.h
> @@ -31,12 +31,9 @@
>  
>  #include <stddef.h>
>  #include <kern/assert.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <sys/types.h>
>  
> -#define structof(ptr, type, member) \
> -    ((type *)((char *)ptr - offsetof(type, member)))
> -
>  /*
>   * Indexes of the left and right nodes in the children array of a node.
>   */
> diff --git a/kern/refcount.h b/kern/refcount.h
> index 74204d6..f32feb8 100644
> --- a/kern/refcount.h
> +++ b/kern/refcount.h
> @@ -27,7 +27,7 @@
>  #ifndef      _KERN_REFCOUNT_H_
>  #define _KERN_REFCOUNT_H_
>  
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  /* Unless the above include file specified otherwise,
>     use the system-independent (unoptimized) atomic reference counter.  */
> diff --git a/kern/sched.h b/kern/sched.h
> index ea601c5..f82f9f5 100644
> --- a/kern/sched.h
> +++ b/kern/sched.h
> @@ -38,7 +38,7 @@
>  #include <kern/queue.h>
>  #include <kern/lock.h>
>  #include <kern/kern_types.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  #if  MACH_FIXPRI
>  #include <mach/policy.h>
> diff --git a/kern/sched_prim.c b/kern/sched_prim.c
> index d7792ae..e8f260e 100644
> --- a/kern/sched_prim.c
> +++ b/kern/sched_prim.c
> @@ -44,7 +44,7 @@
>  #include <kern/lock.h>
>  #include <kern/mach_clock.h>
>  #include <kern/mach_factor.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/processor.h>
>  #include <kern/queue.h>
>  #include <kern/sched.h>
> diff --git a/kern/slab.c b/kern/slab.c
> index 19ebfed..60378b5 100644
> --- a/kern/slab.c
> +++ b/kern/slab.c
> @@ -79,6 +79,7 @@
>  #include <string.h>
>  #include <kern/assert.h>
>  #include <kern/mach_clock.h>
> +#include <kern/macros.h>
>  #include <kern/printf.h>
>  #include <kern/slab.h>
>  #include <kern/kalloc.h>
> @@ -96,7 +97,6 @@
>  /*
>   * Utility macros.
>   */
> -#define ARRAY_SIZE(x)   (sizeof(x) / sizeof((x)[0]))
>  #define P2ALIGNED(x, a) (((x) & ((a) - 1)) == 0)
>  #define ISP2(x)         P2ALIGNED(x, x)
>  #define P2ALIGN(x, a)   ((x) & -(a))
> diff --git a/kern/timer.c b/kern/timer.c
> index 6d6517e..79ada27 100644
> --- a/kern/timer.c
> +++ b/kern/timer.c
> @@ -33,7 +33,7 @@
>  #include <kern/cpu_number.h>
>  
>  #include <kern/assert.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  
>  
> diff --git a/kern/timer.h b/kern/timer.h
> index 57f017a..2f473cf 100644
> --- a/kern/timer.h
> +++ b/kern/timer.h
> @@ -27,7 +27,7 @@
>  #ifndef      _KERN_TIMER_H_
>  #define _KERN_TIMER_H_
>  
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  #if  STAT_TIME
>  /*
> diff --git a/vm/vm_fault.c b/vm/vm_fault.c
> index 686156c..0fa4d6a 100644
> --- a/vm/vm_fault.c
> +++ b/vm/vm_fault.c
> @@ -51,7 +51,7 @@
>  #include <mach/memory_object.h>
>  #include <vm/memory_object_user.user.h>
>                               /* For memory_object_data_{request,unlock} */
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/slab.h>
>  
>  #if  MACH_PCSAMPLE
> diff --git a/vm/vm_map.h b/vm/vm_map.h
> index b8103eb..fc7730a 100644
> --- a/vm/vm_map.h
> +++ b/vm/vm_map.h
> @@ -52,7 +52,7 @@
>  #include <vm/vm_types.h>
>  #include <kern/lock.h>
>  #include <kern/rbtree.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  
>  /* TODO: make it dynamic */
>  #define KENTRY_DATA_SIZE (256*PAGE_SIZE)
> diff --git a/vm/vm_object.h b/vm/vm_object.h
> index 5c42f56..3bfc67a 100644
> --- a/vm/vm_object.h
> +++ b/vm/vm_object.h
> @@ -45,7 +45,7 @@
>  #include <kern/lock.h>
>  #include <kern/assert.h>
>  #include <kern/debug.h>
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <vm/pmap.h>
>  #include <ipc/ipc_types.h>
>  
> diff --git a/vm/vm_page.h b/vm/vm_page.h
> index 4fe1b41..e6a8c49 100644
> --- a/vm/vm_page.h
> +++ b/vm/vm_page.h
> @@ -42,7 +42,7 @@
>  #include <kern/queue.h>
>  #include <kern/lock.h>
>  
> -#include <kern/macro_help.h>
> +#include <kern/macros.h>
>  #include <kern/sched_prim.h> /* definitions of wait/wakeup */
>  
>  #if  MACH_VM_DEBUG
> -- 
> 2.1.4
> 

-- 
Samuel
Anyone who thinks UNIX is intuitive should be forced to write 5000 lines of 
code using nothing but vi or emacs. AAAAACK!
(Discussion in comp.os.linux.misc on the intuitiveness of commands, especially
Emacs.)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]