Lines 84-98
Link Here
|
84 |
t->ts_io_bitmap = bitmap; |
84 |
t->ts_io_bitmap = bitmap; |
85 |
} |
85 |
} |
86 |
|
86 |
|
87 |
tss = init_tss + get_cpu(); |
|
|
88 |
if (bitmap) |
89 |
tss->bitmap = IO_BITMAP_OFFSET; /* Activate it in the TSS */ |
90 |
|
91 |
/* |
87 |
/* |
92 |
* do it in the per-thread copy and in the TSS ... |
88 |
* do it in the per-thread copy and in the TSS ... |
93 |
*/ |
89 |
*/ |
94 |
set_bitmap(t->ts_io_bitmap, from, num, !turn_on); |
90 |
set_bitmap(t->ts_io_bitmap, from, num, !turn_on); |
95 |
set_bitmap(tss->io_bitmap, from, num, !turn_on); |
91 |
tss = init_tss + get_cpu(); |
|
|
92 |
if (tss->bitmap == IO_BITMAP_OFFSET) { /* already active? */ |
93 |
set_bitmap(tss->io_bitmap, from, num, !turn_on); |
94 |
} else { |
95 |
memcpy(tss->io_bitmap, t->ts_io_bitmap, IO_BITMAP_BYTES); |
96 |
tss->bitmap = IO_BITMAP_OFFSET; /* Activate it in the TSS */ |
97 |
} |
96 |
put_cpu(); |
98 |
put_cpu(); |
97 |
out: |
99 |
out: |
98 |
return ret; |
100 |
return ret; |