diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-04-29 18:57:04 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-04-29 18:57:04 +0200 |
commit | 49b625033012324095369c34fb6567b53ffbce1a (patch) | |
tree | cfedb9eca193b371974544c3a4597f7c50ebbb51 | |
parent | 8367c755713a92130926e80d19b7df4539b279f6 (diff) |
well, that was pointless ... again...
-rw-r--r-- | debian/patches/xxx-fix-build-paper-over-gnumach-bug.patch | 410 |
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_ */ |