summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-29 18:57:04 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-29 18:57:04 +0200
commit49b625033012324095369c34fb6567b53ffbce1a (patch)
treecfedb9eca193b371974544c3a4597f7c50ebbb51
parent8367c755713a92130926e80d19b7df4539b279f6 (diff)
well, that was pointless ... again...
-rw-r--r--debian/patches/xxx-fix-build-paper-over-gnumach-bug.patch410
1 files changed, 409 insertions, 1 deletions
diff --git a/debian/patches/xxx-fix-build-paper-over-gnumach-bug.patch b/debian/patches/xxx-fix-build-paper-over-gnumach-bug.patch
index 13b16989..e24adb5a 100644
--- a/debian/patches/xxx-fix-build-paper-over-gnumach-bug.patch
+++ b/debian/patches/xxx-fix-build-paper-over-gnumach-bug.patch
@@ -1,9 +1,162 @@
-commit ec11081aa3d56309ef21416fa4f93dcec059e222
+commit 757c3cf8189ffbfcddd222c544179938e885bd2c
Author: Justus Winter <4winter@informatik.uni-hamburg.de>
Date: Tue Apr 29 18:25:53 2014 +0200
xxx fix build
+diff --git a/utils/mach_debug/hash_info.h b/utils/mach_debug/hash_info.h
+new file mode 100644
+index 0000000..6944277
+--- /dev/null
++++ b/utils/mach_debug/hash_info.h
+@@ -0,0 +1,41 @@
++/*
++ * Mach Operating System
++ * Copyright (c) 1991,1990 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.
++ */
++
++#ifndef _MACH_DEBUG_HASH_INFO_H_
++#define _MACH_DEBUG_HASH_INFO_H_
++
++/*
++ * Remember to update the mig type definitions
++ * in mach_debug_types.defs when adding/removing fields.
++ */
++
++typedef struct hash_info_bucket {
++ natural_t hib_count; /* number of records in bucket */
++} hash_info_bucket_t;
++
++typedef hash_info_bucket_t *hash_info_bucket_array_t;
++
++#endif /* _MACH_DEBUG_HASH_INFO_H_ */
+diff --git a/utils/mach_debug/ipc_info.h b/utils/mach_debug/ipc_info.h
+new file mode 100644
+index 0000000..ef0b0c6
+--- /dev/null
++++ b/utils/mach_debug/ipc_info.h
+@@ -0,0 +1,100 @@
++/*
++ * Mach Operating System
++ * Copyright (c) 1991,1990 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: mach_debug/ipc_info.h
++ * Author: Rich Draves
++ * Date: March, 1990
++ *
++ * Definitions for the IPC debugging interface.
++ */
++
++#ifndef _MACH_DEBUG_IPC_INFO_H_
++#define _MACH_DEBUG_IPC_INFO_H_
++
++#include <mach/boolean.h>
++#include <mach/port.h>
++#include <mach/machine/vm_types.h>
++
++/*
++ * Remember to update the mig type definitions
++ * in mach_debug_types.defs when adding/removing fields.
++ */
++
++
++typedef struct ipc_info_space {
++ natural_t iis_genno_mask; /* generation number mask */
++ natural_t iis_table_size; /* size of table */
++ natural_t iis_table_next; /* next possible size of table */
++ natural_t iis_tree_size; /* size of tree */
++ natural_t iis_tree_small; /* # of small entries in tree */
++ natural_t iis_tree_hash; /* # of hashed entries in tree */
++} ipc_info_space_t;
++
++
++typedef struct ipc_info_name {
++ mach_port_t iin_name; /* port name, including gen number */
++/*boolean_t*/integer_t iin_collision; /* collision at this entry? */
++/*boolean_t*/integer_t iin_compat; /* is this a compat-mode entry? */
++/*boolean_t*/integer_t iin_marequest; /* extant msg-accepted request? */
++ mach_port_type_t iin_type; /* straight port type */
++ mach_port_urefs_t iin_urefs; /* user-references */
++ vm_offset_t iin_object; /* object pointer */
++ natural_t iin_next; /* marequest/next in free list */
++ natural_t iin_hash; /* hash index */
++} ipc_info_name_t;
++
++typedef ipc_info_name_t *ipc_info_name_array_t;
++
++
++typedef struct ipc_info_tree_name {
++ ipc_info_name_t iitn_name;
++ mach_port_t iitn_lchild; /* name of left child */
++ mach_port_t iitn_rchild; /* name of right child */
++} ipc_info_tree_name_t;
++
++typedef ipc_info_tree_name_t *ipc_info_tree_name_array_t;
++
++/*
++ * Type definitions for mach_port_kernel_object.
++ * By remarkable coincidence, these closely resemble
++ * the IKOT_* definitions in ipc/ipc_kobject.h.
++ */
++
++#define IPC_INFO_TYPE_NONE 0
++#define IPC_INFO_TYPE_THREAD 1
++#define IPC_INFO_TYPE_TASK 2
++#define IPC_INFO_TYPE_HOST 3
++#define IPC_INFO_TYPE_HOST_PRIV 4
++#define IPC_INFO_TYPE_PROCESSOR 5
++#define IPC_INFO_TYPE_PSET 6
++#define IPC_INFO_TYPE_PSET_NAME 7
++#define IPC_INFO_TYPE_PAGER 8
++#define IPC_INFO_TYPE_PAGING_REQUEST 9
++#define IPC_INFO_TYPE_DEVICE 10
++#define IPC_INFO_TYPE_XMM_PAGER 11
++#define IPC_INFO_TYPE_PAGING_NAME 12
++
++#endif /* _MACH_DEBUG_IPC_INFO_H_ */
diff --git a/utils/mach_debug/mach_debug_types.h b/utils/mach_debug/mach_debug_types.h
new file mode 100644
index 0000000..9c7d1fd
@@ -61,3 +214,258 @@ index 0000000..9c7d1fd
+typedef char kernel_debug_name_t[KERNEL_DEBUG_NAME_MAX];
+
+#endif /* _MACH_DEBUG_MACH_DEBUG_TYPES_H_ */
+diff --git a/utils/mach_debug/pc_info.h b/utils/mach_debug/pc_info.h
+new file mode 100644
+index 0000000..bc43fa8
+--- /dev/null
++++ b/utils/mach_debug/pc_info.h
+@@ -0,0 +1,43 @@
++/*
++ * 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: mach_debug/pc_info.h
++ * Author: Brian Bershad
++ * Date: January 1992
++ *
++ * Definitions for the PC sampling interface.
++ */
++
++#ifndef _MACH_DEBUG_PC_INFO_H_
++#define _MACH_DEBUG_PC_INFO_H_
++
++
++typedef struct sampled_pc {
++ task_t task;
++ thread_t thread;
++ vm_offset_t pc;
++} sampled_pc_t;
++
++typedef sampled_pc_t *sampled_pc_array_t;
++typedef unsigned int sampled_pc_seqno_t;
++
++#endif _MACH_DEBUG_PC_INFO_H_
+diff --git a/utils/mach_debug/slab_info.h b/utils/mach_debug/slab_info.h
+new file mode 100644
+index 0000000..37dcb8c
+--- /dev/null
++++ b/utils/mach_debug/slab_info.h
+@@ -0,0 +1,62 @@
++/*
++ * Mach Operating System
++ * Copyright (c) 1991,1990,1989 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.
++ */
++
++#ifndef _MACH_DEBUG_SLAB_INFO_H_
++#define _MACH_DEBUG_SLAB_INFO_H_
++
++#include <sys/types.h>
++
++/*
++ * Remember to update the mig type definitions
++ * in mach_debug_types.defs when adding/removing fields.
++ */
++
++#define CACHE_NAME_MAX_LEN 32
++
++#define CACHE_FLAGS_NO_CPU_POOL 0x01
++#define CACHE_FLAGS_SLAB_EXTERNAL 0x02
++#define CACHE_FLAGS_NO_RECLAIM 0x04
++#define CACHE_FLAGS_VERIFY 0x08
++#define CACHE_FLAGS_DIRECT 0x10
++
++typedef struct cache_info {
++ int flags;
++ size_t cpu_pool_size;
++ size_t obj_size;
++ size_t align;
++ size_t buf_size;
++ size_t slab_size;
++ unsigned long bufs_per_slab;
++ unsigned long nr_objs;
++ unsigned long nr_bufs;
++ unsigned long nr_slabs;
++ unsigned long nr_free_slabs;
++ char name[CACHE_NAME_MAX_LEN];
++} cache_info_t;
++
++typedef cache_info_t *cache_info_array_t;
++
++#endif /* _MACH_DEBUG_SLAB_INFO_H_ */
+diff --git a/utils/mach_debug/vm_info.h b/utils/mach_debug/vm_info.h
+new file mode 100644
+index 0000000..70ba887
+--- /dev/null
++++ b/utils/mach_debug/vm_info.h
+@@ -0,0 +1,132 @@
++/*
++ * Mach Operating System
++ * Copyright (c) 1991,1990 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: mach_debug/vm_info.h
++ * Author: Rich Draves
++ * Date: March, 1990
++ *
++ * Definitions for the VM debugging interface.
++ */
++
++#ifndef _MACH_DEBUG_VM_INFO_H_
++#define _MACH_DEBUG_VM_INFO_H_
++
++#include <mach/boolean.h>
++#include <mach/machine/vm_types.h>
++#include <mach/vm_inherit.h>
++#include <mach/vm_prot.h>
++#include <mach/memory_object.h>
++
++/*
++ * Remember to update the mig type definitions
++ * in mach_debug_types.defs when adding/removing fields.
++ */
++
++typedef struct vm_region_info {
++ vm_offset_t vri_start; /* start of region */
++ vm_offset_t vri_end; /* end of region */
++
++/*vm_prot_t*/natural_t vri_protection; /* protection code */
++/*vm_prot_t*/natural_t vri_max_protection; /* maximum protection */
++/*vm_inherit_t*/natural_t vri_inheritance; /* inheritance */
++ natural_t vri_wired_count; /* number of times wired */
++ natural_t vri_user_wired_count; /* number of times user has wired */
++
++ vm_offset_t vri_object; /* the mapped object */
++ vm_offset_t vri_offset; /* offset into object */
++/*boolean_t*/integer_t vri_needs_copy; /* does object need to be copied? */
++ natural_t vri_sharing; /* share map references */
++} vm_region_info_t;
++
++typedef vm_region_info_t *vm_region_info_array_t;
++
++
++typedef natural_t vm_object_info_state_t;
++
++#define VOI_STATE_PAGER_CREATED 0x00000001
++#define VOI_STATE_PAGER_INITIALIZED 0x00000002
++#define VOI_STATE_PAGER_READY 0x00000004
++#define VOI_STATE_CAN_PERSIST 0x00000008
++#define VOI_STATE_INTERNAL 0x00000010
++#define VOI_STATE_TEMPORARY 0x00000020
++#define VOI_STATE_ALIVE 0x00000040
++#define VOI_STATE_LOCK_IN_PROGRESS 0x00000080
++#define VOI_STATE_LOCK_RESTART 0x00000100
++#define VOI_STATE_USE_OLD_PAGEOUT 0x00000200
++
++typedef struct vm_object_info {
++ vm_offset_t voi_object; /* this object */
++ vm_size_t voi_pagesize; /* object's page size */
++ vm_size_t voi_size; /* object size (valid if internal) */
++ natural_t voi_ref_count; /* number of references */
++ natural_t voi_resident_page_count; /* number of resident pages */
++ natural_t voi_absent_count; /* number requested but not filled */
++ vm_offset_t voi_copy; /* copy object */
++ vm_offset_t voi_shadow; /* shadow object */
++ vm_offset_t voi_shadow_offset; /* offset into shadow object */
++ vm_offset_t voi_paging_offset; /* offset into memory object */
++/*memory_object_copy_strategy_t*/integer_t voi_copy_strategy;
++ /* how to handle data copy */
++ vm_offset_t voi_last_alloc; /* offset of last allocation */
++ natural_t voi_paging_in_progress; /* paging references */
++ vm_object_info_state_t voi_state; /* random state bits */
++} vm_object_info_t;
++
++typedef vm_object_info_t *vm_object_info_array_t;
++
++
++typedef natural_t vm_page_info_state_t;
++
++#define VPI_STATE_BUSY 0x00000001
++#define VPI_STATE_WANTED 0x00000002
++#define VPI_STATE_TABLED 0x00000004
++#define VPI_STATE_FICTITIOUS 0x00000008
++#define VPI_STATE_PRIVATE 0x00000010
++#define VPI_STATE_ABSENT 0x00000020
++#define VPI_STATE_ERROR 0x00000040
++#define VPI_STATE_DIRTY 0x00000080
++#define VPI_STATE_PRECIOUS 0x00000100
++#define VPI_STATE_OVERWRITING 0x00000200
++#define VPI_STATE_INACTIVE 0x00000400
++#define VPI_STATE_ACTIVE 0x00000800
++#define VPI_STATE_LAUNDRY 0x00001000
++#define VPI_STATE_FREE 0x00002000
++#define VPI_STATE_REFERENCE 0x00004000
++
++#define VPI_STATE_PAGER 0x80000000 /* pager has the page */
++
++typedef struct vm_page_info {
++ vm_offset_t vpi_offset; /* offset in object */
++ vm_offset_t vpi_phys_addr; /* physical address */
++ natural_t vpi_wire_count; /* number of times wired */
++/*vm_prot_t*/natural_t vpi_page_lock; /* XP access restrictions */
++/*vm_prot_t*/natural_t vpi_unlock_request; /* outstanding unlock requests */
++ vm_page_info_state_t vpi_state; /* random state bits */
++} vm_page_info_t;
++
++typedef vm_page_info_t *vm_page_info_array_t;
++
++#endif /* _MACH_DEBUG_VM_INFO_H_ */