Subversion Repositories HelenOS

Rev

Rev 2089 | Rev 4125 | 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);