Changeset a9ac978 in mainline for kernel/arch/sparc64/src/mm/frame.c


Ignore:
Timestamp:
2006-09-27T20:11:34Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
00b38a3
Parents:
86b31ba9
Message:

SMP stuff for sparc64.
Almost complete except for IPIs.
The absence of IPI support deadlocks
the kernel when more CPUs are configured.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/mm/frame.c

    r86b31ba9 ra9ac978  
    5454        pfn_t confdata;
    5555
    56         for (i = 0; i < bootinfo.memmap.count; i++) {
    57                 uintptr_t start = bootinfo.memmap.zones[i].start;
    58                 size_t size = bootinfo.memmap.zones[i].size;
     56        if (config.cpu_active == 1) {
     57                for (i = 0; i < bootinfo.memmap.count; i++) {
     58                        uintptr_t start = bootinfo.memmap.zones[i].start;
     59                        size_t size = bootinfo.memmap.zones[i].size;
    5960
    60                 /*
    61                 * The memmap is created by HelenOS boot loader.
    62                 * It already contains no holes.
    63                 */
     61                        /*
     62                        * The memmap is created by HelenOS boot loader.
     63                        * It already contains no holes.
     64                        */
    6465       
    65                 confdata = ADDR2PFN(start);
    66                 if (confdata == 0)
    67                         confdata = 2;
    68                 zone_create(ADDR2PFN(start), SIZE2FRAMES(ALIGN_DOWN(size, FRAME_SIZE)), confdata, 0);
     66                        confdata = ADDR2PFN(start);
     67                        if (confdata == 0)
     68                                confdata = 2;
     69                        zone_create(ADDR2PFN(start), SIZE2FRAMES(ALIGN_DOWN(size, FRAME_SIZE)), confdata, 0);
    6970               
    70                 last_frame = max(last_frame, start + ALIGN_UP(size, FRAME_SIZE));
     71                        last_frame = max(last_frame, start + ALIGN_UP(size, FRAME_SIZE));
     72                }
    7173        }
    7274
Note: See TracChangeset for help on using the changeset viewer.