Changeset 7cb567cd in mainline for kernel/arch/amd64/src/mm/page.c


Ignore:
Timestamp:
2007-04-08T20:52:53Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e5dbbe5
Parents:
328f324b
Message:

map kernel pages explicitly as writable (this solves compatibility issues with Intel Core 2)
make VESA framebuffer initialization more robust

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/mm/page.c

    r328f324b r7cb567cd  
    8484        uintptr_t cur;
    8585        int i;
    86         int identity_flags = PAGE_CACHEABLE | PAGE_EXEC | PAGE_GLOBAL;
     86        int identity_flags = PAGE_CACHEABLE | PAGE_EXEC | PAGE_GLOBAL | PAGE_WRITE;
    8787
    8888        if (config.cpu_active == 1) {
     
    113113                exc_register(14, "page_fault", (iroutine) page_fault);
    114114                write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
    115         }
    116         else {
     115        } else
    117116                write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
    118         }
    119117}
    120118
     
    209207        pfn_t i;
    210208        for (i = 0; i < ADDR2PFN(ALIGN_UP(size, PAGE_SIZE)); i++)
    211                 page_mapping_insert(AS_KERNEL, virtaddr + PFN2ADDR(i), physaddr + PFN2ADDR(i), PAGE_NOT_CACHEABLE);
     209                page_mapping_insert(AS_KERNEL, virtaddr + PFN2ADDR(i), physaddr + PFN2ADDR(i), PAGE_NOT_CACHEABLE | PAGE_WRITE);
    212210       
    213211        last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE);
Note: See TracChangeset for help on using the changeset viewer.