summaryrefslogtreecommitdiff
path: root/debian/patches/0001-kern-import-macros.h-from-x15.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0001-kern-import-macros.h-from-x15.patch')
-rw-r--r--debian/patches/0001-kern-import-macros.h-from-x15.patch194
1 files changed, 0 insertions, 194 deletions
diff --git a/debian/patches/0001-kern-import-macros.h-from-x15.patch b/debian/patches/0001-kern-import-macros.h-from-x15.patch
deleted file mode 100644
index 32d49c4..0000000
--- a/debian/patches/0001-kern-import-macros.h-from-x15.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 2ce8b5985974e6240e35787a4d3cf8adef8b63aa Mon Sep 17 00:00:00 2001
-From: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Tue, 31 Mar 2015 12:57:05 +0200
-Subject: [PATCH gnumach 1/8] kern: import `macros.h' from x15
-
-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.
-
-* Makefrag.am (libkernel_a_SOURCES): Add new file.
-* 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.
-* kern/macros.h: New file.
----
- Makefrag.am | 1 +
- i386/grub/misc.h | 2 +-
- kern/list.h | 4 +---
- kern/macros.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- kern/rbtree.h | 5 +---
- kern/slab.c | 2 +-
- 6 files changed, 76 insertions(+), 9 deletions(-)
- create mode 100644 kern/macros.h
-
-diff --git a/Makefrag.am b/Makefrag.am
-index 9166143..77110c8 100644
---- a/Makefrag.am
-+++ b/Makefrag.am
-@@ -172,6 +172,7 @@ libkernel_a_SOURCES += \
- 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/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/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/macros.h b/kern/macros.h
-new file mode 100644
-index 0000000..db38842
---- /dev/null
-+++ b/kern/macros.h
-@@ -0,0 +1,71 @@
-+/*
-+ * 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 __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/rbtree.h b/kern/rbtree.h
-index f577f7e..4ee0e15 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/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))
---
-2.1.4
-