Changeset a7a1063 in mainline for arch/ia32/src/mm/page.c


Ignore:
Timestamp:
2005-06-07T00:41:39Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d896525
Parents:
b0bf501
Message:

SMP recovery patch #2 (SMP is no longer broken !!!).
Fix missing KA2PA() operation in ap.S which was causing page faults during AP early initialization.
Fix bug in map_page_to_frame(): 'root' was interpretted as kernel address while read_dba() returns physical address.
Make references to page directory and page tables use kernel addresses instead of physical addresses.

Massive frame allocation code cleanup.
Basically revert to what we had had before implementation of userspace.

Usual cosmetics.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/src/mm/page.c

    rb0bf501 ra7a1063  
    6565                 */
    6666                for (i = 1; i < frames; i++) {
    67                         map_page_to_frame(i * PAGE_SIZE, i * PAGE_SIZE, PAGE_CACHEABLE, dba);
    68                         map_page_to_frame(PA2KA(i * PAGE_SIZE), i * PAGE_SIZE, PAGE_CACHEABLE, dba);
     67                        map_page_to_frame(i * PAGE_SIZE, i * PAGE_SIZE, PAGE_CACHEABLE, KA2PA(dba));
     68                        map_page_to_frame(PA2KA(i * PAGE_SIZE), i * PAGE_SIZE, PAGE_CACHEABLE, KA2PA(dba));
    6969                }
    7070
     
    113113        pte = (page >> 12) & 0x3ff;     /* page table entry */
    114114       
    115         pd = (struct page_specifier *) dba;
     115        pd = (struct page_specifier *) PA2KA(dba);
    116116       
    117117        if (!pd[pde].present) {
     
    127127        }
    128128       
    129         pt = (struct page_specifier *) (pd[pde].frame_address << 12);
     129        pt = (struct page_specifier *) PA2KA((pd[pde].frame_address << 12));
    130130
    131131        pt[pte].frame_address = frame >> 12;
Note: See TracChangeset for help on using the changeset viewer.