Subversion Repositories HelenOS-historic

Rev

Rev 1201 | Rev 1255 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1201 Rev 1251
Line 34... Line 34...
34
#include <arch/context.h>   /* SP_DELTA */
34
#include <arch/context.h>   /* SP_DELTA */
35
#include <arch/debugger.h>
35
#include <arch/debugger.h>
36
#include <arch/pm.h>
36
#include <arch/pm.h>
37
#include <arch/asm.h>
37
#include <arch/asm.h>
38
#include <adt/bitmap.h>
38
#include <adt/bitmap.h>
-
 
39
#include <print.h>
39
 
40
 
40
/** Perform ia32 specific tasks needed before the new task is run.
41
/** Perform ia32 specific tasks needed before the new task is run.
41
 *
42
 *
42
 * Interrupts are disabled.
43
 * Interrupts are disabled.
43
 */
44
 */
Line 53... Line 54...
53
 
54
 
54
    /* First, copy the I/O Permission Bitmap. */
55
    /* First, copy the I/O Permission Bitmap. */
55
    spinlock_lock(&TASK->lock);
56
    spinlock_lock(&TASK->lock);
56
    if ((bits = TASK->arch.iomap.bits)) {
57
    if ((bits = TASK->arch.iomap.bits)) {
57
        bitmap_t iomap;
58
        bitmap_t iomap;
58
 
59
   
59
        ASSERT(TASK->arch.iomap.map);
60
        ASSERT(TASK->arch.iomap.map);
60
        bitmap_initialize(&iomap, CPU->arch.tss->iomap, TSS_IOMAP_SIZE * 8);
61
        bitmap_initialize(&iomap, CPU->arch.tss->iomap, TSS_IOMAP_SIZE * 8);
61
        bitmap_copy(&iomap, &TASK->arch.iomap, TASK->arch.iomap.bits);
62
        bitmap_copy(&iomap, &TASK->arch.iomap, TASK->arch.iomap.bits);
62
        /*
63
        /*
63
         * It is safe to set the trailing four bits because of the extra
64
         * It is safe to set the trailing four bits because of the extra