summaryrefslogtreecommitdiff
path: root/debian/patches/45_io_per_task.patch
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2006-04-02 13:13:38 +0000
committerGuillem Jover <guillem@debian.org>2006-04-02 13:13:38 +0000
commit4f1d8bbdd8b402b3bc55e8a7633c53529b4d19d4 (patch)
treed154cf251b3b78967f182b56823c1dc3ea306867 /debian/patches/45_io_per_task.patch
parent01c90e6fc5a25274c2f0f5bd920b73d072bb59dd (diff)
Sync with new upstream snapshot.
Diffstat (limited to 'debian/patches/45_io_per_task.patch')
-rw-r--r--debian/patches/45_io_per_task.patch103
1 files changed, 46 insertions, 57 deletions
diff --git a/debian/patches/45_io_per_task.patch b/debian/patches/45_io_per_task.patch
index 0614848..7137b6b 100644
--- a/debian/patches/45_io_per_task.patch
+++ b/debian/patches/45_io_per_task.patch
@@ -1,4 +1,4 @@
-#DPATCHLEVEL=1
+#DPATCHLEVEL=0
2006-01-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
@@ -33,10 +33,20 @@
(task): Add new machine member.
-diff -urp gnumach-mine-4-more_ports/i386/i386/iopb.c gnumach-mine-5-io_per_task/i386/i386/iopb.c
---- gnumach-mine-4-more_ports/i386/i386/iopb.c 2006-01-02 18:42:45.000000000 +0100
-+++ gnumach-mine-5-io_per_task/i386/i386/iopb.c 2005-12-29 23:42:34.000000000 +0100
-@@ -65,8 +65,8 @@
+--- i386/i386/io_emulate.c 1997-02-25 23:27:09.000000000 +0200
++++ i386/i386/io_emulate.c 2006-04-02 15:40:13.000000000 +0300
+@@ -102,7 +102,7 @@ emulate_io(regs, opcode, io_port)
+ * Make the thread use its IO_TSS to get the IO permissions;
+ * it may not have had one before this.
+ */
+- switch_ktss(thread->pcb);
++ switch_ktss(thread);
+
+ return EM_IO_RETRY;
+ }
+--- i386/i386/iopb.c 2006-04-02 15:40:09.000000000 +0300
++++ i386/i386/iopb.c 2006-04-02 15:40:13.000000000 +0300
+@@ -65,8 +65,8 @@ queue_head_t device_to_io_port_list;
/*
* Cross-reference:
@@ -47,7 +57,7 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/iopb.c gnumach-mine-5-io_per_task/
*/
struct io_use {
queue_chain_t psq; /* Links from port set */
-@@ -306,7 +306,7 @@
+@@ -306,7 +306,7 @@ iopb_destroy(
}
/*
@@ -277,10 +287,9 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/iopb.c gnumach-mine-5-io_per_task/
simple_unlock(&iopb_lock);
return FALSE;
}
-diff -urp gnumach-mine-4-more_ports/i386/i386/pcb.c gnumach-mine-5-io_per_task/i386/i386/pcb.c
---- gnumach-mine-4-more_ports/i386/i386/pcb.c 2006-01-02 18:42:57.000000000 +0100
-+++ gnumach-mine-5-io_per_task/i386/i386/pcb.c 2005-12-31 00:04:21.000000000 +0100
-@@ -131,12 +131,13 @@
+--- i386/i386/pcb.c 1998-04-24 22:49:34.000000000 +0300
++++ i386/i386/pcb.c 2006-04-02 15:40:13.000000000 +0300
+@@ -131,12 +131,13 @@ vm_offset_t stack_detach(thread)
#define gdt_desc_p(mycpu,sel) \
((struct real_descriptor *)&curr_gdt(mycpu)[sel_idx(sel)])
@@ -449,22 +458,9 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/pcb.c gnumach-mine-5-io_per_task/i
}
*count = i386_ISA_PORT_MAP_STATE_COUNT;
-diff -urp gnumach-mine-4-more_ports/i386/i386/io_emulate.c gnumach-mine-5-io_per_task/i386/i386/io_emulate.c
---- gnumach-mine-4-more_ports/i386/i386/io_emulate.c 2006-01-02 18:41:46.000000000 +0100
-+++ gnumach-mine-5-io_per_task/i386/i386/io_emulate.c 2005-12-28 17:40:28.000000000 +0100
-@@ -102,7 +102,7 @@ emulate_io(regs, opcode, io_port)
- * Make the thread use its IO_TSS to get the IO permissions;
- * it may not have had one before this.
- */
-- switch_ktss(thread->pcb);
-+ switch_ktss(thread);
-
- return EM_IO_RETRY;
- }
-diff -urp gnumach-mine-4-more_ports/i386/i386/thread.h gnumach-mine-5-io_per_task/i386/i386/thread.h
---- gnumach-mine-4-more_ports/i386/i386/thread.h 2006-01-02 18:43:01.000000000 +0100
-+++ gnumach-mine-5-io_per_task/i386/i386/thread.h 2005-12-28 17:44:13.000000000 +0100
-@@ -157,12 +157,15 @@
+--- i386/i386/thread.h 2001-04-05 09:39:20.000000000 +0300
++++ i386/i386/thread.h 2006-04-02 15:40:13.000000000 +0300
+@@ -157,12 +157,15 @@ struct i386_interrupt_state {
*/
struct i386_machine_state {
@@ -481,9 +477,8 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/thread.h gnumach-mine-5-io_per_tas
typedef struct pcb {
struct i386_interrupt_state iis[2]; /* interrupt and NMI */
struct i386_saved_state iss;
-diff -urp gnumach-mine-4-more_ports/i386/i386/user_ldt.c gnumach-mine-5-io_per_task/i386/i386/user_ldt.c
---- gnumach-mine-4-more_ports/i386/i386/user_ldt.c 2006-01-02 18:43:04.000000000 +0100
-+++ gnumach-mine-5-io_per_task/i386/i386/user_ldt.c 2005-12-28 17:40:37.000000000 +0100
+--- i386/i386/user_ldt.c 2006-02-01 22:58:07.000000000 +0200
++++ i386/i386/user_ldt.c 2006-04-02 15:40:13.000000000 +0300
@@ -247,7 +247,7 @@ i386_set_ldt(thread, first_selector, des
* make sure it is properly set.
*/
@@ -493,10 +488,8 @@ diff -urp gnumach-mine-4-more_ports/i386/i386/user_ldt.c gnumach-mine-5-io_per_t
}
/*
-
-diff -urp gnumach-mine-4-more_ports/i386/i386at/iopl.c gnumach-mine-5-io_per_task/i386/i386at/iopl.c
---- gnumach-mine-4-more_ports/i386/i386at/iopl.c 2006-01-02 18:45:17.000000000 +0100
-+++ gnumach-mine-5-io_per_task/i386/i386at/iopl.c 2006-01-02 16:30:19.000000000 +0100
+--- i386/i386at/iopl.c 2006-04-02 15:40:11.000000000 +0300
++++ i386/i386at/iopl.c 2006-04-02 15:40:13.000000000 +0300
@@ -217,10 +217,15 @@ iopl_emulate(regs, opcode, io_port)
int io_port;
{
@@ -530,12 +523,9 @@ diff -urp gnumach-mine-4-more_ports/i386/i386at/iopl.c gnumach-mine-5-io_per_tas
/*
* If the thread has the IOPL device mapped, and
-
-
-diff -urp gnumach-mine-4-more_ports/kern/task.c gnumach-mine-5-io_per_task/kern/task.c
---- gnumach-mine-4-more_ports/kern/task.c 2006-01-02 18:43:17.000000000 +0100
-+++ gnumach-mine-5-io_per_task/kern/task.c 2005-12-28 17:10:07.000000000 +0100
-@@ -78,6 +78,7 @@ void task_init(void)
+--- kern/task.c 2006-03-25 19:36:11.000000000 +0200
++++ kern/task.c 2006-04-02 15:41:54.000000000 +0300
+@@ -68,6 +68,7 @@ void task_init(void)
0, "tasks");
eml_init();
@@ -543,24 +533,24 @@ diff -urp gnumach-mine-4-more_ports/kern/task.c gnumach-mine-5-io_per_task/kern/
/*
* Create the kernel task as the first task.
-@@ -160,6 +161,7 @@ kern_return_t task_create(
- #if NET_ATM
- new_task->nw_ep_owned = 0;
- #endif
-+ machine_task_init (new_task);
+@@ -146,6 +147,7 @@ kern_return_t task_create(
+ eml_task_reference(new_task, parent_task);
+
+ ipc_task_init(new_task, parent_task);
++ machine_task_init(new_task);
new_task->total_user_time.seconds = 0;
new_task->total_user_time.microseconds = 0;
-@@ -247,6 +249,8 @@ void task_deallocate(
- }
- #endif /* NORMA_TASK */
+@@ -221,6 +223,8 @@ void task_deallocate(
+ if (c != 0)
+ return;
+ machine_task_terminate (task);
+
eml_task_deallocate(task);
pset = task->processor_set;
-@@ -1126,6 +1130,7 @@ void task_collect_scan(void)
+@@ -1093,6 +1097,7 @@ void task_collect_scan(void)
pset_unlock(pset);
simple_unlock(&all_psets_lock);
@@ -568,21 +558,20 @@ diff -urp gnumach-mine-4-more_ports/kern/task.c gnumach-mine-5-io_per_task/kern/
pmap_collect(task->map->pmap);
if (prev_task != TASK_NULL)
-diff -urp gnumach-mine-4-more_ports/kern/task.h gnumach-mine-5-io_per_task/kern/task.h
---- gnumach-mine-4-more_ports/kern/task.h 2006-01-02 18:43:22.000000000 +0100
-+++ gnumach-mine-5-io_per_task/kern/task.h 2005-12-28 17:44:11.000000000 +0100
-@@ -49,6 +49,7 @@
+--- kern/task.h 2006-03-25 19:36:11.000000000 +0200
++++ kern/task.h 2006-04-02 15:42:37.000000000 +0300
+@@ -47,6 +47,7 @@
#include <kern/pc_sample.h>
#include <kern/processor.h>
#include <kern/syscall_emulation.h>
+#include <machine/thread.h>
#include <vm/vm_map.h>
- #if NET_ATM
-@@ -117,6 +118,9 @@ struct task {
- #if NET_ATM
- nw_ep_owned_t nw_ep_owned;
- #endif /* NET_ATM */
+ struct task {
+@@ -100,6 +101,9 @@ struct task {
+ vm_offset_t fast_tas_base[TASK_FAST_TAS_NRAS];
+ vm_offset_t fast_tas_end[TASK_FAST_TAS_NRAS];
+ #endif /* FAST_TAS */
+
+ /* Hardware specific data. */
+ machine_task_t machine;