Changeset 6a22fcb in mainline for genarch/src/mm/as_pt.c


Ignore:
Timestamp:
2006-03-16T19:48:27Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
37c57f2
Parents:
b1fd4f0
Message:

Clear user address space when creating new page tables.
Fix mapping of l_apic and io_apic on amd64.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • genarch/src/mm/as_pt.c

    rb1fd4f0 r6a22fcb  
    6767                memsetb((__address) dst_ptl0, PAGE_SIZE, 0);
    6868        } else {
     69                __address src, dst;
     70       
    6971                /*
    7072                 * Copy the kernel address space portion to new PTL0.
    71                  * TODO: copy only kernel address space.
    7273                 */
    7374                 
    7475                ipl = interrupts_disable();
    75                 spinlock_lock(&AS_KERNEL->lock);
     76                spinlock_lock(&AS_KERNEL->lock);               
    7677                src_ptl0 = (pte_t *) PA2KA((__address) AS_KERNEL->page_table);
    77                 memcpy((void *) dst_ptl0,(void *) src_ptl0, PAGE_SIZE);
     78
     79                src = (__address) &src_ptl0[PTL0_INDEX(KERNEL_ADDRESS_SPACE_START)];
     80                dst = (__address) &dst_ptl0[PTL0_INDEX(KERNEL_ADDRESS_SPACE_START)];
     81
     82                memsetb((__address) dst_ptl0, PAGE_SIZE, 0);
     83                memcpy((void *) dst, (void *) src, PAGE_SIZE - (src - (__address) src_ptl0));
    7884                spinlock_unlock(&AS_KERNEL->lock);
    7985                interrupts_restore(ipl);
Note: See TracChangeset for help on using the changeset viewer.