Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/sparc64/src/main.c

    r5691653 r339249f  
    190190        bootinfo.memmap.zones[0].start += OBP_BIAS;
    191191        bootinfo.memmap.zones[0].size -= OBP_BIAS;
    192         bootinfo.memmap.total -= OBP_BIAS;
    193192}
    194193
     
    205204        bootinfo.physmem_start = ofw_get_physmem_start();
    206205        ofw_memmap(&bootinfo.memmap);
    207 
    208         if (arch == ARCH_SUN4V)
    209                 sun4v_fixups();
    210206       
    211207        void *bootinfo_pa = ofw_translate(&bootinfo);
     
    213209        void *loader_address_pa = ofw_translate((void *) LOADER_ADDRESS);
    214210       
    215         printf("\nMemory statistics (total %" PRIu64 " MB, starting at %p)\n",
    216             bootinfo.memmap.total >> 20, (void *) bootinfo.physmem_start);
    217         printf(" %p|%p: boot info structure\n", &bootinfo, (void *) bootinfo_pa);
    218         printf(" %p|%p: kernel entry point\n",
    219             (void *) KERNEL_ADDRESS, (void *) kernel_address_pa);
    220         printf(" %p|%p: loader entry point\n",
    221             (void *) LOADER_ADDRESS, (void *) loader_address_pa);
     211        printf("\nMemory statistics (total %llu MB, starting at %p)\n",
     212            bootinfo.memmap.total >> 20, bootinfo.physmem_start);
     213        printf(" %p|%p: boot info structure\n", &bootinfo, bootinfo_pa);
     214        printf(" %p|%p: kernel entry point\n", KERNEL_ADDRESS, kernel_address_pa);
     215        printf(" %p|%p: loader entry point\n", LOADER_ADDRESS, loader_address_pa);
    222216       
    223217        size_t i;
    224218        for (i = 0; i < COMPONENTS; i++)
    225                 printf(" %p|%p: %s image (%zu/%zu bytes)\n", components[i].start,
     219                printf(" %p|%p: %s image (%u/%u bytes)\n", components[i].start,
    226220                    ofw_translate(components[i].start), components[i].name,
    227221                    components[i].inflated, components[i].size);
     
    257251               
    258252                /*
    259                  * At this point, we claim and map the physical memory that we
    260                  * are going to use. We should be safe in case of the virtual
     253                 * At this point, we claim the physical memory that we are
     254                 * going to use. We should be safe in case of the virtual
    261255                 * address space because the OpenFirmware, according to its
    262                  * SPARC binding, should restrict its use of virtual memory to
    263                  * addresses from [0xffd00000; 0xffefffff] and [0xfe000000;
    264                  * 0xfeffffff].
     256                 * SPARC binding, should restrict its use of virtual memory
     257                 * to addresses from [0xffd00000; 0xffefffff] and
     258                 * [0xfe000000; 0xfeffffff].
     259                 *
     260                 * We don't map this piece of memory. We simply rely on
     261                 * SILO to have it done for us already in this case.
     262                 *
     263                 * XXX SILO only maps 8 MB for us here. We should improve
     264                 *     this code to be totally independent on the behavior
     265                 *     of SILO.
     266                 *
    265267                 */
    266268                ofw_claim_phys(bootinfo.physmem_start + dest[i - 1],
    267269                    ALIGN_UP(components[i - 1].inflated, PAGE_SIZE));
    268                
    269                 ofw_map(bootinfo.physmem_start + dest[i - 1], dest[i - 1],
    270                     ALIGN_UP(components[i - 1].inflated, PAGE_SIZE), -1);
    271270               
    272271                int err = inflate(components[i - 1].start, components[i - 1].size,
     
    303302                sun4u_smp();
    304303       
     304        if (arch == ARCH_SUN4V)
     305                sun4v_fixups();
     306       
    305307        printf("Booting the kernel ...\n");
    306308        jump_to_kernel(bootinfo.physmem_start | BSP_PROCESSOR, &bootinfo, subarch,
Note: See TracChangeset for help on using the changeset viewer.