Rev 2089 | Rev 2630 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2089 | Rev 2441 | ||
---|---|---|---|
Line 123... | Line 123... | ||
123 | /* First, copy the I/O Permission Bitmap. */ |
123 | /* First, copy the I/O Permission Bitmap. */ |
124 | spinlock_lock(&TASK->lock); |
124 | spinlock_lock(&TASK->lock); |
125 | ver = TASK->arch.iomapver; |
125 | ver = TASK->arch.iomapver; |
126 | if ((bits = TASK->arch.iomap.bits)) { |
126 | if ((bits = TASK->arch.iomap.bits)) { |
127 | bitmap_t iomap; |
127 | bitmap_t iomap; |
- | 128 | task_t *task = TASK; |
|
128 | 129 | ||
129 | ASSERT(TASK->arch.iomap.map); |
130 | ASSERT(TASK->arch.iomap.map); |
130 | bitmap_initialize(&iomap, CPU->arch.tss->iomap, TSS_IOMAP_SIZE * 8); |
131 | bitmap_initialize(&iomap, CPU->arch.tss->iomap, TSS_IOMAP_SIZE * 8); |
131 | bitmap_copy(&iomap, &TASK->arch.iomap, TASK->arch.iomap.bits); |
132 | bitmap_copy(&iomap, &task->arch.iomap, task->arch.iomap.bits); |
132 | /* |
133 | /* |
133 | * It is safe to set the trailing eight bits because of the extra |
134 | * It is safe to set the trailing eight bits because of the extra |
134 | * convenience byte in TSS_IOMAP_SIZE. |
135 | * convenience byte in TSS_IOMAP_SIZE. |
135 | */ |
136 | */ |
136 | bitmap_set_range(&iomap, ALIGN_UP(TASK->arch.iomap.bits, 8), 8); |
137 | bitmap_set_range(&iomap, ALIGN_UP(TASK->arch.iomap.bits, 8), 8); |