summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-03-18 16:49:29 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-03-18 16:49:29 +0100
commit6f015b01235c0f779a6961b1fbeb1cf514fe0b45 (patch)
tree349d744645ffa20bdcb6b8fb6b712e4edc104be1 /debian
parent22d88c8e2fca6939ceeee8b6e0f0f496ca466eb1 (diff)
fix fix-receiver-lookups.patch, enable mach-defpager-protected-payload.patch
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/fix-receiver-lookups.patch82
-rw-r--r--debian/patches/series2
2 files changed, 60 insertions, 24 deletions
diff --git a/debian/patches/fix-receiver-lookups.patch b/debian/patches/fix-receiver-lookups.patch
index 042c2649..2fe57a6c 100644
--- a/debian/patches/fix-receiver-lookups.patch
+++ b/debian/patches/fix-receiver-lookups.patch
@@ -38,7 +38,7 @@ index e38a0be..09debed 100644
-MIGSFLAGS = -DSEQNOS
+MIGSFLAGS = -DSEQNOS -imacros $(srcdir)/mig-mutate.h
diff --git a/mach-defpager/default_pager.c b/mach-defpager/default_pager.c
-index 8f8e13e..77caa4a 100644
+index 8f8e13e..f514ea6 100644
--- a/mach-defpager/default_pager.c
+++ b/mach-defpager/default_pager.c
@@ -38,14 +38,17 @@
@@ -375,16 +375,31 @@ index 8f8e13e..77caa4a 100644
if (ds == DEFAULT_PAGER_NULL)
panic(here, my_name);
pager_port_lock(ds, seqno);
-@@ -2512,7 +2326,7 @@ seqnos_memory_object_terminate(pager, seqno, pager_request, pager_name)
+@@ -2498,13 +2312,12 @@ seqnos_memory_object_init(pager, seqno, pager_request, pager_name,
+ }
+
+ kern_return_t
+-seqnos_memory_object_terminate(pager, seqno, pager_request, pager_name)
+- mach_port_t pager;
++seqnos_memory_object_terminate(ds, seqno, pager_request, pager_name)
++ default_pager_t ds;
+ mach_port_seqno_t seqno;
+ mach_port_t pager_request;
+ mach_port_t pager_name;
+ {
+- default_pager_t ds;
+ static char here[] = "%sterminate";
+
+ /*
+@@ -2512,7 +2325,6 @@ seqnos_memory_object_terminate(pager, seqno, pager_request, pager_name)
* not send rights.
*/
- ds = pager_port_lookup(pager);
-+ ds = begin_using_default_pager(pager);
if (ds == DEFAULT_PAGER_NULL)
panic(here, my_name);
ddprintf ("seqnos_memory_object_terminate <%p>: pager_port_lock: <%p>[s:%d,r:%d,w:%d,l:%d], %d\n",
-@@ -2578,7 +2392,7 @@ void default_pager_no_senders(pager, seqno, mscount)
+@@ -2578,7 +2390,7 @@ void default_pager_no_senders(pager, seqno, mscount)
*/
@@ -393,7 +408,7 @@ index 8f8e13e..77caa4a 100644
if (ds == DEFAULT_PAGER_NULL)
panic(here,my_name);
pager_port_lock(ds, seqno);
-@@ -2639,16 +2453,15 @@ int default_pager_pageout_count = 0;
+@@ -2639,16 +2451,15 @@ int default_pager_pageout_count = 0;
static __thread default_pager_thread_t *dpt;
kern_return_t
@@ -412,7 +427,7 @@ index 8f8e13e..77caa4a 100644
vm_offset_t addr;
unsigned int errors;
kern_return_t rc;
-@@ -2657,7 +2470,6 @@ seqnos_memory_object_data_request(pager, seqno, reply_to, offset,
+@@ -2657,7 +2468,6 @@ seqnos_memory_object_data_request(pager, seqno, reply_to, offset,
if (length != vm_page_size)
panic(here,my_name);
@@ -420,7 +435,7 @@ index 8f8e13e..77caa4a 100644
if (ds == DEFAULT_PAGER_NULL)
panic(here,my_name);
ddprintf ("seqnos_memory_object_data_request <%p>: pager_port_lock: <%p>[s:%d,r:%d,w:%d,l:%d], %d\n",
-@@ -2742,9 +2554,9 @@ ddprintf ("seqnos_memory_object_data_request <%p>: pager_port_unlock: <%p>[s:%d,
+@@ -2742,9 +2552,9 @@ ddprintf ("seqnos_memory_object_data_request <%p>: pager_port_unlock: <%p>[s:%d,
* also assumes that the default_pager is single-threaded.
*/
kern_return_t
@@ -432,7 +447,7 @@ index 8f8e13e..77caa4a 100644
mach_port_seqno_t seqno;
mach_port_t pager_request;
register
-@@ -2754,14 +2566,12 @@ seqnos_memory_object_data_initialize(pager, seqno, pager_request,
+@@ -2754,14 +2564,12 @@ seqnos_memory_object_data_initialize(pager, seqno, pager_request,
vm_size_t data_cnt;
{
vm_offset_t amount_sent;
@@ -447,7 +462,7 @@ index 8f8e13e..77caa4a 100644
if (ds == DEFAULT_PAGER_NULL)
panic(here,my_name);
ddprintf ("seqnos_memory_object_data_initialize <%p>: pager_port_lock: <%p>[s:%d,r:%d,w:%d,l:%d], %d\n",
-@@ -2804,9 +2614,9 @@ ddprintf ("seqnos_memory_object_data_initialize <%p>: pager_port_unlock: <%p>[s:
+@@ -2804,9 +2612,9 @@ ddprintf ("seqnos_memory_object_data_initialize <%p>: pager_port_unlock: <%p>[s:
* into individual pages and pass them off to default_write.
*/
kern_return_t
@@ -459,7 +474,7 @@ index 8f8e13e..77caa4a 100644
mach_port_seqno_t seqno;
mach_port_t pager_request;
register
-@@ -2817,7 +2627,6 @@ seqnos_memory_object_data_write(pager, seqno, pager_request,
+@@ -2817,7 +2625,6 @@ seqnos_memory_object_data_write(pager, seqno, pager_request,
{
register
vm_size_t amount_sent;
@@ -467,7 +482,7 @@ index 8f8e13e..77caa4a 100644
static char here[] = "%sdata_write";
int err;
-@@ -2828,7 +2637,6 @@ seqnos_memory_object_data_write(pager, seqno, pager_request,
+@@ -2828,7 +2635,6 @@ seqnos_memory_object_data_write(pager, seqno, pager_request,
if ((data_cnt % vm_page_size) != 0)
panic(here,my_name);
@@ -475,7 +490,7 @@ index 8f8e13e..77caa4a 100644
if (ds == DEFAULT_PAGER_NULL)
panic(here,my_name);
-@@ -2888,7 +2696,7 @@ seqnos_memory_object_data_write(pager, seqno, pager_request,
+@@ -2888,7 +2694,7 @@ seqnos_memory_object_data_write(pager, seqno, pager_request,
kern_return_t
seqnos_memory_object_copy(old_memory_object, seqno, old_memory_control,
offset, length, new_memory_object)
@@ -484,7 +499,16 @@ index 8f8e13e..77caa4a 100644
mach_port_seqno_t seqno;
memory_object_control_t
old_memory_control;
-@@ -2916,7 +2724,7 @@ seqnos_memory_object_lock_completed (memory_object_t pager,
+@@ -2903,7 +2709,7 @@ seqnos_memory_object_copy(old_memory_object, seqno, old_memory_control,
+ /* We get this when our memory_object_lock_request has completed
+ after we truncated an object. */
+ kern_return_t
+-seqnos_memory_object_lock_completed (memory_object_t pager,
++seqnos_memory_object_lock_completed (default_pager_t ds,
+ mach_port_seqno_t seqno,
+ mach_port_t pager_request,
+ vm_offset_t offset,
+@@ -2916,7 +2722,7 @@ seqnos_memory_object_lock_completed (memory_object_t pager,
kern_return_t
seqnos_memory_object_data_unlock(pager, seqno, pager_request,
offset, length, protection_required)
@@ -493,16 +517,20 @@ index 8f8e13e..77caa4a 100644
mach_port_seqno_t seqno;
mach_port_t pager_request;
vm_offset_t offset;
-@@ -2931,7 +2739,7 @@ kern_return_t
- seqnos_memory_object_supply_completed(pager, seqno, pager_request,
+@@ -2928,10 +2734,10 @@ seqnos_memory_object_data_unlock(pager, seqno, pager_request,
+ }
+
+ kern_return_t
+-seqnos_memory_object_supply_completed(pager, seqno, pager_request,
++seqnos_memory_object_supply_completed(ds, seqno, pager_request,
offset, length,
result, error_offset)
- memory_object_t pager;
-+ mach_port_t pager;
++ default_pager_t ds;
mach_port_seqno_t seqno;
mach_port_t pager_request;
vm_offset_t offset;
-@@ -2949,10 +2757,10 @@ seqnos_memory_object_supply_completed(pager, seqno, pager_request,
+@@ -2949,10 +2755,10 @@ seqnos_memory_object_supply_completed(pager, seqno, pager_request,
* into individual pages and pass them off to default_write.
*/
kern_return_t
@@ -515,7 +543,7 @@ index 8f8e13e..77caa4a 100644
mach_port_seqno_t seqno;
mach_port_t pager_request;
vm_offset_t offset;
-@@ -2962,7 +2770,7 @@ seqnos_memory_object_data_return(pager, seqno, pager_request,
+@@ -2962,13 +2768,13 @@ seqnos_memory_object_data_return(pager, seqno, pager_request,
boolean_t kernel_copy;
{
@@ -524,7 +552,15 @@ index 8f8e13e..77caa4a 100644
offset, addr, data_cnt);
}
-@@ -3364,23 +3172,14 @@ S_default_pager_object_create (mach_port_t pager,
+ kern_return_t
+-seqnos_memory_object_change_completed(pager, seqno, may_cache, copy_strategy)
+- memory_object_t pager;
++seqnos_memory_object_change_completed(ds, seqno, may_cache, copy_strategy)
++ default_pager_t ds;
+ mach_port_seqno_t seqno;
+ boolean_t may_cache;
+ memory_object_copy_strategy_t copy_strategy;
+@@ -3364,23 +3170,14 @@ S_default_pager_object_create (mach_port_t pager,
return KERN_INVALID_ARGUMENT;
ds = pager_port_alloc(size);
@@ -556,7 +592,7 @@ index 8f8e13e..77caa4a 100644
/*
* Set up associations between these ports
-@@ -3454,7 +3253,7 @@ S_default_pager_objects (mach_port_t pager,
+@@ -3454,7 +3251,7 @@ S_default_pager_objects (mach_port_t pager,
/*
* We will send no more than this many
*/
@@ -565,7 +601,7 @@ index 8f8e13e..77caa4a 100644
pthread_mutex_unlock(&all_pagers.lock);
if (opotential < actual) {
-@@ -3496,7 +3295,8 @@ S_default_pager_objects (mach_port_t pager,
+@@ -3496,7 +3293,8 @@ S_default_pager_objects (mach_port_t pager,
pthread_mutex_lock(&all_pagers.lock);
num_pagers = 0;
@@ -575,7 +611,7 @@ index 8f8e13e..77caa4a 100644
mach_port_t port;
vm_size_t size;
-@@ -3674,7 +3474,8 @@ S_default_pager_object_pages (mach_port_t pager,
+@@ -3674,7 +3472,8 @@ S_default_pager_object_pages (mach_port_t pager,
default_pager_t entry;
pthread_mutex_lock(&all_pagers.lock);
@@ -585,7 +621,7 @@ index 8f8e13e..77caa4a 100644
dstruct_lock(entry);
if (entry->pager_name == object) {
pthread_mutex_unlock(&all_pagers.lock);
-@@ -3756,14 +3557,12 @@ S_default_pager_object_pages (mach_port_t pager,
+@@ -3756,14 +3555,12 @@ S_default_pager_object_pages (mach_port_t pager,
kern_return_t
diff --git a/debian/patches/series b/debian/patches/series
index d0c8ceec..5c93ec43 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -46,4 +46,4 @@ xkb-compat.patch
xxx-fix-build.patch
fix-receiver-lookups.patch
-#mach-defpager-protected-payload.patch
+mach-defpager-protected-payload.patch