Changeset 9d5e23c in mainline for arch


Ignore:
Timestamp:
2005-12-07T23:52:25Z (20 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ac0cb2a
Parents:
f62355a
Message:

Fixed bug in Intel32/AMD64 boot, that could cause page fault on boot.
Fixes of configuration program.

Location:
arch
Files:
3 edited

Legend:

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

    rf62355a r9d5e23c  
    3636#include <memstr.h>
    3737
    38 __address bootstrap_dba;
     38static __address bootstrap_dba;
    3939
    4040void page_arch_init(void)
     
    6060        }
    6161        else {
    62                 /*
    63                  * Application processors need to create their own view of the
    64                  * virtual address space. Because of that, each AP copies
    65                  * already-initialized paging information from the bootstrap
    66                  * processor and adjusts it to fulfill its needs.
    67                  */
    68 
    69                 dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
    70                 memcpy((void *)dba, (void *)bootstrap_dba , PAGE_SIZE);
    71                 write_cr3(KA2PA(dba));
     62                write_cr3(KA2PA(bootstrap_dba));
    7263        }
    7364}
  • arch/ia32/include/mm/frame.h

    rf62355a r9d5e23c  
    3434#define FRAME_SIZE      4096
    3535
    36 extern __address bootstrap_dba;
    3736extern __address last_frame;
    3837
  • arch/ia32/src/mm/page.c

    rf62355a r9d5e23c  
    4141#include <print.h>
    4242
    43 __address bootstrap_dba;
     43static __address bootstrap_dba;
    4444
    4545void page_arch_init(void)
     
    6464        }
    6565        else {
    66                 /*
    67                  * Application processors need to create their own view of the
    68                  * virtual address space. Because of that, each AP copies
    69                  * already-initialized paging information from the bootstrap
    70                  * processor and adjusts it to fulfill its needs.
    71                  */
    72 
    73                 dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
    74                 memcpy((void *)dba, (void *)bootstrap_dba , PAGE_SIZE);
    75                 write_cr3(KA2PA(dba));
     66                write_cr3(KA2PA(bootstrap_dba));
    7667        }
    7768
Note: See TracChangeset for help on using the changeset viewer.